ImageVerifierCode 换一换
格式:DOCX , 页数:65 ,大小:47.37KB ,
资源ID:27575404      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27575404.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言教材习题答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言教材习题答案.docx

1、C语言教材习题答案习 题 11.1 C语言的主要优点有哪些?它与其他程序设计语言的区别是什么?答:(略)1.2 什么是程序?程序设计的目的是什么?程序设计的步骤有哪些?答:(略)1.3 简要叙述C程序的上机调试过程。答:(略)1.4 冯诺依曼结构指的是什么?计算机有哪些组成部分?各部分的功能是什么?答:(略)习 题 22.1 简答题(1)C语言为什么要规定对所有用到的变量要“先定义,后使用”?这样做有什么好处?答:凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确; 每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元;指定每一变量属于一个类型;这就便于在编译时;据此

2、检查该变量所进行的运算是否合法。(2)下列符号中,你可以选用哪些做标识符?哪些不可以?为什么?A3B 3aB -b if next_ day e_2 OK? i*j $答:可用作标识符的是:A3B、next_、day、e_2;其余的不可以,因为标识符是由字母或下划线开始的,由字母、下划线、数字组成的字符串,另外,关键字是不能够作为标识符的。(3)字符常量与字符串常量有什么区别?答:在C语言当中,通过“0”这个特殊字符作为判断字符串结尾的标志,所以,即使一个空字符串,也要占用一个字符;另外,值得注意的是,在字符串中“0”这个字符是不显示的。而字符常量在内存空间中,只占用一个字节的空间来存放字符说

3、对应的ASCII码值。2.2 填空题(1)以下程序的运行结果是 。#include void main ( ) char c1=a,c2=b,c3=c,c4=101,c5=116; printf(a%c b%ctc%ctabcn,c1,c2,c3); printf(tb%c %cn,c4,c5);运行结果为:aa bb cc abc A N(2)下面程序的运行结果是 。#include void main( ) char a=2,b=a; int c; c=a+b; a=c; printf(%d,%d,%dn,a,b,c); printf(%c,%c,%cn,a,b,c);运行结果为:99,9

4、7,99 c,a,c(3)求下面算术表达式的值。 设x=2.5,a=7,y=4.7,表达式x+a%3*(int)(x+y)%2/4的值是 2.500000 。 设a=2,b=3,x=3.5,y=2.5,表达式(float)(a+b)/2+(int)x%(int)y的值是 3.500000 。2.3 编程题(1)要将“China”译成密码,密码规律是,用原来的字母后第4个字母代替原来的字母。例如,字母a后面第4个字母为e。因此,“China”应译为“Glmre”。请编写程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为C、h、i、n、a,经过运算,使c1、c2、c3、c4、c

5、5分别变为G、l、m、r、e,并输出。答: #include void main() char c1=C,c2=h,c3=i,c4=n,c5=a; c1=c1+4;c2=c2+4; c3=c3+4;c4=c4+4; c5=c5+4; printf(“%c%c%c%c%cn”,c1,c2,c3,c4,c5); (2)从键盘输入一个小写英文字母,将其转换成大写字母输出结果。如小写字母c,转换成大写字母时用小写字母的ASCII-32即可。答: #include void main() char c; scanf(“%c”,&c); if(ca&c8+2 Ba&d C(a*2-c)|d Da-bc4)

6、后,s,t的值为( D )。A1,2 B1,1 C0,1 D1,0(11)设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( A )。A(!a=1)&(!b=0); B(a=Y=Z C(X=Y)(Y=Z) D(X=Y)&(Y=Z)(13)表达式 (int)3.6*3的值为( A )。A9 B. 10 C. 10.8 D. 18(14)以下语句的输出结果是( D )。int a=-1,b=4,k;k=(+a0)&!(b-0?p/10:p%3); (7)设y是int型变量,请写出判断y为奇数的关系表达式 (y%2) = =1 。习 题 44.1 单项选择题(1)若以下选项中

7、的变量已正确定义,则正确的赋值语句是_C_。Ax1=26.8%3 B1+2=x2 Cx3=0x12 Dx4=1+2=3;(2)以下程序输出结果是_D_。void main() int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(%d,%d,%d,%dn,a,b,c,d);A0,1,2,0 B0,0,0,3 C1,1,2,0 D编译有错(3)下列叙述中正确的是_D_。Abreak语句只能用于switch语句B在switch语句中必须使用defaultCbreak语句必须与switch语句中的case配对使用D在switch语句中,不一定使

8、用break语句(4)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是_C_。Aswitch(x) Bswitch(int)x); case 1.0:printf(*n); case 1:printf(*n);case 2.0:printf(*n); case 2:printf(*n);Cswitch(a+b) Dswitch(a+b) case 1:printf(*n); case 1:printf(*n);case 2+1:printf(*n); case c:printf(*n);(5)在以下给出的表达式中,与while(E)中的(E)不等价的

9、表达式是 C 。A(!E=0) B(E0E0) C(E=0) D(E!=0)(6)若执行下面的程序时,从键盘上输入5和2,则输出结果是 C 。void main() int a,b,k; scanf(%d,%d,&a,&b); k=a; if(ab)k=a%b; else k=b%a; printf(%dn,k);A5 B3 C2 D0(7)以下程序执行后的输出结果是 B 。#include void main() int y=10; while(y-); printf(y=%dn,y);Ay=0 By=-1 Cy=1 Dwhile构成无限循环(8)C语言中while 和dowhile循环的主

