上海理工大学
上海市计算机二级考试(C语言)复习资料题目
C语言是一种面向过程的程序设计语言,函数、指针、地址和递归概念是它的难点。本复习资料以教学大纲为依据,提供各类题型和练习,重在“基本概念”、“常用算法”、“阅读分析程序”、“编程技能”等诸方面的强化训练,按照上海市计算机二级考试(C语言)的框架,提供“基础知识、读程序写结果、改错、编程序和程序指令填空”几部份,供学生学习参考,文末附习题参考解答。
1. B 2. C 3. C 4. B 5. D 6. A 7. A 8. C 9. C 10. A
11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C
21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C
31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B
41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D
51. A 52. C
第一部份:基础知识
1. 下述循环的循环次数是()
int k=2;
while计算机二级c语言选择题库(k=0)printf("%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(i>100)break;
}
C、int k=1000;D、int s=36;
do {++k;} while(k>=10000);while(s);--s;
3. 若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是()
int a[]={0,1,2,3,4,5,6,7,8,9},*p,i;
p=a;
A、*(a+i) B、a[p-a]C、p+iD、*(&a[i])
4. 下面能正确将字符串"Boy"进行完整赋值操作的语句是(B)
A、char s[3]={'B','o','y'}; B、char s[ ]="Boy";
C、char s[3]={"Boy"}; D、char s[3];
s[0]='B';s[1]='o';s[2]='y';
5. 以下程序段的输出结果是(D)
char arr[ ]="ABCD";
char*ptr;
for(ptr=arr;ptr<arr+4;ptr++)
printf("%s\n",ptr);
A、ABCD B、 A C、 D D、 ABCD
BCD
CD
D
6. C语言的auto型变量是(A)
A、存储在动态存储区中。
B、存储在静态存储区中。
C、存储在计算机CPU的寄存器中。
D、存储在外存储器中。
7. 测试文件是否结束函数的函数名是(A)
A、feof B、EOF C、eof D、FEOF
8. 下面程序段的输出结果是(C)
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];
p=a;
printf(“%d\n”,*(*(p)+2));
A、1B、5 C、3D、7
9. C语言规定:在一个源程序中,main函数的位置是(C)
A、必须在最开始 B、必须在系统调用的函数的后面
C、可以任意 D、必须在最后
10. 一个C程序的执行是从(A)
A、 本程序的main函数开始,到main函数结束
B、 本程序的第一个函数开始,到本程序文件的最后一个函数结束
C、 本程序的main函数开始,到本程序文件的最后一个函数结束
D、 本程序文件的第一个函数开始,到本程序main函数结束
11. 下面的四个选项中,均是不合法的用户标识符的选项是(C)
A、A B、floatC、b-aD、_123
P_0 la0 goto temp
do _A int INT
12. 下面四个选项中,均是合法转义字符的选项是(A)
A、’\’’B、’\’C、’\018’D、’\\0’
‘\\’ ‘\017’ ‘\f’ ‘\101’
‘\n’ ‘\”’ ‘xab’ ‘x1f’
13. sizeof(float)是(B)
A、一个双精度型的表达式 B、一个整型表达式
C、一种函数调用 D、一个不合法的表达式
14. 下述循环的循环次数是(B)
int k=2;
while(k=0)printf("%d",k);
k--;printf("\n");
A、无限次 B、0次 C、1次 D、2次
15. 若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是(C)
int a[]={0,1,2,3,4,5,6,7,8,9},*p,i;
p=a;
A、*(a+i) B、a[p-a]C、p+iD、*(&a[i])
16. 若二维数组a有m列,则在a[i][j]前的元素个数为(B)
A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+1
17. 对两个数组a和b进行如下初始化
char a[ ]=”ABCDEF”;
char b[ ]={‘A’,’B’,’C’,’D’,’E’,’F’};
则以下叙述正确的是(D)
A、a与b 数组完全相同 B、a 与b 长度相同
C、a 和b中都存放字符串 D、a数组比b 数组长度长
18. C语言中有关全局变量的说法,正确的是(B)
A、在使用到它的所有文件中均需定义
B、在函数体外定义一次
C、 在main函数中定义
D.在main函数外定义
19. 若有数组名作为函数调用时的实参,则传递给该函数形参的是(A)
A、数组的首地址 B、数组的第一个元素的值
C、数组中全部元素的值 D、数组元素的个数
20. 下面程序段的输出结果是(C)
int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[3];
p=a;
printf(“%d\n”,*(*(p+1)+2));
A、3 B、4 C、6 D、7
21. 不属于C语言程序基本结构的是( C)
A)顺序结构 B)选择结构 C)函数结构 D)循环结构
22. 若有定义及赋值:
int a[6][6],*p;p=*a;
则下列各式中能表示元素a[0][1]列地址的表达式是 B 。
A)&a[0]+1 B)a[0]+1 C)*(p+1) D)p+1
23. 十进制数123转换成十六进制数是 B 。
A) 7AH B) 7BH C) 7CH D) 7DH
24. C语言中合法的字符常量是 C 。
A)'\058' B)'ab' C)'\xab' D) ”\0”
25. 下列字符中,ASCⅡ码值最小的是 D 。
A)A B)a C)0 D)空格
26. 下面程序输出结果是____B_____
main()
{int k=0;char c='A';
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(c<'G');
printf("k=%d\n",k);
}
A)k=3 B)k=4 C)k=2 D)k=0
27. 设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&&++y));的输出结果是(B)
A)1 B)0 C)-1 D)2
28. C语言规定,函数返回值的类型是由 D 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论