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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(谭浩强C程序设计第三版课后答案整本书.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

谭浩强C程序设计第三版课后答案整本书.doc

1、C 程序设计(第三版)课后习题参考解答 1.6 写一个程序,输入 a,b,c 三个值,输出其中最大者。 解: main ( ) int a,b,c,max; printf(“请输入三个数 a,b,c: n”); scanf(“%d,%d,%d”, max=a; if (max void main ( ) char c1=a, c2=b, c3=c, c4=101, c5=116; printf (“a%c b%ct c%ct abcn”, c1, c2, c3); printf (“tb%c %c”, c4, c5); 解: 程序运行的结果为: aa bb cc abc A N 3 7 要将“

2、 China”译成密码,密码规律是:用原来的字母后面第 4 个字母代替原来的字母。例如,字母“ A”后面第 4 个字母是“ E”,用“ E”代替“ A”。因此,“ China”应译为“ Glmre”。请编一程序,用赋初值的方法使 c1,c2,c3,c4,c5 这 5 个变量的值分别为 C, h, i, n, a,经过运算,使 c1,c2,c3,c4,c5 的值分别变为 G, l, m, r, e,并输出。 解: main ( ) char cl=C, c2=h, c3=i, c4=n, c5=a; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(“密码是 c

3、 c c c cn, c1, c2, c3, c4, c5); 运行结果: 密码是 Glmre 3 8 例 2.6 能否改成如下: main ( ) int c1, c2; (原为 char c1, c2) c1=97; c2=98; printf (“%c %cn”, c1, c2); printf (“%d %dn”, c1, c2); 解: 可以。因为在可输出的字符范围内,用整型和用字符型作用相同。 3 9 求下面算术表达式的值。 ( 1) x+a%3*(int)(x+y)%2/4 设 x=2.5, a=7, y=4.7 ( 2) (float)(a+b)/2+(int)x%(int)y

4、 设 a=2, b=3, x=3.5, y=2.5 解: ( 1) 2.5 ( 2) 3.5 3 10 写出程序运行的结果。 main ( ) int i, j, m, n; i=8; j=10; m=+i; n=j+; printf (“%d, %d, %d, %d”, i, j, m, n); 解: 运行结果为: 9, 11, 9, 10 3 11 写出下面赋值的结果。格中写了数值的是要将它赋给其他类型的变量,将所有空格填上赋值后的数值。 int 99 42 char d unsigned int 76 65535 float 53.65 long int 68 解: int 99 100

5、 76 53 68 42 1 char c d L 5 D * unsigned int 99 100 76 53 68 42 65535 float 99.000000 100.000000 76.000000 53.65 68.000000 42.000000 65535.000000 long int 99 100 76 53 68 42 65535 3.12 出下面表达式运算后 a 的值,设原来 a=12。设 a 和 n 都已定义为整型变量。 ( 1) a+=a ( 2) a-=2 ( 3) a*=2+3 ( 4) a/=a+a ( 5) a%=(n%=2), n 的值等于 5 ( 6

6、) a+=a-=a*=a 解: ( 1) 24 ( 2) 10 ( 3) 60 ( 4) 0 ( 5) 0 ( 6) 0 第 4 章 最简单的 C 程序设计 顺序程序设计 4.4 若 a=3, b=4, c=5, x=1.2, y=2.4, z=-3.6, u=51247, n=128765, c1=a, c2=b,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 要求输出的结果如下: a= 3 b= 4 c= 5 x= 1.200000,y= 2.400000,z= -3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51247 n=

7、128765 c1=a or 97(ASCII) c2=b or 98(ASCII) 解: main ( ) int a,b,c; long int u,n; float x,y,z; char c1,c2; a=3;b=4;c=5; x=1.2;y=2.4;z= -3.6; u=51247;n=128765; c1=a;c2=b; printf(“n”); printf(“a=%2d b=%2d c=%2dn”,a,b,c); printf(“x=%.6f,y=%.6f,z=%.6fn”,x,y,z); printf(“x+y= %.2f y+z=%.2f z+x=%.2fn”,x+y,y+

8、z,z+x); printf(“u=%6ld n=%9ldn”,u,n); printf(“c1=%c or %d(ASCII)n”,c1,c1); printf(“c2=%c or %d(ASCII)n”,c2,c2); 4 5 请写出下 面程序的输出结果: main ( ) int a=5,b=7; float x=67.8564,y=-789.124; char c=A; long n=1234567; unsigned u=65535; printf(“%d%dn”,a,b); printf(“%3d%3dn”,a,b); printf(“%f,%fn”,x,y); printf(“%

9、-10f,%-10fn”,x,y); printf(“%8.2f, %8.2f,%4f, %4f, %3f, %3fn”,x,y,x,y,x,y); printf(“%e,%10.2en”,x,y); printf(“%c,%d,%o,%xn”,c,c,c,c); printf(“%ld,%lo,%xn”,n,n,n); printf(“%u,%o,%x,%dn”,u,u,u,u); printf(“%s,%5.3sn”,”COMPUTER”,”COMPUTER”); 运行结果: 5 7 5 7 67.856400, -789.124023 67.856400 , -789.124023 67

10、.86, -789.12,67.8564,-789.1240,67.856400,-789.124023 6.785640e+01, -7.9e+02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM 可以发现,输出数据中若有负号、 e 和小数点,这些字符也占位。 4.6 用下面的 scanf 函数输入数据,使 a=3, b=7, x=8.5, y=71.82, c1=A, c2=a。问在键盘上如何输入? #include void main() int a , b; float x , y; char c1

11、 ,c2; scanf(“a=%d b=%d”, scanf(“ %f %e”, scanf(“ %c %c”, 解: a=3 b=7 8.5 71.82 A a 4.7 下面的 scanf 函数输入数据,使 a=10, b=20, c1=A, c2=a, x=1.5, y=-3.75, z=67.8,请问在键盘上如何输入数据? scanf(“%5d%5d%c%c%f%f%*f,%f”, 解: main ( ) int a,b;float x,y,z; char c1,c2; scanf(“%5d%5d%c%c%f%f%*f,%f”, printf(“a=%d, b=%d, c1=%c, c2

12、=%c, x=%6.2f, y=6.2f, z=6.2fn”),a,b,c1,c2,x,y,z); 运行情况如下: 10 20Aa1.5 3.75 1.5,67.8 (此行为输入的数据,其中为空格) a=10, b=20, c1=A, c2=a, x=1.50, y=-3.75, z=67.80 (此行为输出) 说明: 按 %5d 格式的要求输入 a 和 b 时,要先键入三个空格,然后再键入 10 与 20。 %*f 是用来禁止赋值的。在输入时,对应于 %*f 的地方,随意打入了一个数 1.5,该值不会赋给任何变量。 4.8 圆半径 r=1.5,圆柱高 h=3,求圆周长,圆面积,圆球表面积,圆

13、球体积,圆柱体积。用 scanf 输入 数据,输出计算结果,输出时要求有文字说明,取小数点后 2 位数字。请编程序。 解: main ( ) float pi,h,r,l,s,sq,vq,vz; pi=3.1415926; printf(“请输入圆半径 r,圆柱高 h: n”); scanf(“%f,%f”, l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; printf(“圆周长为 : l=%6.2fn”,l); printf(“圆面积为 : s=%6.2fn”,s); printf(“圆球表面积为 : sq

14、=%6.2fn”,sq); printf(“圆球体积为 : sv=%6.2fn”,vq); printf(“圆柱体积为 : sz=%6.2fn”,vz); 运行结果: 请输入圆半径 r, 圆柱高 h: 1.5, 3 圆周长为 : l=9.42 圆面积为 : s=7.07 圆球表面积为 : sq=28.27 圆球体积为 : sv=7.95 圆柱体积为 : sz=21.21 4.9 输入一个华氏温度,要求输出摄氏温度,公式为 C=(5/9)(F-32) 输出要有文字说明,取 2 位小数。 解: main ( ) float c,f; printf(“请输入一个华氏温度 : n”); scanf(“

15、%f”, c=(5.0/9.0)*(f-32); /*注意 5 和 9 要用实型表示,否则 5/9 的值为 0*/ printf(“摄氏温度为 : %5.2fn”,c); ; 运行结果: 请输入 一个华氏温度: 78 摄氏温度为: 25.56 第 5 章 选择结构程序设计 5.2 语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 解: 设有一个逻辑表达式,若其结果为“真”,则以 1 表示;若其结果为“假”,则以 0 表示。但是判断一个逻辑量的值时,以 0 代表“真”,以非 0 代表“假”。例如 3 printf(“请输入 3 个整数 : ”); scanf(“%d,%d,%d”, if (ab) if (bc) printf(“max=%dn”,c); else printf(“max=%dn”,b); else if (ac) printf(“max=%dn”,c); else printf(“max=%dn”,a); 运行结果: 请输入 3 个整数 : 12, 34, 9 max=34 方法二:使用条件表达式,可以使程序更简明,清晰。 main ( ) int a,b,c,temp,max ; printf(“请输入 3 个整数 : ”); scanf(“%d,%d,%d”,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。