计算机二级C习题册.docx
- 文档编号:5029836
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:112
- 大小:133.50KB
计算机二级C习题册.docx
《计算机二级C习题册.docx》由会员分享,可在线阅读,更多相关《计算机二级C习题册.docx(112页珍藏版)》请在冰豆网上搜索。
计算机二级C习题册
第一部分:
选择题(40分,2分/小题)
第一章程序设计概述第二章C语言概述
1、下面关于C语言的叙述中,正确的是()
A.每行只能写一条语句B.程序中必须包含有输入语句
C.main函数必须位于文件的开头D.每条语句最后必须有一个分号
2、下面关于C语言的叙述中,错误的是()
A.若一条语句较长,也可分写在下一行上B.构成C语言源程序的基本单位是表达式
C.C语言源程序中大、小写字母是有区别的D.一个C语言源程序可由一个或多个函数组成
3、下面叙述错误的是()
A.所有语句都必须以分号";"结束B.语句是构成C语言源程序的基本单位
C.C语言源程序必须包含一个main()函数D.注释部分在程序编译和运行时不起作用
4、C程序中main函数的位置()
A.必须位于程序文件的最前面B.必须在系统库函数后面
C.可以在自定义函数后面D.必须位于程序文件的最后面
5、C语言的函数体由()括起来
A.()B.{}C.[]D./**/
6、关于C语言的叙述中,不正确的是()
A.C程序可由一个或多个函数组成B.C程序必须包含一个main()函数
C.C程序的基本组成单位是函数D.注释说明只能位于一条语句的后面
7、一个程序的执行是从()
A.本程序的第一个函数开始,到最后一个函数结束
B.本程序的main函数开始,到main函数结束
C.本程序的main函数开始,到最后一个函数结束
D.本程序的第一个函数开始,到main函数结束
8、结构化程序设计的三种基本结构是()
A.函数结构、分支结构、判断结构B.函数结构、嵌套结构、平行结构
C.顺序结构、分支结构、循环结构D.分支结构、循环结构、嵌套结构
9、调试程序是指对程序进行()
A.编辑B.编译C.查错和排错D.连接
10、C语言中,复合语句的构成是将一系列语句置于()
A.begin与end之间B.一对圆括号“()”之间
C.一对花括号“{}”之间D.一对方括号“[]”之间
11、构成C语言源程序的基本单位是()
A.语句B.过程C.表达式D.函数
12、以下叙述正确的是()。
A.注释部分可单独占用一行,也可跟在语句的后面B.函数体定界符也可用一对方括号"[]"
C.C语言源程序每一行就是一条语句
D.由于C语言源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面
13、()是结构化程序设计应遵循的原则。
A.选用的控制结构可有多个入口和一个出口
B.不可使用嵌套基本控制结构表示复杂程序逻辑
C.应使用顺序、选择、循环三种基本控制结构表示程序逻辑
D.为提高程序效率,应尽量使用goto语句
14、描述一个算法可以有不同的方式,常见的有()。
A.汇编语言、高级语言和低级语言B.自然语言、流程图和伪代码
C.机器语言、汇编语言和高级语言D.高级语言、自然语言和伪代码
15、C源程序的编译是指对源程序()
A.进行录入与编辑B.生成以二进制代码形式表示的目标程序
C.进行查错与解释D.进行连接与运行
第三章数据类型、运算符与表达式
1、在C语言中,正确的用户标识符是()
A.3fB._forC.structD._f.5
2、C语言的基本数据类型包括()
A.整型、实型、字符型B.整型、实型、字符型、逻辑型
C.整型、字符型、逻辑型D.整型、实型、逻辑型
3、以下()是正确的常量
A.E-5B.1E5.1C.‘a12’D.32766L
4、以下()是正确的变量名
A.a.beeB.–p11C.intD.p_11
5、以下()是正确的字符常量
A.“c”B.‘//”C.‘W’D.“\32a”
6、以下()是不正确的字符串常量
A.‘abc’B.“12’12”C.“0”D.““
7、C语言的整型数据在内存中的存储形式是()
A.原码B.反码C.补码D.ASCII码
8、以下()是正确的浮点数
A.e3B..62C.2e4.5D.123
9、下列不属于C语言关键字的是()
A.continueB.integerC.staticD.signed
10、C语言的字符型数据在内存中的存储形式是()
A.原码B.补码C.反码D.ASCII
11、在C语言中,变量所分配的内存空间大小是()
A.由变量的类型决定B.由用户自己决定C.任意的D.均为两个字节
12、关于C语言数据类型,叙述正确的是()
A.变量使用前应定义相应的数据类型B.不允许使用空类型
C.指针类型属于基本类型D.结构类型并不是构造类型
13、TurboC中,基本数据类型存储空间长度的排列顺序是()
A.char C.char 14、若有定义: inta=2;则正确的赋值表达式是() A.a-=(a*3)B.double(-1)C.a*3D.a*4=3 15、语句x=(a=3,b=++a);运行后,x、a、b的值依次为() A.3,3,4B.4,4,3C.4,4,4D.3,4,3 16、语句a=(3/4)+3%2;运行后,a的值为() A.0B.1C.2D.3 17、以下四项中,符合C语言语法的语句是() A.inta+b=c;B.inta=12: b=12: c=12; C.inta=12,b=12,c=12;D.inta,b=12,floatc=21 18、若有定义: intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为() A.3,3B.4,4C.4,3D.3,4 19、若变量已正确定义并赋值,符合C语言语法的表达式是() A.a=8+b+c,a++B.a=3aC.int(12.3%4)D.a=a+1=c+b 20、若有定义: inta,b;doublex;则以下不符合C语言语法的表达式是() A.x%(-3)B.a+=-1C.a=b=2D.x=a+b 21、若有定义: intx=2,y=3;floati;则以下符合C语言语法的表达式是() A.x=x*3=2B.x=(y==1)C.i=float(x)D.i%(-3) 22、若有定义: intx;则语句x=(2*3)+6%5;运行后,x的值是() A.8B.7C.6D.5 23、下面关于C语言变量的叙述中,错误的是() A.可以用const关键字定义变量B.在C程序中,SUM和sum是不同的变量 C.变量名必须由字母或下划线组成D.变量的类型确定了变量的取值范围 24、若有定义: intx=5,y=6;则表达式x=(y==6)的值为() A.5B.1C.6D.0 25、下面叙述正确的是() A.2/3与2.0/3.0等价B.(int)2.0/3与2/3等价 C.++5与6等价D.‘A’与”A”等价 26、下面叙述中,错误的是() A.C语言基本的算术运算符不包含模运算符”%” B.算术运算符的优先级高于关系运算符 C.自加和自减运算符的结合方向是”自右向左” D.C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行 27、下面叙述正确的是() A.强制类型转换运算的优先级高于算术运算B.若a和b是整型变量,(a+b)++是合法的 C.‘A’*’B’是不合法的D.“A”+”B”是合法的 28、若有定义: inti=1,j=5;则表达式(++j)*(i--)的值为() A.1B.0C.6D.7 29、设整型变量a为5,使b不为2的表达式是() A.b=(++a)/3B.b=6-(--a)C.b=a%2D.b=a/2 30、若有定义: inta=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为() A.1B.0C.2D.3 31、若有定义: inti,j;则表达式(i=2,j=5,i++,i+j++)的值是() A.7B.8C.9D.10 32、若有定义: inta,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是() A.7B.8C.9D.10 33、若有定义: inti=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为() A.8B.6C.7D.5 34、若已定义: inti=3,k;则语句k=(i--)+(i--);运行后k的值为() A.4B.5C.6D.7 35、若已定义: longinti;charc;doublex;则表达式i*c+(int)x结果的类型是()。 A.intB.charC.doubleD.longint 36、若已定义: floatm;拟从键盘输入135.78这一数据给变量m,则应选用的语句是() A.scanf(“%5.2f”,&m);B.scanf(“%3.2f”,&m);C.scanf(“%6.2f”,&m);D.scanf(“%6f”,&m); 37、已知doublea;使用scanf()函数输入一个数值给变量a,正确的函数调用是() A.scanf(“%ld”,&a);B.scanf(“%lf”,&a);C.scanf(“%c”,&a);D.scanf(“%u”,&a); 338、已知chara;使用scanf()函数输入一个字符给变量a,不正确的函数调用是() A.scanf(“%d”,&a);B.scanf(“%lf”,&a);C.scanf(“%c”,&a);D.scanf(“%u”,&a); 39、putchar()函数的功能是向终端输出() A.多个字符B.一个字符C.一个实型变量值D.一个整型变量表达式 40、以下程序段运行后的输出结果是() intk=11; printf(“k=%d,k=%o,k=%x\n”,k,k,k); A.k=11,k=13,k=cB.k=11,k=12,k=13C.k=11,k=13,k=bD.k=11,k=13,k=a 41、若有定义: intx=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为() A.123412312B.12341234123412341231231231212 C.1234+1234+1234D.1234+123+12 42、已有如下定义和输入语句, inta;charc1,c2; scanf("%d%c%c",&a,&c1,&c2); 若要求a、c1、c2的值分别为10、A和B,正确的数据输入是() A.10ABB.10ABC.10ABD.10AB 43、以下程序段的运行结果是() inta=0,b=0,c=0; if(a&&++b) c++; printf(“%d,%d\n”,b,c); A.0,0B.1,2C.2,2D.1,0 44、以下程序的运行结果是() voidmain() { inta=65; charc=’A’; printf(“%x,%d”,a,c); } A.65,aB.41,aC.65,65D.41,65 45、下列叙述正确的是() A.表达式"3"+"4"的结果是"34" B.若已定义: inta,b;,则表达式(a+b)++是进行a+b之和的自增1运算 C.强制类型转换运算的优先级高于算术运算D.表达式'3'+'4'的结果是'7' 46、要使用以下程序段给三个整变量x1,x2,x2分别赋值1,2,3,正确的数据输入格式是()intx1,x2,x3;scanf("%d,%d,%d",&x1,&x2,&x3); A.123B.1,2,3C.123D.123 47、若有下列语句段: charchr;inta;scanf("%c%d",&chr,&a);拟从键盘将'B'和6分别赋予变量chr和a,正确的数据输入是()。 A.B6B.B,6C.6BD.6,B 48、在C语言中,判定逻辑值为“真“的最正确的叙述是() A.1B.非0的数C.大于0的数D.非0的整数 49、下列程序段的运行结果是()。 inta=66;charc='A';printf("%c+%c=%d\n",c,a,c+a);(注: 字母'A'的ASCII值为65) A.65+B=131B.A+66=131C.65+66=131D.A+B=131 50、能正确表示数学关系式800>=y>=500的C语言表达式为() A.(y<=800)&&(y>=500)B.(y<=800)AND(y>=500) C.800>=y>=500D.(y<=800)&(y>=500) 51、若有定义: intx=3,y=4;则表达式! x||y的值为() A.1B.0C.3D.4 52、若有定义: inti=7,j=8;则表达式i>=j||i A.1B.变量i的值C.0D.变量j的值 53、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。 则不能满足要求的表达式是() A.a%2==1B.! (a%2==0)C.! (a%2)D.a%2 54、若有定义: intx=3,y=4,z=5;则值为0的表达式是() A.‘x’&&yB.x<=y C.x||y+z&&y-zD.! ((x z||1) 55、若已定义: inta=1,b=2,c=2;则表达式(a+b)/1.0/c的值是()。 A.1.5B.1C.0.0D.1.0 56、C语言中,能正确表示条件10 A.10 57、以下运算符中优先级最低的是() A.< 58、已知doublea=5.2;则正确的赋值表达式是() A.a+=a-=(a=4)*(a=3)B.a=a*3=2 C.a%3D.a=double(-2) 59、已知chara='R';则正确的赋值表达式是() A.a=(a++)%4B.a+2=3C.a+=256--D.a=’\078’ 60、已知inta=’R’;则正确的表达式是() A.a%10B.a=int(3e2)C.2*a=a++D.a=a+a=a+3 61、设有语句floatx=3.0,y=3.0;使x值为6.0的表达式是() A.x*=y-4B.x*=yC.x=y+4D.x+=y 62、若有定义: floatx=3.5,intz=8;则表达式x+z%3/4的值为() A.3。 75B.3.5C.3D.4 63、若已定义: intx,y;则下列不能正确表示数学关系式|x-y|>5的表达式是() A.(x-y)>5||(x-y)<-5B.abs(x-y)>5C.(x-y)<-5&&(x-y)>5D.(x-y)*(x-y)>25 64、若有定义: inta=2,b=3;floatx=3.5,y=2.5; 则表达式(float)(a+b)/2+(int)x%(int)y的值是() A.3.5B.3.0C.2.5D.2.0 65、若有定义: intb=7;floata=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是() A.2.5B.3.5C.4.5D.5.5 66、以下程序的运行结果是() #defineM(a,b)a*b main() { intx=3,y=2,s1,s2; s1=M(x+y,x-y); s2=M(x-y,x+y); printf("%d,%d\n",s1,s2); } A.-1,7B.5,5C.7,-1D.5,-5 67、以下叙述中,正确的是() A.“#definePRICE=30”定义了与30等价的符号常量PRICE B.预编译处理命令行都必须以“#”开头 C.程序中使用带参的宏时,参数类型要与宏定义时一致 D.宏名只能包含大写字母和数字字符 68、以下叙述中,正确的是() A.宏展开不占用运行空间,只占用编译时间 B.预编译处理命令行必须以分号结束 C.一个源程序只能有一个预编译处理命令行 D.使用带参数的宏定义时,应该说明每个参数的数据类型 69、以下的叙述中不正确的是() A.宏展开不占用运行时间,只占用编译时间B.宏名无类型 C.宏名必须用大写字母表示D.预处理命令行都必须以#号开始 70、以下程序运行后,屏幕输出为() #defineMIN(a,b)((a)<(b)? (a): (b)) main() { intx=2,y=3,z; z=2*MIN(x,y); printf("%d",z); } A.2B.3C.4D.6 71、下列#include命令中,正确的是() A.#inclue[string.h]B.#include{string.h} C.#include(string.h)D.#include 72、下面程序的输出结果是() #include #defineONE1 #defineTWOONE+1 #defineTHREETWO+1 voidmain() { printf("%d\n",THREE-ONE); } A.产生错误B.1C.2D.3 73、下列叙述错误的是()。 A.预处理命令行都必须以#号开始 B.#definePER1.5的作用是用标识符PER代表1.5 C.C语言源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 D.宏定义可出现在源程序中任意合适的位置,且必须在行末加分号 74、以下程序的运行结果是() #defineADD(x)x+x main() { intm=1,n=2,k; k=ADD(m+n)*3; printf("%d",k); } A.9B.10C.12D.18 75、下面程序的运行结果是() #defineM10 #defineS(x)x*x #defineF(x)(x*x) main() { intn1,n2; n1=1000/S(M); n2=1000/F(M); printf("%d,%d\n",n1,n2); } A.10,10B.1000,10C.10,1000D.1000,1000 76.在对无符号数的位运算中,操作数左移一位相当于()。 A.操作数除以2B.操作数乘以2C.操作数除以4D.操作数乘以4 77.若有定义: inta=20,b=28,c;则执行语句c=(a^b)<<2;后c的值为()。 A.2B.5C.32D.92 78.若有定义: inta=5,b=7,c;则执行语句c=a&b;后c的值为()。 A.12B.2C.6D.5 79.下面程序段的运行结果是()。 inta=5,b=6; printf("%d",a|b); A.5B.6C.7D.8 80、以下程序段运行后,c的二进制值是()。 inta=2,b=3,c=10;c>>=a|b; A.00000001B.00000010C.00101000D.01010000 第四章程序控制结构 1、下列程序段的运行结果是()。 inta=6,b=5; if(a>b++)printf("True: %d\n",++a); elseprintf("False: %d\n",b++); A.True: 7B.False: 6C.False: 5D.True: 6 2、若已定义inta,b,c,k;下列程序段与语句k=(a>b? (a>c? 1: 0): 0);功能等价的是()。 A.if((a>b)&&(a>c))k=1;elsek=0; B.if((a>b)||(a>c))k=1;elsek=0; C.if(a>b)k=0;elseif(a>c)k=1;elsek=0; D.if(a>c)k=1;elseif(a>b)k=0;elsek=0; 3、下列程序段的运行结果是()。 intx;if(x=3)printf("%d\n",x++); elseif(x>3)printf("%d\n",x+2); elseprintf("%d\n",x+3); A.4B.5C.6D.3 4、下列()不能当作一条语句。 A.if(k>0)m=1;elsen=2;B.m=1,n=2,k=3;C.if(k>0);D.if(k==0)m=1;n=2; 5、以下程序段运行时,若从键盘输入10,则输出结果是() inta; scanf(“%d”,&a); if(a++>10) printf(“%d\n”,a); else printf(“%d\n”,++a); A.2B.11C.3D.12 6、以下程序的运行结果是() voidmain() { intx,y=1,z; z=-1; if(z==0) z=-z; else x=y>0? 3: 5; printf(“%d\n”,x); } A.-1B.3C.1D.5 7、对于整型变量x,下属if语句()与赋值语句: x=x%2==0? 1: 0;不等价。 A.if(x%2! =0)x=0;elsex=1;B.if(x%2)x=1;elsex=0; C.if(x%2==0)x=1;elsex=0;D.if(x%2==1)x=0;elsex=1; 8、以下程序段运行的结果是() inta,b,c,x; a=b=c=0;x=15; if(! a)x--; elseif(b); if(c)x=3;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 习题