《上海市计算机二级考试(C语言)复习资料题目》由会员分享,可在线阅读,更多相关《上海市计算机二级考试(C语言)复习资料题目(45页珍藏版)》请在金锄头文库上搜索。
1、上海理工大学上海市计算机二级考试(C语言)复习资料题目C语言是一种面向过程的程序设计语言,函数、指针、地址和递归概念是它的难点。本复习资料以教学大纲为依据,提供各类题型和练习,重在“基本概念”、“常用算法”、“阅读分析程序”、“编程技能”等诸方面的强化训练,按照上海市计算机二级考试(C语言)的框架,提供“基础知识、读程序写结果、改错、编程序和程序指令填空”几部份,供学生学习参考,文末附习题参考解答。第一部份:基础知识1. 下述循环的循环次数是() int k=2; while(k=0)printf(%d,k); k-;printf(n); A、无限次 B、0次 C、1次 D、2次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. 下面能正确将字符串Boy进行完整赋值操作的语句是() A、char s3=B,o,y; B、char s =Boy;
3、C、char s3=Boy; D、char s3;s0=B;s1=o;s2=y;5. 以下程序段的输出结果是( ) 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、存储在动态存储区中。 B、存储在静态存储区中。 C、存储在计算机CPU的寄存器中。 D、存储在外存储器中。7. 测试文件是否结束函数的函数名是() A、feof B、EOF C、eof D、FEOF8. 下面程序段的输出结果是() int
4、 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函数的位置是() A、必须在最开始 B、必须在系统调用的函数的后面 C、可以任意 D、必须在最后10. 一个C程序的执行是从()A、 本程序的main函数开始,到main函数结束B、 本程序的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件的最后一个函数结束D、 本程序文件的第一个函数开始,到本程序main函数结束11. 下面的四个选项中,均是不合
5、法的用户标识符的选项是() A、A B、float C、b-a D、_123P_0 la0 goto tempdo _A int INT12. 下面四个选项中,均是合法转义字符的选项是() A、 B、 C、018 D、0 017 f 101n ” xab x1f13. sizeof(float)是() A、一个双精度型的表达式 B、一个整型表达式 C、一种函数调用 D、一个不合法的表达式14. 下述循环的循环次数是() int k=2; while(k=0)printf(%d,k); k-;printf(n); A、无限次 B、0次 C、1次 D、2次15. 若有以下定义和语句,且0=i10,
6、则对数组元素的错误引用是() 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前的元素个数为() 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;则以下叙述正确的是( )A、a与b 数组完全相同 B、a 与b 长度相同C、a 和b中都存放字符串 D、a数组比b 数组长度长18. C语言中有关全局变量的说法,正确的是() A、在使用到它的所有
7、文件中均需定义 B、在函数体外定义一次 C、在main函数中定义E、 在main函数外定义19. 若有数组名作为函数调用时的实参,则传递给该函数形参的是() A、数组的首地址 B、数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数20. 下面程序段的输出结果是() 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语言程序基本结构的是( )A)顺序结构 B)选择结构 C)函数结构 D)循环结构22. 若有定义及赋值:int a66,*p;p=
8、*a;则下列各式中能表示元素a01列地址的表达式是 。A)&a0+1B)a0+1C)*(p+1) D)p+123. 十进制数123转换成十六进制数是 。 A) 7AH B) 7BH C) 7CH D) 7DH 24. C语言中合法的字符常量是 。A) 058B) abC) xabD) ”0”25. 下列字符中,ASC码值最小的是 。A) A B) a C) 0 D) 空格26. 下面程序输出结果是_main()int k=0; char c=A; do switch( c+ ) case A: k+; break; case B: k-; case C: k+=2; break; case D
9、: 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);的输出结果是( )A)1 B)0 C)-1 D)228. C语言规定,函数返回值的类型是由 。A) return语句中的表达式类型所决定B) 调用函数时的主调函数类型所决定C) 调用函数时系统临时决定D) 在定义该函数时所指定的函数类型所决定29. 下列定义中,不是指针数组
10、定义的是 。A)int *p5;B)float *q4;C)int (*r)6;D)char *w7;30. 以下程序运行结果为_ #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. 下面程序输出结果是( )main() char a=ABCDEFG, k, *p; fun(a, 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