《C语言程序设计》课后习题答案解析(第四版)谭浩强.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《C语言程序设计》课后习题答案解析(第四版)谭浩强.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 课后 习题 答案 解析 第四 谭浩强
- 资源描述:
-
1、WORD 格式可编辑第 1 章程序设计和 C 语言 11.1 什么是计算机程序 11.2 什么是计算机语言 1 1.3C 语言的发展及其特点 31.4 最简单的 C 语言程序 51.4.1 最简单的 C 语言程序举例 6 1.4.2C 语言程序的结构 101.5 运行 C 程序的步骤与方法 121.6 程序设计的任务 141-5 #include int main ( )printf (*nn); printf(VeryGood!nn);printf (*n); return 0;1-6 #include int main()int a,b,c,max;printf(please input
2、a,b,c:n); scanf(%d,%d,%d,&a,&b,&c); max=a;if (maxb) max=b;if (maxc) max=c;printf(The largest number is %dn,max); return 0;第 2 章算法程序的灵魂 162.1 什么是算法 16专业知识整理分享WORD 格式可编辑2.2 简单的算法举例 172.3 算法的特性 212.4 怎样表示一个算法 222.4.1 用自然语言表示算法 222.4.2 用流程图表示算法 222.4.3 三种基本结构和改进的流程图 262.4.4 用 NS 流程图表示算法 282.4.5 用伪代码表示算法
3、 312.4.6 用计算机语言表示算法 322.5 结构化程序设计方法 34 习题 36第章最简单的C 程序设计顺序程序设计 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 运算符和表达式 52 3.3C 语句 573.3.1 C 语句的作用和分类 573.3.2 最基本的语句赋值语句 593.4 数据的输入输出 653.4.1 输入输出举例 653.4.2 有关数据输入输出的概念 673.
4、4.3 用 printf 函数输出数据 683.4.4 用 scanf 函数输入数据 753.4.5 字符数据的输入输出 78 习题 823-1#include #include int main()float p,r,n; r=0.1;n=10;p=pow(1+r,n); printf(p=%fn,p); return 0;专业知识整理分享WORD 格式可编辑3-2-1#include #include 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.04
5、14; 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,5);/ 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次p5=p*pow(1+r0/4,4*5);/ 存活期存款。活期利息每一季度结算一次printf(p1=%fn,p1);/ 输出按第 1 方案得到的本息和printf(p2=%fn,p2);/ 输出按第 2 方案得到的本息和printf(p3=
6、%fn,p3);/ 输出按第 3 方案得到的本息和printf(p4=%fn,p4);/ 输出按第 4 方案得到的本息和printf(p5=%fn,p5);/ 输出按第 5 方案得到的本息和return 0;3-2-2#include #include int 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 年期,到期后将本
7、息再存 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=%fn,p4);/ 输出按第 4 方案得到的本息和printf(p5
8、=%fn,p5);/ 输出按第 5 方案得到的本息和return 0;3-2-3#include #include 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,5)
9、;/ 存 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.#include #include i
10、nt 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;WORD 格式可编辑3-4#include 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 int main()int a,b; float x,y; char c1,c2;scanf(a=%d b=%d,&a,&b); sc
11、anf(%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 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;专业知识整理分享WORD格式可编辑3-7#include int main ()float
12、 h,r,l,s,sq,vq,vz; float pi=3.141526;printf(请输入圆半径r,圆柱高h);scanf(%f,%f,&r,&h);/要求输入圆半径 r 和圆柱高hl=2*pi*r;/计算圆周长 ls=r*r*pi;/计算圆面积 ssq=4*pi*r*r;/计算圆球表面积 sqvq=3.0/4.0*pi*r*r*r;/计算圆球体积 vqvz=pi*r*r*h;/计算圆柱体积 vz printf(圆周长为:l=%6.2fn,l);printf(圆面积为:s=%6.2fn,s); printf(圆球表面积为:sq=%6.2fn,sq); printf(圆球体积为:v=%6.2
13、fn,vq); printf(圆柱体积为:vz=%6.2fn,vz); return 0;3-8-1#include int main()int c1,c2;/整型定义printf(请输入两个整数c1,c2:); scanf(%d,%d,&c1,&c2); printf(按字符输出结果:n); printf(%c,%cn,c1,c2);printf(按 ASCII 码输出结果为:n); printf(%d,%dn,c1,c2);return 0;3-8-2#include int main()char c1,c2;/定义字符型变量int i1,i2;/定义整型变量printf(请输入两个字符c
14、1,c2:); scanf(%c,%c,&c1,&c2);专业知识整理分享i1=c1;/赋值给整型变量i2=c2;printf(按字符输出结果:n); printf(%c,%cn,i1,i2); printf(按整数输出结果:n); printf(%d,%dn,c1,c2); return 0;3-8-3#include int main()char c1,c2;/定义为字符型int i1,i2;/定义为整型printf(请输入两个整数i1,i2:); scanf(%d,%d,&i1,&i2);c1=i1;/将整数赋值给字符变量c2=i2;printf(按字符输出结果:n); printf(%
15、c,%cn,c1,c2); printf(按整数输出结果:n); printf(%d,%dn,c1,c2); return 0;3-8#include int main()char c1,c2;printf(请输入两个字符c1,c2:); c1=getchar();c2=getchar();printf(用 putchar 语句输出结果为:); putchar(c1);putchar(c2); printf(n);printf(用 printf 语句输出结果为:); printf(%c %cn,c1,c2);return 0;第 4 章选择结构程序设计 854.1 选择结构和条件判断 854.
16、2 用if 语句实现选择结构 874.2.1 用 if 语句处理选择结构举例 87 4.2.2if 语句的一般形式 894.3 关系运算符和关系表达式 914.3.1 关系运算符及其优先次序 914.3.2 关系表达式 924.4 逻辑运算符和逻辑表达式 924.4.1 逻辑运算符及其优先次序 934.4.2 逻辑表达式 944.4.3 逻辑型变量 964.5 条件运算符和条件表达式 974.6 选择结构的嵌套 994.7 用switch 语句实现多分支选择结构 1024.8 选择结构程序综合举例 105 习题 1114-4-1#include int main()int a,b,c;prin
17、tf(请输入三个整数:); scanf(%d,%d,%d,&a,&b,&c); if (ab)if (bc) printf(max=%dn,c);elseprintf(max=%dn,b); else if (ac)printf(max=%dn,c); else printf(max=%dn,a);return 0;4-4-2#include int main() int a,b,c,temp,max;printf(请输入三个整数:); scanf(%d,%d,%d,&a,&b,&c);temp=(ab)?a:b;/*将 a 和 b 中的大者存入temp 中*/max=(tempc)?temp
18、:c;/*将 a 和b 中的大者与c 比较,取最大者*/ printf(三个整数的最大数是%dn,max);return 0;4-5-2#include #include #define M 1000int main()int i,k;printf(请输入一个小于%d 的整数i:,M); scanf(%d,&i);while (iM)printf(输入的数不符合要求,请重新输入一个小于%d 的整数i:,M); scanf(%d,&i);k=sqrt(i);printf(%d 的平方根的整数部分是:%dn,i,k); return 0;4-5#include #include #define M
19、 1000int main()int i,k;printf(请输入一个小于%d 的整数i:,M); scanf(%d,&i);if (iM)printf(输入的数不符合要求,请重新输入一个小于%d 的整数i:,M); scanf(%d,&i);k=sqrt(i);printf(%d 的平方根的整数部分是:%dn,i,k); return 0;4-6.#include int main() int x,y;printf(输入x:);scanf(%d,&x);if(x1)/* x1 */ y=x;printf(x=%3d,y=x=%dn ,x,y);elseif(x10)/* 1=x=10*/ y
展开阅读全文