C程序设计基础及实验课程期中考试试卷参考答案

上传人:mg****2 文档编号:220711555 上传时间:2021-12-09 格式:DOC 页数:11 大小:67KB
返回 下载 相关 举报
C程序设计基础及实验课程期中考试试卷参考答案_第1页
第1页 / 共11页
C程序设计基础及实验课程期中考试试卷参考答案_第2页
第2页 / 共11页
C程序设计基础及实验课程期中考试试卷参考答案_第3页
第3页 / 共11页
C程序设计基础及实验课程期中考试试卷参考答案_第4页
第4页 / 共11页
C程序设计基础及实验课程期中考试试卷参考答案_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《C程序设计基础及实验课程期中考试试卷参考答案》由会员分享,可在线阅读,更多相关《C程序设计基础及实验课程期中考试试卷参考答案(11页珍藏版)》请在金锄头文库上搜索。

1、. .大学C程序设计根底及实验课程期中考试试卷参考答案考试日期: 2021年12月8日,考试时间:70 分钟诚信考试,沉着应考,杜绝违纪。考生:学号:所属院系: _(注意:答题容必须写在答题卷上,写在本试卷上无效)试题一、单项选择题每题2分,共20分1. 以下正确的字符常量是_。A412B255C08D【解答】A 八进制412超出了8位二进制所能表示的围03ff;B 255是一个合法的整数,可以表示一个字节的值;C 8不是一个合法的八进制数字;D 是转义字符,表示单个单引号字符本身,所以。字符常量缺少右单引号。2. 假设有定义:floatx=16/5/2.0, y=16/5.0/2;那么x 和

2、 y 的值分别为_。A1.5 1.6B1.6 1.6C1.5 1.5D1.6 1.5【解答】16/5/2.0 (16/5)/2.0 3/2.0 1.516/5.0/2 (16/5.0)/2 3.2/2 1.63. 以下语句中,_将输出%d。Aprintf(%d);Bprintf(%d);Cprintf(%d);Dprintf(%d)【解答】A%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;B%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;C%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;D%表示输出符号%本身,%d表示输出十进制整型值。4. 以

3、下程序段输出结果为 _。int x=1, y=012;printf(%d,y*x+);A12B10C20D24【解答】x+表达式的值是1,y*x+ y*1 y 012 105. 以下程序段输出结果为 _。int a=1,b=2,c=2,t;while(abc) t=a; a=b; b=t; c-;printf(%d,%d,%d,a,b,c);A1,2,0B2,1,0C1,2,1D2,1,1【解答】a=1,b=2,c=2(1) 表达式abc 122 1 2 1条件成立,那么执行循环体,结果为:a=2,b=1,c=1(2) 表达式abc 211 0 1 1条件成立,那么执行循环体,结果为:a=1,

4、b=2,c=0(3) 表达式abc 120 1 0 0条件不成立,循环完毕。6. 在以下列图中,阴影局部区域可用表达式_来表示。 X ab cA(x=b)&(x=c)B(x=a)|(b=x=c)C(x=b)&(x=c)D(x=a)&(b=x=c)【解答】x=b) & (x = c) x=b) & (x y);x = -x;if(xy);8. 对于循环while(!e) 语句,!e等价于_。Ae=0Be!=0Ce=1;De!=1【解答】!ee=0e!=0e=1e!=1e为011001e 为非00010/10/19. 循环 for(i=0, j=5; +i!=-j; ) printf(%d %d,

5、 i, j); 将执行_。A6次B3次C0次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);A15B9C6D以上均不是【解答】(1) I

6、=5,s=0: i%25%21成立:continue;-i4, i=4;(2) I=4,s=0: i%24%20不成立:s=0+4=4;-i3, i=3(3) I=3,s=4: i%23%21成立:continue;-i2, i=2(4) I=2,s=4: i%22%20不成立:s=4+2=6; -i1,i=1(5) I=1,s=6: i%21%21成立:continue;-i 0试题二、填空题每题2分,共20分1. 表达式1+4/5+157+4%5+(8,10)的值为 _。【解答】1+(4/5)+157+4%5+(8,10) 1+0+157+4%5+(8,10)1+157+4%5+(8,10

7、)167+4%5+(8,10)167+4+(8,10)1611+(8,10)1611+10162112. 表达式!5 的值为 _。【解答】!5 !(!5) !01 3. 表达式 (101)&4 的值为_。【解答】10: 00001010101: 00010100(101): 111010114: 00000100&- 00000000 即 04. 假设有定义:int x=10;那么表达式 0=x=9的值为 _。【解答】0=x=9 (0=x)=9 (0=10) =9 1 = 9 15. 以下for循环语句将输出: 0 1 2 0 1 2 0 1 2.for( i=1; i=9; i+ ) pri

8、ntf(%2d, _);【解答】 (i-1)%36. 对于定义: int m=5, y=2; 当计算表达式y+=y-=m*=y 后,y的值为_。【解答】y+=y-=m*=y y += (y -= (m *=y)先计算m*=y: 由于m=5, y=2, 所以:m=m*y=5*210再计算y-=10: 由于y=2,所以:y = y-10=2-10-8最后计算y += -8: 由于y=-8,所以:y = y+(-8)=(-8)+(-8)-167. 对于char c; 假设其值为小写字母, 那么将其转换为相应大写字母的表达式为_。【解答】c-a+A8. 以下语句的输出结果为_。printf(%d#%x

9、#, 027, 27);【解答】23#1b#9. 字符a的ASCII码为97,那么以下语句的输出结果为_。printf(%c#%d#,98,c);【解答】b#99#10. 以下程序段将输出_。unsigned char x=255,y=1;switch(!x) case 0: printf(*0*#);break;case 1:switch(y) case 0: printf(*1*#);break;case 1: printf(*2*#);break;default: printf(*3*#);【解答】*2*#*3*#试题三、程序阅读题每题6分,共30分1. 以下程序将输出_。 #inclu

10、de void swap(int x,int y) int t;t=x;x=y;y=t;return;void main(void) int a=3, b=2;swap(a, b); printf(%d#%d#, a, b);return;【解答】3#2#注:尽管在函数swap()里,形参x和y的值发生了交换,但根据函数参数的传递原那么实参向形参单向传值即x向a赋值,y向b赋值,形参的改变不影响实参,实参变量a和b的值未发生交换!2. 以下程序将输出_。# include int s; int f(int m) static int k=0; for(; k=m; k+) s+; return

11、 s;void main(void ) int s=1;s=f(2)+f(2); printf(%d#%d#, s, f(20);return;【解答】输出结果为:6#21#注:1全局变量s的初始值为0; 2在f函数中,s是全局变量有效,而在main函数中,s是局部变量有效; 3在f函数中,k是静态变量,每次函数f调用完毕后,其存单元和值仍然保存。3. 假设输入:1273 ,以下程序的输出结果是_。#include void main(void)int n, m;scanf(%d, &n);m=0;while (n0) m=m*10+n%10; n/=10;printf(%d,m);return;【解答】输出结果是:37214. 假设输入 -6+15*3/5= , 以下程序的输出结果是_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号