C程序设计基础期中考试试题详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C程序设计基础及实验》课程期中考试试卷参考答案
试题一、单选题(每小题2分,共20分)
1. 以下正确的字符常量是______。
A.’\412’B.255 C.’\08’D.’\’
【解答】
A.八进制412超出了8位二进制所能表示的范围03ff;
B.255是一个合法的整数,可以表示一个字节的值;
C. 8不是一个合法的八进制数字;
D. \是转义字符,\’表示单个单引号字符本身,所以。字符常量缺少右单引号。
2. 假设有定义:float x=16/5/2.0, y=16/5.0/2; 则x 和y 的值分别为______。
A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5
【解答】
16/5/2.0 → (16/5)/2.0 → 3/2.0 → 1.5
16/5.0/2 → (16/5.0)/2 → 3.2/2 → 1.6
3. 下列语句中,_____ 将输出%d。
A.printf(“%d”); B.printf(“%%d”); C.printf(“\%d”); D.printf(“%%%d”)
【解答】
A.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;
B.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;
C.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;
D.%%表示输出符号%本身,%d表示输出十进制整型值。
4. 下列程序段输出结果为_____。
int x=1, y=012;
printf(“%d”,y*x++);
A.12 B.10 C.20 D.24
【解答】
x++表达式的值是1,y*x++ → y*1 → y → 012 → 10
5. 下列程序段输出结果为_____。
int a=1,b=2,c=2,t;
while(a
1
2
printf(“%d,%d,%d”,a,b,c);
A .1,2,0
B .2,1,0
C .1,2,1
D .2,1,1
【解答】
a=1,b=2,c=2
(1) 表达式a
(2) 表达式a
(3) 表达式a
6. 在下图中,阴影部分区域可用表达式_______来表示。
X
a b c
A .(x<=a)&&(x>=b)&&(x<=c)
B .(x<=a)||(b<=x<=c)
C .(x<=a)||(x>=b)&&(x<=c)
D .(x<=a)&&(b<=x<=c)
【解答】
(x<=a )|| ((x >=b) && (x <= c)) → (x<=a )|| (x>=b) && (x <= c)
7. 下列程序段输出结果为 _____。
int x = -3, y = 2;
if(x>y);
x = -x;
if(x y = -y; printf("x=%d,y=%d\n", x, y); A .x=3,y=-2 B .x=3,y=2 C .x=-3,y=2 D .x=-3,y=-2 【解答】x=3,y=2; 请注意:if(x>y); 8. 对于循环while(!e) 语句,!e 等价于_____。 A .e==0 B .e!=0 C .e==1; D .e!=1 【解答】 9. 循环 for(i=0, j=5; ++i!=--j; ) printf(“%d %d”, i, j); 将执行_____。 A.6次B.3次C.0次D.无限次 【解答】 (1) i=0, j=5: ++i → 1 , --j → 4, i=1,j=4, 1 != 4成立;打印;i=1, j=4; (2) i=1,j=4: ++I → 2 , --j → 3, i=2,j=3, 2 != 3成立;打印;i=2, j=3; (3) i=2,j=3: ++I → 3, --j → 2, I = 3, j=2, 3 != 2成立;打印;i=3,j=2; (4) …… 10. 下列程序段执行后s值为_____。 int i=5, s=0; do if (i%2) continue; else s+=i; while (--i); A.15 B.9 C.6 D.以上均不是 【解答】 (1) I=5,s=0: i%2→5%2→1成立:continue;--i→4, i=4; (2) I=4,s=0: i%2→4%2→0不成立:s=0+4=4;--i→3, i=3 (3) I=3,s=4: i%2→3%2→1成立:continue;--i→2, i=2 (4) I=2,s=4: i%2→2%2→0不成立:s=4+2=6; --i→1,i=1 (5) I=1,s=6: i%2→1%2→1成立:continue;--i→ 0 试题二、填空题(每小题2分,共20分) 1. 表达式1+4/5+15<7+4%5+(8,10) 的值为_____。 【解答】 1+(4/5)+15<7+4%5+(8,10) → 1+0+15<7+4%5+(8,10) →1+15<7+4%5+(8,10) →16<7+4%5+(8,10) →16<7+4+(8,10) →16<11+(8,10) →16<11+10 →16<21 →1 2. 表达式!!5 的值为_____。 【解答】 !!5 → !(!5) →!0→1 3. 表达式~(10<<1)&4 的值为______。 3