c语言程序设计教程第二版课后习题答案[共13页].doc

上传人:scccc 文档编号:11139724 上传时间:2021-07-04 格式:DOC 页数:13 大小:92KB
返回 下载 相关 举报
c语言程序设计教程第二版课后习题答案[共13页].doc_第1页
第1页 / 共13页
c语言程序设计教程第二版课后习题答案[共13页].doc_第2页
第2页 / 共13页
c语言程序设计教程第二版课后习题答案[共13页].doc_第3页
第3页 / 共13页
c语言程序设计教程第二版课后习题答案[共13页].doc_第4页
第4页 / 共13页
c语言程序设计教程第二版课后习题答案[共13页].doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c语言程序设计教程第二版课后习题答案[共13页].doc》由会员分享,可在线阅读,更多相关《c语言程序设计教程第二版课后习题答案[共13页].doc(13页珍藏版)》请在三一文库上搜索。

1、c 语言程序设计教程第二版课后习题答案【篇一: c 语言程序设计教程 _李含光_郑关胜_清华大学出版社习题答案习题答案 完美打印版 】1单项选择题(1)a (2)c(3)d (4)c (5)b 2 填空题 (1)函数(2)主函数( main ) (3)printf() , scanf()第 2 章习题参考答案1单项选择题1-5 cbccc 6-10 cdcdc 11-13 dbb 2 填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度( double )(7)9 (8)字母 ,数字 ,下划线( 9)13.700000 (10)11(1

2、1)( m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15)(x0y0)|(x0z0)|(y0|z0) (16)double (17)x=0 (18)sqrt(fabs(a-b)/(3*(a+b) (19)sqrt(x*x+y*y)/(a+b)第 3 章习题参考答案1单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 填空题 (1)用;表示结束( 2) (3)y=x0?1:x=0?0:-1 (4)y%4=0y%100!=0|y%400=0 (5)上面未配对( 6)default标号 (7)whil

3、e , do while , for (8)do while (9)本次( 10)本层 3阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11)i=6 ,k=4 (12)1,-2 4 程序填空(1)x:y , u :z(2)m=n , m!=0,m=m/10(3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5=0 ,printf( “%n d”,k)(5)cx=getchar() , cx!=front , c

4、x(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5 编程题 (1) #include stdio.h int main() double x,y; scanf(%lf,x); if(x1) y=x;else if(x=1.0x10) y=2*x-11; elsey=3*x-11;printf(%lfn,y); return 0; (2) #include stdio.h int main() double x,y,z,min; scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz)min=z;

5、printf(min=%lfn,min); return 0; (3) #include stdio.h int main() int y,m,d,flag,s=0,w,i; scanf(%d%d%d,y,m,d); flag=(y%4=0y%100!=0|y%400=0);w=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i=m;i+) switch(i) case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break;case 4:s=90+d;break; case 5:s=120+

6、d;break; case6:s=151+d;break; case 7:s=181+d;break; case8:s=212+d;break; case 9:s=243+d;break; case10:s=273+d;break; case 11:s=304+d;break; case12:s=334+d;break; s=(w+s)%7; if(s=0) printf( 星期日 n); else printf( 星期 %dn,s); return 0; (4)#include stdio.h int main() float p,r;scanf(%f,p); if(p=10) r=p*0.

7、1;else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p60p=100) r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100) r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;printf(%fn,r); return

8、 0; (5)#include stdio.h int main() char c; while(c=getchar()!=n) if(c=ac=z) c=c-32; putchar(c);return 0; (6)#includestdio.h int main() int m,k=2;printf( 输入一个正整数 :n); scanf(%d,m); while(km) if(m%k=0) printf(%4d,k); m=m/k; else k+;printf(%4dn,m); return 0; (7)#includestdio.h int main() int a,n,s=0,p=0

9、,i;scanf(%d %d,n,a); for(i=1;i=n;i+) p=p*10+a; s=s+p; printf(%dn,s); return 0; (8) #includestdio.h int main()int i,j,k;for(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+)printf(%5d,100*i+10*j+k); return 0; (9) #includestdio.h #includemath.h int main() float a=-10,b=10,x,f1,f2,f; f1=(2*a-4)*a+3)*a)-6; f2

10、=(2*b-4)*b+3)*b)-6; do x=(a+b)/2; f=(2*x-4)*x+3)*x)-6; if(f*f10) b=x; f2=f; else a=x;f1=f; while(fabs(f)=1e-6); printf(%6.2fn,x); return 0; (10) #includestdio.h #includemath.h int main() int n=2;double eps,t,s=0,x;scanf(%lf %lf,x,eps); t=x; s=t;while(fabs(t)=eps) t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n

11、); n+; printf(%d,%lfn,n,s); return 0; (11)#includestdio.h int main() unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) if(s%10)%2!=0) t=t+(s%10)*p; p=p*10; s=s/10; printf(%un,t); return 0; 第 4 章习题参考答案1单项选择题1-5 dddbd 6-10 badcd 11-14 bdab 2 填空题(1)2(2)嵌套, 递归(3)全局变量 , 局部变量 , 静态变量 , 动态变量 (4)auto , stati

