c语言程序设计 考试模拟题B
题 号
一
二
三
四
五
六
七
八
九
十
成绩
满 分
20
20
30
14
16
100
得 分
【 【本套试卷共有五大题,计29小题】
一、单选题(每小题2分,共20分)
1. C语言源程序文件的缺省扩展名为( D )。
A. cpp B. exe C. obj D. C
2.设x和y均为逻辑值,则x && y为真的条件是( A )。
A. 它们均为真 B. 其中一个为真
C. 它们均为假 D. 其中一个为假
3. 在下列的符号常量定义中,正确的定义格式为( C )。
A. #define M1 B. const int M2 20
C. #define M3 10 D. const char mark
4. for循环语句能够被改写为( D )语句。
A. 复合 B. if C. switch D. while
5. 在下面的一维数组定义中,错误的定义格式为( C )。
A. int a[]={1,2,3} B. int a[10]={0}
C. int a[] D. int a[5]
6.下面的函数原型声明中存在语法错误的是( C )。
A. AA(int a, int b) B. AA(int, int)
C. AA(int a; int b;) D. AA(int a, int)
7. 假定a为一个数组名,则下面存在错误的表达式为的( B )。
A. a[i] B. *a++ C. *a D. *(a+1)
8. 假定有定义为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的赋值为( D )。
A. x=pa[3] B. x=*(a+3) C. x=a[3] D. x=*pa+3
9.switch(表达式)语句中的“表达式”,允许的类型是( C )。
A.float, int B.float, int, char
C. int, char D. char, double
10. 向一个二进制文件中写入信息的函数为( D )。
A. fgets() B. fputs() C. fread() D. fwrite()
二、填空题(每小题2分,共20分)
11. C语言中的每条复合语句以____}____作为结束符。
12. 在#include命令中所包含的文件,可以是头文件,也可以是_ 程序_______文件。
13. 十进制数35对应的八进制数为_____43__。
14. 假定x=5,则表达式2+x++的值为____7____。
15.增量表达式++y,y++表示成赋值表达式为_y=y+1_________。
16.若x=5,y=10,则x>y的值为______0假__。
17. 假定二维数组的定义为“int a[3][5];”,则该数组所含元素的个数为___15_____。
18. 设int a=2;,则执行a+=a*=15;后,变量a的值是__ _60____。a=a*15=30;a+=30===a=a+30
19. NULL是一个符号常量,通常作为空指针值,它对应的值为____0____。
20.假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为____25____。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
21. #include
void main() {
int i,s=0;
for(i=1;i<6;i++) s+=i*i;s=s+i*i=0+1*1=1;s=1+2*2+3*3+4*4+5*5=55
printf(“s=%d\n”,s);
}
运行结果:s=55
22. #include