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

上传人:F****n 文档编号:101051827 上传时间:2019-09-26 格式:DOC 页数:129 大小:495.50KB
返回 下载 相关 举报
谭浩强c程序设计第三版课后答案(整本书).doc_第1页
第1页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc_第2页
第2页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc_第3页
第3页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc_第4页
第4页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc_第5页
第5页 / 共129页
点击查看更多>>
资源描述

《谭浩强c程序设计第三版课后答案(整本书).doc》由会员分享,可在线阅读,更多相关《谭浩强c程序设计第三版课后答案(整本书).doc(129页珍藏版)》请在金锄头文库上搜索。

1、C程序设计(第三版)课后习题参考解答1.6 写一个程序,输入a,b,c三个值,输出其中最大者。解:main ( )int a,b,c,max;printf(“请输入三个数a,b,c: n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if (maxb)max=b;if (maxc)max=c;printf(“ 最大数为:%d ”,max);第2章 程序的灵魂算法2.1 什么叫结构化的算法?为什么要提倡结构化的算法?解:由一些基本结构顺序组成的算法称为结构化的算法。由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。2.7

2、什么叫结构化程序设计?它的主要内容是什么?解:结构化程序就是用高级语言表示的结构化算法。它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。第3章 数据类型、运算符与表达式33请将下面各数用八进制和十六进制数表示:(1)10 (2)32 (3)75 (4)617(5)111 (6)2483 (7)28654 (8)21003解:(1) (10) 10(12) 8(A) 16(2) (32)10=(40)8=(20) 16(3) (75)10=(113)8=(4B) 16(4) (617)10=()8=(FD97) 16此题可以这样考虑:带符

3、号数在计算机中采用补码表示,正数的补码与原码相同,负数的补码模真值。若使用16位存储,模为21665536。617的补码为65536(167)64919()8(FD97)16(5) (111)10=()8=(FF91) 16(6) (2483)10=(4663)8=(9B3) 16(7) (28654)10=()8=(9012) 16(8) (21003)10=(51013)8=(520B) 1634将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。变量的类型25232769int型long型sort型signed char(8位)unsigned int型unsign

4、ed long型unsigned short型unsigned char型注:如果没有学过二进制和补码,此题可以不做。解:各数据在内存中的存储形式如下表所示:变量的类型25232769int型00 8 位11110 15 100 001(溢出) 14long型00 2411 1110 3100 0100 001 16 14short型00 811110 15100 001(溢出) 14signed char(8位)(溢出)unsigned int型00 8 11 110 15100 001 14unsigned long型00 2411 110 3100 0100 001 16 14unsig

5、ned short型00 8 11 110 15100 001 8unsigned char型其中int和short类型,其取值范围是3276832767。32769在这两种类型中实际表示负数,它是一个负数的补码,对其再求一次补码可得其真值,即(6553632769)32767。char和unsigned char为8位,若将int或long类型数据赋给这种类型,则截取数据低8位。同理,若将long赋给int,则截取低16位。35字符常量和字符串常量有什么区别?解:字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符组合而成,用双引号括起来,存储时自动在字符串最后加一个结束符号0

6、。36写出以下程序运行的结果:# includevoid 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 N37要将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变

7、量的值分别为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(“密码是cccccn, c1, c2, c3, c4, c5);运行结果:密码是Glmre38例2.6能否改成如下:main ( ) int c1, c2; (原为 char c1, c2) c1=97; c2=98; printf (“%c %cn”, c1, c2); printf (“%d %dn”, c1, c

8、2);解:可以。因为在可输出的字符范围内,用整型和用字符型作用相同。39求下面算术表达式的值。(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设a=2,b=3,x=3.5,y=2.5解:(1)2.5(2)3.5 310写出程序运行的结果。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,10311写出下面赋值的结果。格中写了数值的是要将它赋给其他类型

9、的变量,将所有空格填上赋值后的数值。int9942chardunsigned int7665535float53.65long int68解:int99100765368421charcdL5D*unsigned int991007653684265535float99.100.76.53.6568.42.65535.long int9910076536842655353.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)a+=a-=a*=a解:(1)24

10、 (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=,c1=a,c2=b,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下:a=3b=4c=5x= 1.,y= 2.,z= -3.x+y=3.60y+z=-1.20z+x=-2.40u= 51247n=c1=aor97(ASCII)c2=bor98(ASCII)解:main ( )int a,b,c; long int u,n; float x,y,z; char c1,c2;

11、a=3;b=4;c=5; x=1.2;y=2.4;z= -3.6; u=51247;n=; c1=a;c2=b; printf(“n”); printf(“a=%2db=%2dc=%2dn”,a,b,c); printf(“x=%.6f,y=%.6f,z=%.6fn”,x,y,z); printf(“x+y=%.2fy+z=%.2fz+x=%.2fn”,x+y,y+z,z+x); printf(“u=%6ldn=%9ldn”,u,n); printf(“c1=%c or %d(ASCII)n”,c1,c1); printf(“c2=%c or %d(ASCII)n”,c2,c2);45请写出下

12、面程序的输出结果:main ( ) int a=5,b=7; float x=67.8564,y=-789.124; char c=A; long n=; unsigned u=65535; printf(“%d%dn”,a,b); printf(“%3d%3dn”,a,b); printf(“%f,%fn”,x,y); printf(“%-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”);运行结果:575767., -789.67., -789.67.86,-789.12,67.8564,-789.1240,67.,-78

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

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

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