12、c , register , extern (5)外部变量( 6)编译 ,运行 3阅读程序,指出结果 (1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2(5)求水仙花数( 6)-5*5*5 (7)30 (8)0 10 1 11 2 124程序填空 (1)float fun(float , float) , x+y,x-y, z+y,z-y (2)x , x*x+1(3)s=0 , a=a+b 5 编程题(1) while(s!=0) #includestdio.h unsigned int fun(unsigned int);p=p+s%10; int main(

13、) s=s/10; unsigned int s; return p;scanf(%u,s); printf(%un,fun(s); (2) return 0;#includestdio.h #includestdlib.h unsigned int fun(unsignedint s) #includemath.h void f1(float,float,float,float); unsignedint p=0; void f2(float,float,float,float);【篇二: c 语言程序设计课后习题答案 (第四版)谭浩强】t1.1 什么是计算机程序 1 1.2 什么是计算机语

14、言 1 1.3c 语言的发展及其特点 31.4 最简单的 c 语言程序 51.4.1 最简单的 c 语言程序举例 61.4.2c 语言程序的结构 101.5 运行 c 程序的步骤与方法 121.6 程序设计的任务 141-5 #include stdio.h int main ( ) printf (*nn);printf( very good!nn);printf (*n); return 0;1-6#include stdio.h int main()int a,b,c,max;printf(please input a,b,c:n); scanf(%d,%d,%d,a,b,c); max

15、=a; if (maxb) max=b; if (maxc) max=c;printf(the largest number is %dn,max); return 0;第 2 章算法 程序的灵魂 162.1 什么是算法 162.2 简单的算法举例 172.3 算法的特性 212.4 怎样表示一个算法 222.4.1 用自然语言表示算法 222.4.2 用流程图表示算法 222.4.3 三种基本结构和改进的流程图 262.4.4 用 n?s 流程图表示算法 282.4.5 用伪代码表示算法 312.4.6 用计算机语言表示算法 322.5 结构化程序设计方法 34习题 36第章最简单的 c 程

16、序设计 顺序程序设计 373.1 顺序程序设计举例 373.2 数据的表现形式及其运算 393.2.1 常量和变量 393.2.2 数据类型 423.2.3 整型数据 443.2.4 字符型数据 473.2.5 浮点型数据 493.2.6 怎样确定常量的类型 513.2.7 运算符和表达式 523.3c 语句 573.3.1c 语句的作用和分类 573.3.2 最基本的语句 赋值语句 593.4 数据的输入输出 65 3.4.1 输入输出举例 653.4.2 有关数据输入输出的概念 673.4.3 用 printf 函数输出数据 683.4.4 用 scanf 函数输入数据 753.4.5 字

17、符数据的输入输出 78 习题 82 3-1 #include stdio.h#include math.hint main() float p,r,n;r=0.1; n=10; p=pow(1+r,n);printf(p=%fn,p);return 0;3-2-1#include stdio.h#include math.hint main()float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072;p1=p*(1+r5)*5);/ 一次存 5 年期p2=p*

18、(1+2*r2)*(1+3*r3); / 先存 2 年期,到期后将本息再存 3 年期p3=p*(1+3*r3)*(1+2*r2); / 先存 3 年期,到期后将本息再存 2 年期 p4=p*pow(1+r1,5); / 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次 p5=p*pow(1+r0/4,4*5); / 存活期存款。活期利息每一季 度结算一次printf(p1=%fn,p1); / 输出按第 1 方案得到的本息和printf(p2=%fn,p2); / 输出按第 2 方案得到的本息和printf(p3=%fn,p3); / 输出按第 3 方案得到的本息和printf(p4

19、=%fn,p4); / 输出按第 4 方案得到的本息和 printf(p5=%fn,p5); / 输出按第 5 方案得到的本息和return 0; 3-2-2#include stdio.h#include math.hint main()double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072;p1=p*(1+r5)*5);/ 一次存 5 年期p2=p*(1+2*r2)*(1+3*r3); / 先存 2 年期,到期后将本息再存 3 年期p3=p*(1+

20、3*r3)*(1+2*r2); / 先存 3 年期,到期后将本息再存 2 年期p4=p*pow(1+r1,5); / 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次 p5=p*pow(1+r0/4,4*5); / 存活期存款。活期利息每一季度结算一次printf(p1=%fn,p1); / 输出按第 1 方案得到的本息和printf(p2=%fn,p2); / 输出按第 2 方案得到的本息和printf(p3=%fn,p3); / 输出按第 3 方案得到的本息和printf(p4=%fn,p4); / 输出按第 4 方案得到的本息和 printf(p5=%fn,p5); / 输出按

21、第 5 方案得到的本息和return 0;3-2-3#include stdio.h #include math.h int main()float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072;p1=p*(1+r5)*5);/ 一次存 5 年期p2=p*(1+2*r2)*(1+3*r3); / 先存 2 年期,到期后将本息再存 3 年期p3=p*(1+3*r3)*(1+2*r2); / 先存 3 年期,到期后将本息再存 2 年期p4=p*pow(1+r1