10、要区别是 A 。Adowhile的循环体至少无条件执行一次Bwhile的循环控制条件比dowhile的循环控制条件更严格Cdowhile允许从外部转到循环体内Ddowhile 的循环体不能是复合语句(9)以下程序段的输出结果是 A 。void main() int x=3; do printf(%3d,x-=2); while(!(- -x);A1 B3 0 C1 -2 D死循环 (10)若i和j已定义为int类型,则以下程序段中内循环体的总的执行次数是 A 。for (i=5;i;i-) for(j=0;j4;j+) A20 B25 C24 D30 (11)以下程序执行后,sum的值是 D

11、。void main( ) int i,sum;for(i=1; i6; i+) sum+=i; printf(“%d”,sum);A15 B14 C0 D不确定 (12)执行下面程序后,a的值为 B 。#include void main() int a,b; for(a=1,b=1; a=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%d,a);A7 B8 C9 D10(13)下面程序输出的是 B 。#include void main() int y=9; for( ; y0; y-) if(y%3=0) printf(%d,-y);

12、 continue; A741 B852 C963 D875421(14)以下程序的输出结果是 A 。#include void main() int i; for(i=1;i=5;i+) if(i%2) printf(*); else continue; printf(#); printf($n);A*#*#*#$ B#*#*#*$ C*#*#$ D*#*#*$(15)以下程序中,while次数是 C 。void main()inti=0; while(i10) if(i1) continue; if(i=5)break; i+;A1 B10 C6 D死循环,不能确定次数(16)以下程序的输

13、出结果是 B 。#include void main() int x=23;do printf(%d,x-); while(!x);A321 B23 C不输出任何内容 D陷入死循环(17)以下程序的输出结果是 D 。#include void main() int k=4,n=4; for( ; nk ; ) n+; if(n%3!=0) continue; k-; printf(%d,%dn,k,n);A1,1 B2,2 C3,3 D4,4(18)以下程序的输出结果是 B 。#include void main() int i=0,a=0; while(i50)printf(%d,a); i

14、f(a40)printf(%d,a); if(a30)printf(%d,a);(2)以下程序输出结果是 6 。#include void main() int m=5; if(m+5) printf(%dn,m); else printf(%dn,m-);(3)以下程序运行时若从键盘上输入:10 20 30。输出结果是 10 30 0 。#include void main() int i=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k); printf(%d %d %dn,i,j,k);(4)下列程序的运行结果是 9 。void main() int x=-9,y=5,z

15、=8; if(xy) if(y0)z=0; else z+=1; printf(%dn,z);(5)以下程序的输出结果是 1 3 2 。#include void main() int i,m=0,n=0,k=0; for(i=9;i=11;i+) switch(i/10) case 0: m+; n+; break; case 10: n+; break; default: k+; n+; printf(%d %d %dn,m,n,k);(6)以下程序的输出结果是 10 。#include void main() int i,j; for(j=10;j11;j+) for(i=9;i=j-1

16、) printf(%d,j); (7)以下程序的输出结果是 4 。#include void main() int a,b; for(a=1,b=1;a=10) break; if(b%3=1) b+=3; continue; printf(%d,a);(8)运行以下程序后,从键盘上输入65 14,再回车,输出结果为 m=1 。#include void main() int m,n; scanf(%d%d,&m,&n); while(m!=n) while(mn) m-=n; while(nm) n-=m; printf(m=%d,m);4.3 编程题(1)已知华氏温度与摄氏温度的转换公式为

17、:C=(F-32)*5/9,编写程序,当输入华氏温度F时,输出对应的摄氏温度。答:#includevoid main()float c,f;scanf(“%f”,&f);printf(“%f”,c=(f-32)*5/9);(2)请为如下分段函数编写程序,当输入一个x值,计算输出y的数值:答:#includevoid main()int x,y;scanf(“%d”,&x);if(x=1)y=x;else if(x10)y=2*x-1; else y=3*x-11;printf(“y=%d”,y);(3)输入三个数a、b、c,按照大小顺序排序输出。答:#includevoid main()flo

18、at a,b,c,t;scanf(“%f, %f, %f”,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(“%f, %f, %f”,a,b,c);(4)输入一个字符, 请判断是字母、数字还是特殊字符?答:#includevoid main()char c;scanf(“%c”, &c);if(c=0&c=a&c=A&c=Z)printf(“字母”); else printf(“数字”);(5)编写程序,从键盘输入一个字符,若为大写则转换为小写输出,若为小写则转换为大写输出,其他输入则输出Error。

19、答:#includevoid main()char c;scanf(“%c”, &c);if(c=a&c=A&c=Z)printf(“%c”,c+32); else printf(“Error”);(6)编程序按下列公式计算e的值(精度为1e-6)。e=1+1/1!+1/2!+1/3!+1/n!答:#include#includelong ni(int x1) long x2=1; int i; for(i=1;i=1e-6); printf(e=%fn,t); (7)求s=a+aa+aaa+aaaa+aaa的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加

20、),相加数的个数由键盘控制。答:#includevoid main()int a,n,i=1,sn=0,tn=0;printf(“a,n=:”);scanf(“%d,%d”,&a,&n);while(i=n)tn=tn+a;sn=sn+tn;a=a*10;i+printf(“a+aa+aaa+=%dn”,sn);(8)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?答:#includevoid main() float sn=100,hn=sn/2; int n; for(n=2;n=10;n+) sn=sn+2*hn; hn=hn/2; printf(第十次落地时共经过%fm.n,sn); printf(第十次反弹%fm.n,hn);(9)输入十进制整数,将其转变为十六进制数输出。答:#includevoid main() int a; scanf(%d,&a); printf(十六进制为%x,a); (10)编程实现正弦函数,输入一个角度数值,输出对应的正弦数值,已知

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1