上海市计算机二级考试C语言复习资料题目.doc
《上海市计算机二级考试C语言复习资料题目.doc》由会员分享,可在线阅读,更多相关《上海市计算机二级考试C语言复习资料题目.doc(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流上海市计算机二级考试C语言复习资料题目.精品文档.上海理工大学上海市计算机二级考试(C语言)复习资料题目C语言是一种面向过程的程序设计语言,函数、指针、地址和递归概念是它的难点。本复习资料以教学大纲为依据,提供各类题型和练习,重在“基本概念”、“常用算法”、“阅读分析程序”、“编程技能”等诸方面的强化训练,按照上海市计算机二级考试(C语言)的框架,提供“基础知识、读程序写结果、改错、编程序和程序指令填空”几部份,供学生学习参考,文末附习题参考解答。1. B 2. C 3. C 4. B 5. D 6. A 7. A 8. C 9. C 10.
2、 A 11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D51. A 52. C 第一部份:基础知识1. 下述循环的循环次数是() int k=2; while(k=0)printf
3、(%d,k); k-;printf(n); A、无限次 B、0次 C、1次 D、2次2. 在下列选项中,没有构成死循环的程序段是() A、int i=100; B、for(;) while(1) i=i%100+1; if(i100)break; C、int k=1000; D、int s=36; do +k; while(k=10000); while(s);-s;3. 若有以下定义和语句,且0=i10,则对数组元素的错误引用是() int a=0,1,2,3,4,5,6,7,8,9,*p,i; p=a; A、*(a+i) B、ap-a C、p+i D、*(&ai)4. 下面能正确将字符串B
4、oy进行完整赋值操作的语句是(B) A、char s3=B,o,y; B、char s =Boy; C、char s3=Boy; D、char s3;s0=B;s1=o;s2=y;5. 以下程序段的输出结果是(D) char arr =ABCD; char*ptr; for(ptr=arr;ptrarr+4;ptr+) printf(%sn,ptr); A、ABCD B、 A C、 D D、 ABCD BCD CD D6. C语言的auto型变量是(A) A、存储在动态存储区中。 B、存储在静态存储区中。 C、存储在计算机CPU的寄存器中。 D、存储在外存储器中。7. 测试文件是否结束函数的函
5、数名是(A) A、feof B、EOF C、eof D、FEOF8. 下面程序段的输出结果是(C) int a4=1,2,3,4,5,6,7,8,9,10,11,12,(*p)4; p=a; printf(“%dn”,*(*(p)+2); A、1 B、5 C、3 D、79. C语言规定:在一个源程序中,main函数的位置是(C) A、必须在最开始 B、必须在系统调用的函数的后面 C、可以任意 D、必须在最后10. 一个C程序的执行是从(A)A、 本程序的main函数开始,到main函数结束B、 本程序的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件
6、的最后一个函数结束D、 本程序文件的第一个函数开始,到本程序main函数结束11. 下面的四个选项中,均是不合法的用户标识符的选项是(C) A、A B、float C、b-a D、_123P_0 la0 goto tempdo _A int INT12. 下面四个选项中,均是合法转义字符的选项是(A) A、 B、 C、018 D、0 017 f 101n ” xab x1f13. sizeof(float)是(B) A、一个双精度型的表达式 B、一个整型表达式 C、一种函数调用 D、一个不合法的表达式14. 下述循环的循环次数是(B) int k=2; while(k=0)printf(%d,
7、k); k-;printf(n); A、无限次 B、0次 C、1次 D、2次15. 若有以下定义和语句,且0=i10,则对数组元素的错误引用是(C) int a=0,1,2,3,4,5,6,7,8,9,*p,i; p=a; A、*(a+i) B、ap-a C、p+i D、*(&ai)16. 若二维数组a有m列,则在aij前的元素个数为(B) A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+117. 对两个数组a和b进行如下初始化char a =”ABCDEF”;char b =A,B,C,D,E,F;则以下叙述正确的是(D)A、a与b 数组完全相同 B、a 与b 长度相同C
8、、a 和b中都存放字符串 D、a数组比b 数组长度长18. C语言中有关全局变量的说法,正确的是(B) A、在使用到它的所有文件中均需定义 B、在函数体外定义一次C、 在main函数中定义D.在main函数外定义19. 若有数组名作为函数调用时的实参,则传递给该函数形参的是(A) A、数组的首地址 B、数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数20. 下面程序段的输出结果是(C) int a3=1,2,3,4,5,6,7,8,9,10,11,12,(*p)3; p=a; printf(“%dn”,*(*(p+1)+2); A、3 B、4 C、6 D、721. 不属于C语言
9、程序基本结构的是( C)A)顺序结构 B)选择结构 C)函数结构 D)循环结构22. 若有定义及赋值:int a66,*p;p=*a;则下列各式中能表示元素a01列地址的表达式是 B 。A)&a0+1B)a0+1C)*(p+1) D)p+123. 十进制数123转换成十六进制数是 B 。 A) 7AH B) 7BH C) 7CH D) 7DH 24. C语言中合法的字符常量是 C 。A) 058B) abC) xabD) ”0”25. 下列字符中,ASC码值最小的是 D 。A) A B) a C) 0 D) 空格26. 下面程序输出结果是_B_main()int k=0; char c=A;
10、do switch( c+ ) case A: k+; break; case B: k-; case C: k+=2; break; case D: k=k%2; continue; case E: k=k*10; break; default: k=k/3;k+;while( cG ); printf( k=%dn,k );A)k=3 B)k=4 C)k=2 D)k=027. 设有如下定义:int x=l,y=-1;,则语句:printf(%dn,(x-&+y);的输出结果是(B )A)1 B)0 C)-1 D)228. C语言规定,函数返回值的类型是由 D 。A) return语句中的表
11、达式类型所决定B) 调用函数时的主调函数类型所决定C) 调用函数时系统临时决定D) 在定义该函数时所指定的函数类型所决定29. 下列定义中,不是指针数组定义的是 C 。A)int *p5;B)float *q4;C)int (*r)6;D)char *w7;30. 以下程序运行结果为_C_ #define PT 3.5 #define S(x) PT*x*xmain() int a=1, b=2; printf(%4.1fn,S(a+b);A)14.0 B)31.5 C)7.5 D)10.531. 下面程序输出结果是( D)main() char a=ABCDEFG, k, *p; fun(a
12、, 0, 2); fun(a, 4, 6); printf(%sn, a);fun(char *s, int p1, int p2) char c; while(p1p2) c=sp1; sp1=sp2; sp2=c; p1+; p2-;A)ABCDEFG B)DEFGABC C)GFEDCBA D)CBADGFE32. 以下程序的输出结果是(C )main() int a=1,i; for(i=0;i4;i+) printf(%d,func(a);func(a)int a; int b=0; static int c=1; b+;c+; return(a+b+c);A)4444 B)4455
13、 C)4567 D)567833. 执行下面的程序后, y 的值是_C_(不应该错!)main() int a=2,4,6,8,10; int y=1, x, *p=a+1; for( x=0; x3; x+ ) y+=*(p+x); printf( %dn, y );A)17 B)18 C)19 D)2034. 若使用下述程序段将整数30和浮点数5.5分别赋给变量a和b,那么输入应该是( B)int a;float b;scanf(a=%d,b=%f,&a,&b);A) 30 5.0 B) a=30,b=5.5 C) 30,5.5 D) a=30 b=5.535. 设有如下定义:int (*
14、ptr)();则以下叙述中正确的是( C ) (是圆括号不是方括号)A)ptr是指向一维数组的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针,该函数返回一个int型数据D)ptr是一个函数名,该函数的返回值是指向int型数据的指针36. 设有以下定义:int a43=1,2,3,4,5,6,7,8,9,10,11,12;int (*ptr)3=a, *p = a0;则以下能够正确表示数组元素a12的表达式的是( D )A)*(*ptr+1)2 B)*(*(p+5)C)(*ptr+1)+2 D)*(*(a+1)+2)37若有以下定义和语句,且0=i10,则对数组元素的错
15、误引用是(C ) int a=0,1,2,3,4,5,6,7,8,9,*p,i;p=a;A) *(a+i) B) ap-a C) p+i D) *(&ai)38. 执行下面的程序后,a的值是(B )#define SQR(X) X*Xmain() int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(%dn,a);解法如下!宏展开后类似于这样a /= k+m*k+m/K+m*k+m; a / = 2+1 * 2 +1/2+1*2+1;a/ =7;a= 10/7 = 1;整数除法,忽略小数A)10 B)1 C)9 D)039. 表达式18/4*sqrt(4
16、.0)/8的值的数据类型为( C)(在编译器里自动转为double)A)intB)float C)double D)不确定40. 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 (B ) if (ab) if (cd)x=1; else if (ac) if (bd)x=2; else x=3; else x=6; else x=7; A)1 B)2 C)3 D)641. 判断char 型变量ch 是否为大写字母的正确表达式 ( C )A) A=ch=A)and (ch = A)&(ch =Z) D) (A=ch)42. 以下程序的输出结果是 ( B ) main() int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海市 计算机 二级 考试 语言 复习资料 题目
限制150内