22、,5); / 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次 p5=p*pow(1+r0/4,4*5); / 存活期存款。活期利息每一季度结算一次printf(p1=%10.2fn,p1); / 输出按第 1 方案得到的本息和printf(p2=%10.2fn,p2); / 输出按第 2 方案得到的本息和printf(p3=%10.2fn,p3); / 输出按第 3 方案得到的本息和printf(p4=%10.2fn,p4); / 输出按第 4 方案得到的本息和 printf(p5=%10.2fn,p5); / 输出按第 5 方案得到的本息和return 0; 3-3.#inclu

23、de stdio.h #include math.hint main()float d=300000,p=6000,r=0.01,m; m=log10(p/(p-d*r)/log10(1+r); printf(m=%6.2fn,m);return 0; 3-4#include stdio.h?int main() int c1,c2;c1=197;c2=198;printf(c1=%c,c2=%cn,c1,c2); printf(c1=%d ,c2=%dn,c1,c2); return 0;3-5#include stdio.h int main() int a,b; float x,y; c

24、har c1,c2; scanf(a=%d b=%d,a,b); scanf(%f %e,x,y); scanf(%c%c,c1,c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn,a,b,x,y,c1,c2);return 0; 3-6#include stdio.h int 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(passwor is %c%c%c%c%cn,c1,c2,c3,c4,c5); return 0;3-7#i

25、nclude stdio.h int main ()float h,r,l,s,sq,vq,vz; float pi=3.141526;printf(请输入圆半径 r,圆柱高 h ); scanf(%f,%f,r,h);/ 要求输入圆半径 r 和圆柱高 hl=2*pi*r; /计算圆周长l【篇三: c语言程序设计教程课后习题答案】txt 第一章 c语言程序设计概述习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2c 语言程序的基本结构是怎样的?举一个例子说明。答1、c 语言程序由函数构成;2、“/*与”“*/之”间的内容构成 c 语言程序的注释部分;3、用预处理命令 #inclu

26、de 、#define 可以包含有关文件或预定义信息;4、大小写字母在 c 语言中是有区别的;5、除 main() 函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。3c 语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使 c 语言能够减少对程序员的束缚;7、

27、生成的目标代码质量,程序执行效率高,同时 c 语言编写的程序的可移植性好。4指出合法与不合法的标识符命名。答 5说明下列 turbo c 热键的功能。答 f2: 源文件存盘 f10: 调用主菜单 f4: 程序运行到光标所在行(用于调试程序) ctrl+f9: 编译并链接成可执行文件 alt+f5: 将窗口切换到 dos 下,查看程序运行结果。6说明下列 turbo c 方式下输入并运行下列程序,记录下运行结果。main() printf(*n); printf( welcome you n); printf( very good n); printf(*n);main() int a,b,c,

28、t;printf(please input three numbers;);scanf(%d,%d,%d,a,b,c); /* 教材 s 是错误的 */ t=max(max(a,b),c);printf(max number is:%dn,t); int max(int x, int y) int z; if(xy)z=x;else z=y;return(z);答运行结果:*welcome youvery good *运行结果:please input three numbers;3,1,4 /* 左侧下划线内容为键盘输入 */ max number is:47一个 c 程序是由若干个函数构成

29、的,其中有且只能有一个函数。答 main()8在 turbo c 环境下进行程序调试时,可以使用 run 下拉菜单的命令或按键转到用户屏幕查看程序运行结果。答1、user screen2、alt+f59c 语言对标识符与关键字有些什么规定?答1、标识符用来表示函数、类型及变量的名称,它是由字母、下划线和数字组成,但必须用字母或下划线开头。2、关键字是一种语言中规定具有特定含义的标识符,其不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。10c 源程序输入后是如何进行保存的?答是以 c 为扩展名保存的纯文本文件。第二章 c 语言程序的基本数据类型与表达式习题答案 1指出下列常数中哪些是

30、符合 c 语法规定的。答 2请找出下列程序中的错误,改正后写出程序运行结果。void main() int x,y=z=5,aver;x=7 aver=(x+y+z)/3 printf(aver=%dn,aver);void main() char c1=a;c2=b;c3=c; int a=3.5,b=a printf(a=%db=endn,a,b); printf(a%cb%cbc%ctabcn,c1,c2,c3);答 main()int x,y=5,z=5,aver;x=7; aver=(x+y+z)/3;printf(aver=%dn,aver);运行结果: aver=5 main() char c1=a, c2=b, c3=c; int a=3,b=a;printf(a=%d,b=%cendn,a,b); printf(a%cb%cbc%ctabcn,c1,c2,c3);运行结果: a=3,b=aend aabcc abc3 写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的空格填上赋值后的数据(实数保留到小数点后两 位)。int 99-1 charhunsigned int66 float 55.78long int68答int 99104 6655 68 -1char c h b

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1