版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章1. 以下合法的字符常量是A 0xDE B 101 C D 答案:D分析:表示转义字符中的单引号字符2. 以下不合法的字符常量是A aB 179C xee D n答案:B分析:B)179中的9中超出了八进制数值的范畴3. 已定义ch为字符型变量,以下赋值语句中错误的是A ch=;B ch=62+3;C ch=0; D ch=xaa;答案:A分析:A)字符变量要保存字符常量,字符常量要用单引号引起来,同时,这应是一个转义字符,正确的应为:ch=B)等价于ch=AC)0为转义字符,赋值正确D)十六进制表示的转义字符4. 以下程序的输出结果是main() char x=C; x=(x=A&x=
2、A&x=A&x=Z)为真,因此执行x+32这个操作,所以x=C+32,因此打印输出的是c。5. 以下程序的输出结果是main() char x,y; x=B-A+a; y=x+2; printf(%d,%c,x,y);A 98,dB b,dC B,DD 98,100答案:A分析:(1) x=B-A+a=66-65+97=98(2) y=x+2=98+2=100,ASCII值为100的是字符d所以最后输出的98,d6. 若变量均正确定义,要求用scanf(%d%c%d%c,&a,&x,&b,&y);进行数据输入,使得a的值为40,b的值为50,为x赋*,为y赋#,以下正确的输入形式是A 40*5
3、0#B 40 * 50 # C 40 *50#D 40*50 #分析:整型数据和字符型数据交替输入的时候输入形式只有两种:(1)40*50(2)40* 50#其他情况下,都会降空格符号作为字符读入,导致结果错误,所以选A)7. 要求通过while循环不断读入字符,当读入字母N时结束循环,若变量已正确定义,则正确的程序段是A while(ch=getchar()!=N)printf(%c,ch);B while(ch=getchar()!=N)printf(%c,ch);C while(ch=getchar()=N)printf(%c,ch);D while(ch=getchar()=N)pri
4、ntf(%c,ch);8. 以下程序:main() char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%cn,c5,c6);程序运行后,若从键盘输入12345678则输出结果是A 1267B 1256 C 1278D 1245答案:D分析:1,2,3依次赋给了c1,c2,c3,回车符也作为字符赋给了c4,所以c5,c6依次读入的是4,5。9. 在C程序中A main函数必须出现在所有函数之前B main函数
5、可以在任何地方出现C main函数必须出现在所有函数之后 D main函数必须出现在固定位置 答案:B分析:在C语言中,函数可以在任何地方出现,而main函数作为函数中的一类,没有特殊的限制和要求,故也可以在任何地方出现。10. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是A voidB int C float D double答案:B分析:C语言默认规定11. 设函数fun的定义形式是void fun(char ch,float x).则以下对函数fun的调用语句中,正确的是A fun(abc,3.0);B t=fun(D,16.5);C fun(65,2.8);D fun(3
6、2,32);答案:D分析:对应每个形参的类型结构。12. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A 调用可以作为独立的语句存在B 调用可以作为一个函数的实参C 调用可以出现在表达式中D 调用可以作为一个函数的形参答案:D分析:函数的调用不可以作为一个函数的形参。13. 以下程序的运行后的结果是fun(int a,int b) if(ab) return(a); else return(b);main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(%dn,r);A 3 B 6C 8D 12答案:D分析:fun(a,b)的作
7、用是返回a、b中较大的。fun(x,y)=fun(3,8)=8, r=fun(fun(x,y),2*z)=fun(8,12)=1214. 以下程序:int f1(int x;int y) return xy?x:y;int f2(int x,int y) return xy?y:x;main() int a=4,b=3,c=5,d,e,f; d=f1(a,b);d=f1(d,c); e=f2(a,b);e=f2(e,c); f=a+b+c-d-e; printf(%d,%d,%dn,d,f,e);执行后输出结果是A 3,4,5B 5,3,4C 5,4,3D 3,5,4答案:C分析:f1(x,y
8、)的作用是返回x、y中较大的,f2(x,y)的作用是返回x、y中较小的。d=f1(a,b)=f1(4,3)=4d=f1(d,c)=f1(4,5)=5e=f2(a,b)=f2(4,3)=3e=f2(e,c)=f2(3,5)=3此时各值为a=4,b=3,c=5,d=5,e=3,f=a+b+c-d-e=4。所以答案d, f , e为5, 4, 315. 以下叙述正确的是A 构成C程序的基本单位是函数B 可以在一个函数中定义另一个函数C main()函数必须放在其他函数之前 D 所以被调用的函数一定要在调用之前进行定义答案:A分析:c程序的基本单位是函数。函数中不可以嵌套定义函数。main()函数可以
9、放在任意位置。被调用的函数只要在调用之前说明了即可。16. 以下程序:float fun(int x, int y) return(x+y); main() int a=2,b=5,c=8; printf(%3.0fn,fun(int)fun(a+c,b),a-c);程序运行后的输出结果是A 编译出错B 9C 21D 9.0答案:B分析:fun(x,y)的作用是求x、y的和。fun(a+c,b)=a+c+b=15,(int) fun(a+c,b)=(int)15=15。fun((int) fun(a+c,b),a-c)=fun(15,-6)=9。17. 以下程序:char fun(char x
10、,char y) if(xy) return x; return y;main() int a=9,b=8,c=7; printf(%cn,fun(fun(a,b),fun(b,c);程序的执行结果是A 函数调用出错B 8C 9D 7答案:D分析:fun(x,y)的作用是选择x,y里面较小的一个。fun(9,8)=8,fun(8,7)=7;fun(fun(a,b),fun(b,c)=fun(8,7)=718. 以下程序:int fun1(double a) return a*=a;int fun2(double x,double y) double a=0,b=0; a=fun1(x);b=f
11、un1(y); return (int)(a+b);main() double w; w=fun2(1.1,2.0);printf(%fn,w);程序执行后变量w的值是A 5.21 B 5C 5.0D 0.0答案:C分析:fun1(a)=a2,fun2(x,y)=(int)(fun1(x)+fun1(y)=(int)( x2+ y2),所以fun1(1.1,2.0)=(int)(1.21+4.0)=(int)5.21=5由于w是double型的,所以w的值为5.0。19. 若程序中定义了以下函数double myadd(double a,double B) return(a+B); 并将其放在
12、调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是A double myadd(double a,B);B double myadd(double,double);C double myadd(double b,double A)D double myadd(double x,double y);答案:A分析:函数的说明有其自己的格式,应该包括函数类型、函数名、以及形参类型,形参名可有可无,但是一定要统一,形参名随便取。20. 以下程序:#include void f(int n)main() void f(int n); f(5);void f(int n); print
13、f(%dn,n); 则以下叙述中不正确的是A 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f。B 若在主函数前对函数f进行说明,则在主函数和其他函数中都可以正确调用函数f.C 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明。D 函数f无返回值,所以可用void将其类型定义为无值型。答案:C分析:允许这种函数说明的方式存在。如果只在主函数中说明,则只能在主函数中调用f;如果在主函数以前说明,则包括主函数的所有函数都可以调用,如果同时主函数又说明了,则不影响。21以下叙述中错误的是A C程序必须由一个或一个以上的函数组成。 B 函数调用可以作为一个独立的语句存在C 若
14、函数有返回值,必须通过return语句返回。D 函数形参的值也可以传回给对应的实参22 以下程序:int f(int x,int y) return(y-x)*x;main() int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5); printf(%dn,d);执行后输出结果是A 8 B 7C 6D 9答案:9分析:1)函数的意思为f(x,y)=(y-x)*xf(3,4)= (4-3)*3=3f(3,5)=(5-3)*3=6 2)d=f(3,6)=(6-3)*3=9.23. 以下程序运行后输出结果是 3,2,2,3 void fun(int x,int y) x=x+y;y=x-y;x=x-y; printf(%d,%d,x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身指导员职业资格证运动生理学专项习题及答案
- 2026年全民健身服务指导员初级考试专项训练题库及答案
- 2026年心理咨询师二级考试心理咨询技能综合测试专项题库冲刺练习题库及答案
- 2026年无人机驾驶员执照考试无人机飞行器电气系统与电子设备习题集及答案
- 企业安全生产标准化评审员培训模拟试卷及答案
- 河北省廊坊市霸州市2026年七年级上学期期中数学试题附答案
- 辽宁成考专升本英语真题含答案解析
- 湖北成考高升专数学理考前摸底真题题
- 2026广东广州市黄埔区萝岗街道综合发展中心招聘环卫工人2人笔试参考题库及答案解析
- 2026上海交通大学基础医学院上海市生殖医学重点实验室研究助理招聘1人笔试备考试题及答案解析
- 临床医学院教学课件:基因治疗新版
- 工贸企业安全生产制度汇编
- LY/T 3419-2024自然教育评估规范
- 天津市部分区2024-2025学年高三年级上册期中考试 数学试题(含答案)
- 新时代大学生劳动教育 课件 第3章 劳动教育的内涵
- 蛋糕抹面及巧克力转印
- 教学能力大赛-教学实施报告《大学英语2c》
- 法律制度金融预期与会计准则
- 电房增容工程监理质量评估报告
- 医师定期考核中医试题题库教程
- GB/T 2600-2009焦化二甲酚
评论
0/150
提交评论