C语言月考试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-2011学年度第一学期第二次月考
C 语言程序设计试卷
命题人:林学梅 校对: 考试时长: 100分钟 分值: 150分
一、单项选择题(本题共20小题,每小题2分,共40分)
1.以下正确的C 语言自定义标识符是______。 ( ) A. _1a B. 2a_ C. do D. a.12
2. 在C 语言中,错误的常数表示是_______。 ( ) A. 0L B.-0x6aL C. ‘6’ D. 1.234E
3.5
3. 设int a, x=2; 执行语句a=x>0?3*x:(x=10);后,变量x 的值是_______。 ( ) A. 1
B. 2
C. 6
D. 10
4.设有以下程序段:
int x=2,y=2,z=0,a; a=++x||++y&&z++;
printf("%d,%d,%d\n",x,y,z);
执行后输出的结果是_________。 ( ) A. 2, 2, 0
B. 3, 3,1
C. 3, 2, 0
D. 3, 2, 1
5、putchar 函数可以向终端输出一个 ( ) A. 整型变量的值 B. 实型变量的值 C. 字符串 D. 字符或字符型变量的值 6. 设float x ,由键盘输入:12.45, 能正确读入数据的输入语句是_________。 ( ) A. scanf("%5f",&x) B. scanf("%5d",&x); C. scanf("%f",x);
D. scanf("%s",&x);
7.逗号表达式a=2*6,a*3,a+5的值是_________。 ( )
A. 12
B. 17 C .36
D. 41
8. 以下能正确地定义变量a,b 和c 并为它们赋初值5的语句是: ( )
A. int a=5,b=5,c=5;
B. int a,b,c=5;
C. a=5,b=5,c=5;
D. int a=b=c=5; 9. 设int x;,则与计算︱x ︱等价的表达式是_________。 ( ) A. x>0?-x:x
B. x>0?x:-x
C. x<0?x:-x
D. x<0?-x:-x 10.设有如下定义: int x=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是_______。 ( ) A. 1 B. 0 C. 4 D. 3
11.两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是_______。( )
if(x++>5) printf("%d",x); else printf("%d\n",x - -);
A. 7和5
B. 6和3
C. 7和4
D. 6和4
12. 执行下面的程序段后,k 的值是_______。 ( ) int k=1,n=325;
do { k*=n%10;n/=10;}while(n); A. 3
B. 30
C. 523
D. 325 13. 表达式的值为0的是_________。 ( ) A. 5/5%5 B. 5>2 C. !4
D. 0x7&&7
14. 设int a=11, b=2;执行下述程序段后,变量a 和b 的值分别是_______。( )
do { a/=b++; }while(a>b); A. 1,3 B. 1,4 C. 2,3
D. 2,4 15. 以下表达式为真时不能表示A 为奇数的表达式是: ( ) A. A%2==1
B. !(A%2==0)
C. !(A%2)
D. A%2
16. switch(表达式)语句中的“表达式”,允许的类型是
_________。 ( ) A .float, int B .float, int, char C. int, char D.char, double 17. 下列属于文件包含的命令是_________。 ( )
A. #define N 25
B. #endif
C. #include "stdio.h"
D. #else
18. 设int i,j;
for(i=5;i;i- -)
for(j=0;j<4;j++) {…}
则循环体执行次数是________。 ( ) A. 5
B.4
C. 20
D.无限次
19.正确的变量定义是________。 ( )
A. unsigned long d=1000;
B. float m1=m2=10.0;
C. char c1='A',c2=A;
D. double x=0.618,x=3.14;
20.下面程序的输出结果是_______。 ( ) #include
for(s=1,k=2;k<5;k++)
s+=k;
printf("%d\n",s);
} A. 1 B. 9 C. 10
D. 15
二、填空题(本题共5小题,每小题2分,共10分)
21. 设int x=3,y=5; 则执行printf("%d\n",x&&y);后输出_____。
22.定出公式⎪⎪⎭
⎫
⎝⎛
++
x y x x 521对应的C 语言表达式______。 23. 设int a=2;,则执行a+=a*=15;后,变量a 的值是_______。 24. 设int x=7,y=3,则表达式x%y+x/y 的值是________。 25. 当执行下面程序段后,输出结果是____________。
int x=10,y=10;
printf("x=%d y=%d\n",x--,--y); 三、阅读程序题(本题共6小题,每小题3分,共18分)
26.写出下面程序的运行结果。 #include
int x=15; while(x<20) { x++;
if(x/3!=0) {x++;break;} else continue; }
printf("%d\n",x); }
27. 写出下面程序的运行结果。
#include
int a,b,i; a=b=0;
for(i=0;i<=10;i+=2) { a+=i; b+=i+1; }
printf("a=%d\n",a); printf("b=%d\n", b-11); }
28. 写出下列程序的运行结果 #include
int a = 5, b = 4, c = 6, d;
printf(“%d\n ”, d=a>b?(a>c?a: c): b); }
29. 写出下列程序的运行结果 #include
int k=1,m=0; int a=10,b=10; switch(k) {
case 1:switch(m) {
case 0:a+=1;break; case 1:b++;break;
}
case 2:a++;b++;break; case 3:a++;b++; }
printf(“a=%d,b=%d ”,a,b); }
30.写出下面程序的运行结果。 #include