C选择题.doc_第1页
C选择题.doc_第2页
C选择题.doc_第3页
C选择题.doc_第4页
C选择题.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机等级考试习题集(二级C语言)2015年10月26日第一部分:选择题(每题2分,20题/套,共40分)一、概述1. 在语言中,合法的字符常量是( D )。A. 字B. AC. ABCD. x412. 下面叙述正确的是( A )。A. 程序中必须包含有输入语句B. 变量按所定义的类型存放数据C. main函数必须位于文件的开头D. 每行只能写一条语句3. 错误的叙述是( D )。A. 一个C语言源程序可由一个或多个函数组成B. 若一条语句较长,也可分写在下一行上C. C程序必须包含一个main( )函数D. 构成C语言源程序的基本单元是算术表达式4. ( A )是关于C语言数据类型的正确叙述。A. 变量必须先定义后使用B. 不允许使用空类型C. 枚举类型不是基本类型D. 数组并不是构造类型5. main( )函数的位置( B )。A. 必须在自定义函数前面B. 可以在自定义函数后面C. 必须位于程序的最前面D. 必须在自定义函数后面6. C语言函数体由( C )括起来。A. B. ( )C. D. 7. ( A )是不正确的叙述。A. 注释说明只能位于一条语句的后面B. C源程序的基本组成单元是函数C. C源程序可由一个或多个函数组成D. 每条语句最后必须有一个分号8. 一个C语言源程序是由( B )。A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成9. 结构化程序设计的三种基本结构是( C )。A. 函数结构、判断结构、选择结构B. 平行结构、嵌套结构、函数结构C. 顺序结构、选择结构、循环结构D. 判断结构、嵌套结构、循环结构10. C源程序的调试是指对源程序进行( C )。A. 录入与编辑B. 查错与编译C. 查错与排错D. 连接与运行11. C语言中,可将一系列语句置于( C )从而构成复合语句。A. 一对尖括号之间B. 一对圆括号( )之间C. 一对花括号 之间D. 一对方框号 之间12. 构成C源程序的基本单位是( D )。A. 语句B. 变量C. 运算符D. 函数13. 以下叙述中正确的是( A )。A. C源程序中注释部分可以出现在程序中任意合适的地方B. 一对花括号 只能作为函数体的定界符C. C源程序编译时注释部分的错误将被发现D. 构成C源程序的基本单位是函数,所有函数名都可以由用户命名二、语法基础14. C语言的下列运算符中,优先级最高的运算符是( A )。A. +B. +=C. |D. !=15. ( D )为正确的用户标识符。A. StructB. 5fC. _f0.6D. _for16. C语言基本数据类型包括( B )。A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、字符串型17. ( A )为合法的常量。A. 52686LB. E-7C. 1.2E-2.1D. E1218. ( C )为正确的变量名。A. -k15B. IntC. k_5D. k.jeep19. ( D )为正确的字符常量。A. B. 24mC. cD. M20. ( C )为非法的字符串常量。A. B. sC. efgD. 266221. C语言整型数据在内存中的代码是用( C )表示的。A. 原码B. 反码C. 补码D. BCD码22. 以下选项中,合法的实型常数是( B )。A. E-3B. .2E1C. 1E.5D. 1.5E23. 下列C语言合法的数据类型关键字是( B )。A. DoubleB. UnsignedC. IntegerD. Char24. Turbo C中,int型数据占用的字节数( B )。A. 由用户自己定义B. 为2个字节C. 是任意的D. 等于所用计算机的字长25. Turbo C中,基本数据类型存储空间长度的排列顺序是( A )。A. charintlong intfloatdoubleB. char=intlong intfloatdoubleC. charintlong int=float=doubleD. char=int=long intfloat5) printf(%dn,a); else printf(%dn,a-);A. 7B. 4C. 5D. 654. 若已定义 float x; 要从键盘输入数据36.582给变量x,则应选用( B )语句。A. scanf(%2.3f,&x) ;B. scanf(%6f,&x) ;C. scanf(%6.3f,&x) ;D. scanf(%5.3f,&x) ;55. 若已定义 double y; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( C )。A. scanf(%d,&y) ;B. scanf(%7.2f,&y) ;C. scanf(%lf,&y) ;D. scanf(%ld,&y) ;56. 已有定义 char s; 使用scanf( )函数输入一个字符给变量s,不正确的函数调用是( D )。A. scanf(%c,&s) ;B. scanf(%d,&s) ;C. scanf(%u,&s) ;D. scanf(%lf,&s) ;57. 函数putchar( ) 的功能是向终端输出( A )。A. 一个字符B. 多个字符C. 一个关系表达式D. 一个实型变量值58. 若已定义 int a=11; 执行以下语句后的输出结果是( B )。 printf(a=%d,a=%o,a=%xn,a,a,a) ;A. a=11, a=11, a=bB. a=11, a=13, a=b C. a=11, a=13, a=cD. a=11, a=12, a=1359. 若有定义 int m=4321,n=123,k=21; 语句printf(%4d+%3d+%2d,m,n,k); 执行后的输出结果是( C )。A. 4321432143211231231232121B. 432112321C. 4321+123+21D. 432+123+02160. 已有如下定义和输入语句,char c1,c2;int x; scanf(%c%d%c,&c1,&x,&c2);若要求x、c1、c2的值分别为9、K和H,正确的数据输入是( A )。A. K9HB. K 9 HC. K9 HD. 9KH61. 以下程序段的运行结果是( A )。int a=1; printf(%d, %d, %dn, a, +a, a+);A. 3,3,1B. 1, 2, 2C. 1, 2, 3D. 3, 2, 1 62. 以下程序的运行结果是( D )。void main() int a=65; char c=A; printf(%d+%c=%dn,a,c,a+c);A. A+A=AAB. 65+A=65AC. 65+65=130D. 65+A=13063. 若已定义:int x=7;float y=7.0; 以下语句中能输出正确值的是( B )。A. printf(%d %d,x,y);B. printf(%d %.3f,x,y);C. printf(%.3f %.3f,x,y);D. printf(%.3f %d,x,y);64. putchar函数可以向终端输出一个( A )。A. 字符或字符型变量值B. 整型变量表达式值C. 实型变量值D. 字符串65. 若已定义:int a=6;float b=1.5; 要求输出形式为: 6 * 1.50=9.00 ,应选用的正确输出语句是( B )。A. printf(%d * %f=%f,a,b,a*b);B. printf(%d * %.2f=%.2f,a,b,a*b);C. printf(%d * %d=%.2f,a,b,a*b);D. printf(%.2f * %.2f=%.2f,a,b,a*b);66. 有以下程序:main() int c; while(c=getchar()!= n) switch(c-2) case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; printf(n);当输入:247,程序的输出结果是( B )。A. 689B. 6689C. 66778D. 6688767. 若已定义 int x=5,y=9,z; 语句 z=x=y; 运行后z的值为( C )。A. 1B. .t.C. 0D. .f.68. 判定逻辑值为“真”的最准确叙述是( C )。A. 1B. 大于0的数C. 非0的整数D. 非0的数69. 若已定义 int x=-16,y=-12,z; 语句z=x=100) & (s300)B. 100= s=100) & (s=100) and (s=b|b=cC. c-b|a+b&(b*c-a-c)D. (b*c-a-c)&(b*c-a-b)75. 若已定义:int x=4,y=2,z=0; 则表达式 (x-ybc的值是( A )。A. 0B. 1C. 2D. 377. 以下运算符中优先级最高的是( D )。A. x) | (b=yz);A. 0B. 1C. -1D. 679. 以下程序运行后,a的值是( C )。main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; A. 101B. 100C. 8D. 780. 已定义 double k=3.6; 则正确的赋值表达式是( D )。A. k=double(-3.6)B. k%3C. k=k*(-1.0)=-3.6D. k+=k-=(k=1.2)*(k=3)81. 已定义 char c = A ; 则正确的赋值表达式是( B )。A. c=028B. c=(c+)%4 C. c+1=66D. c+=127-82. 已定义 int m =A; 则正确的表达式是( C )。A. 2*m=m+B. m=int(-3.2) C. m%3D. m=m-m=m-583. 设已定义 float a=2.0,b=3.0; 使a值为5.0的表达式是( A )。A. a+= bB. a*=b+2.0 C. a/=b+2.0D. a-=b+2.084. 若已定义 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为( D )。A. 6.375B. 6.75 C. 5.75D. 5.585. 若已定义 int a=3,b=3,x=1,y=2; 表达式 (a=yx)&(x=ba) 的值是( B )。A. 6B. 1 C. 9D. 086. 若有定义:int a=2,b=3; float x=5; 则表达式x*b/a的值是( B )。A. 7.5B. 7 C. 6D. 587. 若有定义:int x=8; float y=130;char z=A; 则表达式x+z%(int)y的值是( C )。已知A的ASCII码的十进制值为65A. 运行时产生错误信息 B. 8 C. 73 D. 8.588. 若已定义:int m=7,n=4; float x=3.0,y=8.0,k; 则执行语句k=m/2+n*x/y;后,变量k的值是( C )。A. 3B. 4 C. 4.5 D. 589. 若有定义:float x=2,y=4,h=3; 下列表达式中与(x+y)*h/2.0计算结果不相符的是( C )。A. (x+y)*h/2B. (x+y)*h*1/2 C. (1/2)*(x+y)*hD. h/2*(x+y)90. 表达式2+sqrt(16.0)/4结果的数据类型是( A )。A. DoubleB. int C. charD. void91. 若有定义:int a=4,b=5,c=6; 则表达式 (1.0*a+b)/c的值是( A )。A. 1.5B. 1 C. 4D. 4.5三、控制结构92. 以下程序段的运行结果是( D )。int x=3;do printf(%3d, , x-=2 );while(!(-x);A. 1,B. 30,C. 死循环D. 1, -2,93. 以下程序运行时,若从键盘输入6,则输出结果是( A )。void main()int x; scanf(%d,&x); if (x-6) printf(%dn,x); else printf(%dn,-x);A. 4B. 5C. 6D. 394. 以下程序的运行结果是( C )。void main()int m,n=1,t=1; if(t= 0) t=-t; else m=n=0?7:3; printf(%dn,m);A. 3B. -1C. 7D. 195. 对于整型变量a,赋值语句 a=(a%3=0?1:0); 与( D )语句不等价。A. if (a%3= =0) a=1; else a=0;B. if (a%3!=0) a=0; else a=1;C. if (a%3) a=0; else a=1;D. if (a%3) a=1; else a=0;96. 以下程序运行的结果是( B )。void main()int x,y,z,a; x=y=z=1;a=15; if(!x) a-; else if(y) ; if(z) a=3; else a+=4; printf(%dn,a);A. 15B. 3C. 19D. 1497. 若已定义 int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为( A )。 if(a6) printf(%dn,a+2); else printf(%dn,a+3);A. 运行时产生错误信息B. 9C. 8D. 6102. 若有定义:int x=10,y=8,a; 则执行语句a=(-x=y)? x: y);后,变量a的值是( A )。A. 8B. 9C. 10D. 0 103. 若有定义: int a=2,b=3,c=1; 则以下程序段的运行结果是( D )。 if(ab) if(ac) printf(%d ,a); else printf(%d ,b); printf(%d ,c);A. 3 1B. 2 1C. 3D. 1104. 以下条件语句中(其中s1和s2分别表示C语言的语句),( D )与其他三条语句不等价。 A. if(a) s1; else s2;B. if(a = 0) s2; else s1;C. if(a != 0) s1; else s2;D. if(a = 0) s1; else s2;105. 下列程序段中,非死循环的是( A )。A. int i=100; while(1) i=i%100+1; if(i=100) break; B. int k=0; do +k; while(k=0);C. int s=10; while(+s%2+s%2) s+;D. for(;)106. 若已定义 int a; 不会产生死循环的语句是( C )。A. for( ; ;a+= 2);B. for(a=10; ;a-);C. for( ;(a=getchar()!= n; );D. while(-1) a+;107. 在循环语句的循环体中,break语句的作用是( B )。A. 继续执行break语句之后的循环体各语句B. 提前结束循环,接着执行该循环后续的语句C. 结束本次循环D. 暂停程序的运行108. 以下程序段运行后,循环体中的 n+=3; 语句运行的次数为( A )。int i,j,n=0;for(i=1;i=3;i+) for(j=1;j=i;j+) n+=3; printf(%dn,n); A. 6次B. 9次C. 12次D. 1次109. dowhile循环与while循环的主要区别是( D )。A. while循环体至少无条件执行一次,而dowhile循环体可能都不执行B. dowhile循环体中可使用continue语句,while循环体中不允许出现continue语句C. dowhile循环体中可使用break语句,while循环体中不允许出现break语句D. dowhile循环体至少无条件执行一次,而while循环体可能都不执行110. 以下程序段运行后,循环体运行的次数为( A )。 int i=8,a0; for ( ;i8;i+) a+= i;A. 0次B. 1次C. 8次D. 无限111. 以下程序段运行后变量a的值为( C )。 int i=1,a=0; for( ;i3;i+) continue; a+=i; A. 6B. 3C. 0D. 5112. 有以下程序: void main() int i; for(i=1; i=3; i+) switch(i) case 1: printf(%d, i); break; case 2: printf(%d, i); default : printf(%d, i); 执行后输出结果是( A )。A. 1223B. 1C. 111223D. 123113. 以下程序的运行结果是( C )。 void main() int s = 0, i = 0; while(i 8) i+; if(i%2=0) continue; s+=i; printf(%dn,s); A. 36B. 7C. 16D. 12114. 以下程序的运行结果是( B )。 void main() int s = 0, i = 0; while(i=1;i-) for(j=i;j=3;j +) k += i * j ; printf(%dn, k); A. 19B. 29C. 6D. 25117. 以下程序运行时,循环体的执行次数是( D )。 void main() int i,j; for(i=0,j=1;i5); for(i=0;i6;i+) printf(%d ,mi);A. 7 10 9 8 11 4B. 7 10 9 8 11 2C. 5 10 9 8 11 2D. 5 10 9 8 11 4 127. 下面程序段的运行结果是( A )。 int m=5,8,7,6,9,2,i=1; for(i=0;i6;i+) if(i % 2 !=0) mi+=10; for(i=0;i=0;i-) ai=ai*j; j=j*3; for(i=0;i=0;j-) pic(3-j, ); pic(i+2*j, *); putchar(n); pic(int len,char c) int k; for(k=1;k=len;k+) putchar(c);A. * * * *B. * * * *C. * * * *D. * * * *132. 以下程序段执行后输出的结果是( D )。int a4=1,2,3,4,5,6,7,8,9,10,11,12;printf(%dn,a12);A. 2B. 3C. 6D. 7133. 以下程序段执行后p的值是( A )。 int a33=3,2,1,3,2,1,3,2,1; int j,k,p=1; for(j=0;i2;i+) for(k=j;k4;k+) p*=ajk;A. 108B. 18C. 12D. 2134. 不能对二维数组a进行正确初始化的语句是( A )。A. int a32=1,2,3,4,5,6;B. int a32=1,2,3,4,5;C. int a2=1,2,3,4,5,6;D. int a32=1,2,3,4,5;135. 若有定义:int s34=1,2,0,3,4,5;则s21的值为( B )。A. 3B. 4C. 0D. 1136. 若有定义:int a34;则表达式&a21-a的值为( C )。A. 7B. 8C. 9D. 10137. 以下程序段运行后sum的值为( D )。int k=0,sum=0;int a34=1,2,3,4,5,6,7,8,9,10,11,12;for(;k3;k+) sum+=akk+1;A. 9B. 18C. 19D. 21138. 若有定义int a23;则合法引用数组元素的是( A )。A. a01/2B. a21C. a23D. a13139. 在以下数组定义中,错误的是( A )。A. int a2=1,2,3,4,5;B. int a2=0,1;C. int a22=1,2,3;D. int a2=1,2,3,4;140. 若定义int a4=1,2,3,4,5,6,7,8;则表达式sizeof(a01)的值为( B )。A. 1B. 2C. 3D. 4141. 以下程序段运行后s的值是( C )。 int a33=1,2,3,4,5,1,2,3,4; int i,j,s=1; for(i=0;i3;i+) for(j=i+1;j3;j+) s+=aij;A. 6B. 120C. 7D. 240142. 设已定义: int a4=0,0,0; 则下列描述正确的是( C )。A. 数组a包含3个元素B. 数组a的第一维大小为3C. 数组a的行数为1D. 元素a03的初值不为0143. 在C语言中,若定义二维数组a23,设a00在数组中位置为1,则a11在数组中位置是( C )。A. 3B. 4C. 5D. 6144. 设有下列语句,则( D )是对a数组元素的不正确引用,其中0i10。 int a10=0,1,2,3,4,5,6,7,8,9, *p=a;A. ap-aB. *(&ai)C. piD. *(*(a+i)145. 设已定义: char s18,s28=Science; 能将字符串Science赋给数组s1的语句是( C )。A. s1=s2;B. strcpy(s2,s1);C. strcpy(s1,s2);D. s1=Science;146. 以下程序段的运行结果是( A )。 char str32= a, b, c, d, e, f; str20= 0; pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论