C语言二级题库.docx
- 文档编号:16532724
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:141
- 大小:95.25KB
C语言二级题库.docx
《C语言二级题库.docx》由会员分享,可在线阅读,更多相关《C语言二级题库.docx(141页珍藏版)》请在冰点文库上搜索。
C语言二级题库
第一章C语言概述
一单项选择题
1.一个C程序的执行是从()。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序的main函数结束
2.以下叙述正确的是()。
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是()。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
4.C语言规定,在一个源程序中,main函数的位置()。
A)必须在最开始B)必须在系统调用的库函数的后面
C)可以任意D)必须在最后
5.一个C语言源程序是由()。
A)一个主程序和若干子程序组成B)函数组成
C)若干过程组成D)若干子程序组成
二填空题
1.C源程序的基本单位是函数。
2.一个C源程序中至少应包括一个main函数。
3.在一个C源程序中,注释部分两侧的分界符分别为/*和*/。
4.一个函数是由两部分组成的,它们分别是函数首部和函数体。
5.在C语言中,一个函数的函数体一般包括声明部分和执行部分。
6.在每个C语句和数据定义的最后必须有一个;。
7.C语言本身没有输入输出语句。
其输入输出是由函数来完成。
8.程序是指一组能使计算机识别和执行的指令,每一个指令都使计算机能够执行相应的操作。
9.源程序是指用高级语言编写的程序。
C源程序文件的扩展名为.c。
10.目标程序是指计算机不能识别和执行高级语言程序,只能通过高编译系统将高级语言程序转化为二进制的目标程序。
目标程序文件的扩展名为.obj。
11.可执行程序是指将目标函数和系统的函数库以及其它目标函数链接起来行程可执行程序。
可执行程序文件的扩展名为.exe。
12.上机运行一个C源程序的步骤一般为:
①输入和编辑源程序;
②编译源程序;③连接库函数;④生成可执行程序。
第三章数据类型、运算符与表达式
一单项选择题
1.下面四个选项中,均不是c语言关键字的选项是()。
A)define IF Type B)getc char printf
C)include scanf case D)while go pow
2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符
3.下列四个选项中,均是C语言关键字的选项是()。
A)autoenuminclude B)switchtypedefcontinue
C)signedunionscanf D)ifstructtype
4.下面四个选项中,均是不合法的用户标识符的选项是()。
A)AP_0do B)floatla0_A
C)b-agotoint D)_123tempint
5.以下有4组用户标识符,其中合法的一组是()。
A)For-subCase B)4dDOSize
C)f2_G3IFabc D)WORDvoiddefine
6.下列选项中,合法的C语言关键字是()。
A)VAR B)cher C)integer D)default
7.下面四个选项中,均是合法整型常量的选项是()。
A)160-0xffff011 B)-0xcdf01a0xe
C)–019860120668 D)-0x48a0x2e50xe
8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。
A)-100x8f-011 B)0abc-0170xc
C)010-0x110xf1 D)0a12-0x123-0xa
9.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()。
A)0~255 B)0~32767 C)0~65535 D)0~2147483647
10.在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAF(11101111=128+64+32+8+4+2+1)
11.下面四个选项中,均是不合法的整型常量的选项是()。
A)-0f1-0xffff0011 B)-0xcdf01712456
C)-0189995e2 D)-0x48eg-06803f
12.下面四个选项中,均是不合法的浮点数的选项是()。
A)160.0.12e3 B)1232e4.2.e5
C)-.18123e40.0 D)-e3.2341e3
13.下面四个选项中,均是合法的浮点数的选项是()。
A)+1e+15e-9.403e2 B)-.6012e-4-8e5
C)123e1.2e-.4+2e-1 D)-e3.8e-45.e-0
14.下列变量定义中合法的是()。
A)short_a=1-.le-1; B)doubleb=1+5e2.5;
C)longdo=0xfdaL; D)float2_and=1-e-3;
15.以下选项中合法的字符常量是()。
A)“B” B)‘\010’ C)68 D)D
16.以下选项中,非法的字符常量是()。
A)'\t' B)'\17' C)"n" D)'\xaa'
17.以下所列的C语言常量中,错误的是()。
A)0xFF B)1.2e0.5 C)2L D)‘\72’
18.在C语言中,char型数据在内存中的存储形式是()。
A)补码 B)反码 C)原码 D)ASCII码
19.下面四个选项中,均是合法转义字符的选项是()。
A)‘\’’‘\\’‘\n’ B)‘\’‘\017’‘\”’
C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’
20.下面四个选项中,均是不合法的转义字符的选项是()。
A)‘\””’‘\\’‘\xf’ B)‘\1011’‘\’‘\a’
C)‘\011’‘\f’‘\}’ D)‘\abc’‘\101’‘xlf’
21.下面正确的字符常量是()。
A)“c” B)‘\\’’ C)‘W’ D)‘’
22.下面四个选项中,均是正确的数值常量或字符常量的选项是()。
A)0.00f8.9e‘&’ B)‘a’3.9e-2.51e1‘\’’
C)‘3’0110xff000a D)+0010xabcd2e250.
23.下面不正确的字符串常量是()
A)‘abc’ B)”1212” C)”0” D)””
24.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为()。
A)char B)char=int C)char D)char=int=longint<=float 25.若有说明语句: charc='\72';则变量c()。 A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定 26.设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为()。 A)int B)float C)double D)不确定 27.表达式18/4*sqrt(4.0)/8值的数据类型为()。 A)int B)float C)double D)不确定 28.设有说明: char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()。 A)float B)char C)int D)double 29.以下选项中属于C语言的数据类型是()。 A)复数型 B)逻辑型 C)双精度型 D)集合型 30.以下程序的输出结果是 main() { charc=‘z'; printf(“%c”,c-25); } A)a B)Z C)z-25 D)y 31.若有定义: int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。 A)2.500000 B)2.750000 C)3.500000 D)0.000000 32.若有代数式3ae/bc,则不正确的c语言表达式是()。 A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 33.设有int x=11;则表达式(x++*1/3)的值是()。 A)3 B)4 C)11 D)12 34.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C语言表达式是()。 A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z 35.C语言中运算对象必须是整型的运算符是()。 A)%= B)/ C)= D)<= 36.下列程序的输出结果是()。 main() { doubled=3.2;intx,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); } A)3 B)3.2 C)0 D)3.07 37.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为()。 A)4 B)16 C)32 D)52 38.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A)7 B)8 C)6 D)2 39.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。 A)3.500000 B)3 C)2.000000 D)3.000000 40.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为()。 A)7 B)8 C)9 D)10 41.若有定义intk=7,x=12;,则以下能使值为3的表达式是()。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 42.设以下变量均为int类型,则值不等于7的表达式是()。 A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1) C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1) 43.下列程序执行后的输出结果是()。 main() { intx=‘f’; printf(“%c\n”,‘A’+(x-‘a’+1)); } A)G B)H C)I D)J 44.下列程序执行后的输出结果是()。 main() {charx=0xFFFF;printf("%d\n",x--);} A)–32767 B)FFFE C)-1 D)–32768 45.以下程序的输出结果是()。 main() {inta=3; printf("%d\n",(a+=a-=a*a)); } A)-6 B)12 C)0 D)–12 46.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。 A)a: =b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b 47.若有以下程序段, intc1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是()。 A)0 B)0.5 C)1 D)2 48.有如下程序 main() {inty=3,x=3,z=1; printf(“%d%d\n”,(++x,y++),z+2); } 运行该程序的输出结果是()。 A)34 B)42 C)43 D)33 49.已知大写字母A的ASCII码为65,以下程序的运行结果为()。 #include main() { charc1=‘A’,c2=‘Y’; printf(“%d,%d\n”,c1,c2); } A)65,89 B)A,Y C)65,88 D)65,90 50.以下程序的输出结果是()。 #include main() { inta=010,b=10; printf(“%d,%d\n”,a++,--b); } A)10,10 B)8,10 C)10,9 D)8,9 51.以下程序的输出结果是()。 main() { inta,b; a=100;b=200; printf(“%d\n”,(a,b)); } A)100 B)200 C)20000 D)100=200 52.执行语句y=10;x=y++;的结果是()。 A)x=10,y=10 B)x=11,y=11 C)x=10,y=11 D)x=11,y=10 53.在表示C语言的整型变量时,表示“无符号长整型”的符号是()。 A)unsignedint B)unsignedshort C)longint D)unsignedlong 54.在下列形式的常数中,C程序不允许出现的是()。 A).45 B)±123 C)25.6e-2 D)4e3 55.以下程序的输出结果是()。 main() {floatx=3.6; inti; i=(int)x; printf(“x=%f,i=%d”,x,i); } A)x=3.600000,i=4 B)x=3,i=3 C)x=3.600000,i=3 D)x=3.000000,i=3.600000 56.在C语言中,要求运算数必须是整型数据的运算符是()。 A)/ B)% C)! D)< 57.执行下列语句的结果是()。 i=3; printf(“%d,”,++i); printf(“%d”,i++); A)3,3 B)3,4 C)4,3 D)4,4 58.已知x=3,y=2,则表达式x*=y+8的值为()。 A)3 B)2 C)30 D)14 59.执行语句inti=65536;printf(“%d\n”,i);的结果是()。 A)65536 B)0 C)有语法错误,无输出结果 D)-1 60.在C语言中,不正确的int类型的常数是()。 A)32768 B)0 C)037 D)0xAF 61.C语言提供的合法关键字是()。 A)swicth B)chan C)Case D)default 62.表示“在使用x之前,先使x的值加1”的正确方式是()。 A)++x B)x++ C)+x D)+x+ 63.设x的值为5,则表达式(++x)+(++x)+(++x)的值是()。 A)24 B)20 C)15 D)21 64.在C语言中,合法的字符常量是()。 A)‘\084’ B)‘\x43’ (十六进制) C)‘ab’ D)“\0” 65.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是()。 A)1 B)2 C)2.0 D)2.6 66.若t为double类型,表达式t=1,t+5,t++的值是()。 A)1 B)6.0 C)2.0 D)1.0 67.若有以下定义和语句,则输出结果是()。 charc1=‘b’,c2=‘e’; printf(“%d,%c\n”,c2-c1,c2-’a’+’A’); A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 68.设有如下的变量定义: inti=8,a,b; doublex=1.42,y=5.2; 则以下符合C语言语法的表达式是()。 A)a+=a-=(b=4)*(a=3) B)x%(-3) C)a=a*3=2 D)y=float(i) 69.若有以下定义和语句: intu=010,v=0x10,w=10; printf(“%d,%d,%d\n”,u,v,w);() 则输出结果是()。 A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10 二填空题 1.若x和a均是int型变量,则计算表达式 (1)后的x值为12,计算表达式 (2)后的x值为4。 (1)x=(a=4,6*2) (2)x=a=4,6*2 2.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为26。 3.若b是int型变量,则表达式b=25/3%3的值为2。 4.若s是int型变量,且s=6则下面表达式s%2+(s+1)%2的值为1。 5.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为6,b值为4,c值为2。 6.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为10,n的值为6。 7.若有定义: intb=7;floata=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为5.5。 8.若有定义: inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为3.5。 9.若有定义: intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为1。 10.若x和n均是整型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0。 11.以下程序的输出结果是0。 main() {unsignedshorta=65536;intb; printf(“%d\n”,b=a);} 12.请写出数学式a/bc的C语言表达式a/(b*c)。 13.设a、b、c为整型数,且a=2、b=3、c=4,则执行完语句a*=16+(b++)-(++c)后,a的值是28。 第四章最简单的C程序设计——顺序程序设计 一单项选择题 1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。 A)从左起输出该字符串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 2.已有定义inta=-2;和输出语句printf(“%8x”,a);以下正确的叙述是()。 A)整型变量的输出形式只有%d一种 B)%x是格式符的一种,它可以适用于任何一种类型的数据 C)%x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的 D)%8x不是错误的格式符,其中数字8规定了输出字段的宽度 3.若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是 ()。 A)scanf(“%d%x,%le”,&x,&y,&z); B)scanf(“%2d*%d,%lf”,&x,&y,&z); C)scanf(“%x%*d%o”,&x,&y); D)scanf(“%x%o%6.2f”,&x,&y,&z);(双精度型用%le,或者%lf) 4.以下程序的输出结果是()。 main() {intk=17; printf("%d,%o,%x\n",k,k,k); } A)17,021,0x11 B)17,17,17 B)17,0x11,021 D)17,21,11 5.下列程序的运行结果是()。 #include main() {inta=2,c=5; printf("a=%d,b=%d\n",a,c); } A)a=%2,b=%5 B)a=2,b=5 C)a=d,b=d D)a=2,c=5 6.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是()。 (说明: '\b'是退格符) A)a\bre\'hi\'y\\\bou B)a\bre\'hi\'y\bou C)re'hi'you D)abre'hi'y\bou 7.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。 A)INPUTx、y、z; B)scanf("%d%d%d",&x,&y,&z); C)scanf("%d%d%d",x,y,z); D)read("%d%d%d",&x,&y,&z); 8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 二级 题库