C语言程序设计教程第二版张敏霞参考答案详解.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计教程第二版张敏霞参考答案详解.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教程第二版张敏霞参考答案详解.pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.c 语言程序设计教程第 2 版课后题与模拟题参考答案 习题 12 1-1 填空题2 1-2 思考题2 1-3 编程题2 习题 23 2-1 单项选择题3 2-2 思考题3 习题 33 3-1 选择题3 3-2 填空题3 3-3 编程题4 习题 45 4-1单项选择题5 4-2填空题5 4-3 编程题5 习题 57 5-1单项选择题7 5-2填空题7 5-3 编程题8 习题 610 6-1单项选择题10 6-2填空题10 6-3 编程题10 习题 711 7-1单项选择题11 7-2填空题11 7-3 编程题11 习题 812 8-1单项选择题12 8-2填空题12 8-3 编程题12 习题
2、914 9-1单项选择题14 9-2填空题14 9-3 编程题14 习题 1017 10-1单项选择题17 10-2填空题17 10-3 编程题17 习题 1118 11-1单项选择题18 11-2填空题18 习题 1219 12-1单项选择题19.12-2 填空题19 实验篇 19 实验1 熟悉V 错误!未定义书签。实验2 顺序结构程序设计19 实验3 选择结构程序设计19 实验4 循环结构程序设计20 实验5 函数21 实验6 数组25 实验7 指针26 实验8 结构体和共用体28 实验9 文件29 实验10 综合编程29 模拟试卷一参考答案 30 模拟试卷二参考答案 30 习题 1 1-
3、1 填空题 1.函数 2.主函数 main,主函数 main 3.主函数 main 4.函数首部,函数体 5.,6./*,*/7.顺序结构,选择结构,循环结构 8.c,.obj,.exe 1-2 思考题 1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进展程序设计的原如此.其根本结构包括顺序结构、选择结构和循环结构三种.2.算法是对具体问题求解步骤的一种描述.计算机算法的表达工具通常采用以下几种方法:1用自然语言表示算2用流程图表示算法3用伪代码表示算法4用程序设计语言表示算法 3.语言简洁、紧凑,使用方便、灵活;支持结构化程序设计;运算符丰富;数据类型丰富;
4、较强的编译预处理功能;C 语言的可移植性好;C 语言本身既有一般高级语言的优点,又有低级汇编语言的特点;语法限制不太严格,程序设计自由度大.1-3 编程题 1.试参照本章例题编写计算梯形面积的 C 语言程序,梯形的上底、下底和高分别用a,b,h表示,并用 a=10,b=20,h=5 测试所编写的程序.#include stdio.h main.float a,b,h,s;a=10;b=20;h=5;s=*h/2;printf;2.编写程序显示如图 1.11 所示信息.图 1.11 显示信息#include stdio.h main printf;printf;printf;习题 2 2-1 单
5、项选择题 15 DBDCA 610 DCABA 1112 CA 2-2 思考题 39,2 46 5100,d 6 120 0 60 7.10,6,4 6,9,15 3,60,83 8.55 习题 3 3-1 选择题 1-5 BDABC 6-10 ADCAC 11-12 BB 3-2 填空题 1.3 2.0261 3.0 x10 4.2,1 互换 a,b 的值 6.003 7.5.0,4,c=3 8.i=10,j=20.9.65 65,A 5.864000e+002 3.141600e+000 8765 10.a=2 b=5x=8.8 y=76.34c1=65 c2=97 3-3 编程题 1.编
6、写程序实现从键盘输入两个十进制整型数据 10 和 8 给变量 x 和 y,并按如下格式输出.x y 十进制数 108 八进制数 1210 十六进制数 a8#include stdio.h main int x,y;scanf;printf;printf;printf;printf;2.编写一个程序,输入一个大写英文字符BY,输出它的前导字符、该字符本身与其后续字符.#include stdio.h main char c;scanf;printf;3.编写一个程序,输入一个 3 位正整数,要求反向输出对应的整数,如输入 123,如此输出321.编写程序并给出相应的程序流程图.#include
7、stdio.h main int a,a1,a2,a3;scanf;a1=a%10;a=a/10;a2=a%10;a=a/10;a3=a%10;printf;4.编写程序,读入 3 个 double 型数据,求它们的平均值,保存此平均值小数点后 1 位数,对小数点后第 2 位数进展四舍五入,最后输出结果.#include stdio.h main double a,b,c,ave;scanf;ave=/3;printf;5.编写程序,读入 3 个整数给变量 a、b、c,然后交换它们的值,把 a 原来的值给 b,把 b 原来的值给 c,把 c 原来的值给 a.#include stdio.h m
8、ain int a,b,c,t;scanf;t=a;a=c;c=b;b=t;printf;习题 4 4-1 单项选择题 15 AADAD 610 ACB BB 1112BA 4-2 填空题 2.a0|b0 x0&x=10 a=1.5&b=1.5&c=1.5 pa|pb|pc 3.0 1 10 1 4.b?a:bc?max:c 5-4 61 75,0,3 8.disc 4-3 编程题 1输入 3 个实型数值 a、b、c,如果能用它们作为三角形的 3 条边形成一个三角形,如此输出三角形的面积,并画出实现该算法的 N-S 流程图并编程实现.#include stdio.h#include main
9、float a,b,c,s,area;scanf;if c&a+cb&b+c s=/2;.area=sqrts*;printf;2输入整数 x、y,假如 x2+y21000,如此输出 x2+y2百位以上的数字,否如此输出两数之和.#include stdio.h main int x,y;scanf;if 1000 printf%dn,/100;else printf;3.输入一个整数,判断它能否同时被 3、5、7 整除,并输出yes或no字样.#include stdio.h main int x;scanf;if printf;else printf;4对任意输入的 x,用下式计算并输出
10、y 的值.#include stdio.h#include main float x,y;scanf;ifx y=x*x-sin;else if x y=pow+1;else y=sqrt;printf;5 编写程序输入一个 5 位整数,判断它是不是回文数.回文数是指一个数从右到左和从左到右的对应数码一样,如 12321 是回文数,个位与万位一样,十位与千位一样.#include stdio.h main long ge,shi,qian,wan,x;scanf;wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if/*个位等于万位并且十位等
11、于千位*/.printf;else printf;6.编写程序用于计算某运输公司的运费.设每公里每吨货物的根本运费为 p,货物重量为 w,路程为 s单位为 km,折扣为 d,总费用计算公式为:f=p*w*s*运费计算标准见表 4.5.表 4.5 某运输公司运费计算标准 s250 不 打 折 250=s500 折扣 2 500=s1000 折扣 5 1000=s2000 折扣 8 2000=s3000 折扣 15#include stdio.h main float p,w,s,d,f;scanf;else if=2000 d=0.1;else if=1000 d=0.08;else if=50
12、0 d=0.05;else if=250 d=0.02;else d=0 f=p*w*s*;printf;习题 5 5-1 单项选择题 15 CDABA610ABDDB1114 DBCB 5-2 填空题 120 2333 3 i10 j%3!=0 4.flag*k/flag=-flag 5 max=x x!=-1 scanf.5-3 编程题 1.用 3 种循环语句编写程序实现如下算式:11+22+33+100100 2e=1111 1!2!3!n,当最后一项的值小于 106时为止.#include stdio.h main int i;lont s=0;fori=1;i s+=i*i;prin
13、tf;#include stdio.h main int i=1;lont p=1;float s=0;do s+=1.0/p;p*=+i;while1e-6 printf;2.编写程序求两个正整数的最大公约数.#include stdio.h main int m,n,t,a,b;scanf;if m t=m;m=n;n=t;a=m;b=n;t=m%n;while m=n;n=t;t=m%n;printf;3.编写程序求一个整数的任意次方的最后 3 位数,即求xy的最后 3 位数.#include stdio.h main int x,y,s=1;scanf;for0;y-s*=x;prin
14、tf;4.百鸡问题.用 100 元钱买 100 只鸡,其中,公鸡每只 5 元,母鸡每只 3 元,小鸡每 3 只 1 元.编写程序输出各种买法.#include stdio.h main int x,y,z;for x=1;x for y=1;y z=100-x-y;if=0&-100 printf;5.编写程序分别打印如如下图形:*#include stdio.h main int j,k;for j=1;j fork=1;kprintf;printf;printf;#include stdio.h main int j,k;for j=1;j fork=1;kprintf;fork=1;k
15、printf;printf;6.请编写程序求 100999 之间所有的水仙花数.水仙花数的含义是指这样的一个 3 位数,其各位数字的立方和等于该数本身.例如,371=33+73+13,所以 371 是一个水仙花数.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位.#include stdio.h main int i,j,k,n;printf;forn=100;n i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/*.if printf;printf;习题 6 6-1 单项选择题 1-5 CBBAD 6-
16、10 DBCCD 11-15 DCABC 6-2 填空题 1.120 2.x 3.3,2,2,3 4.fac/i 5.8,17 6.9 7.1.0/8.fun-in:30,20,10 fun-end:1015,35,1050 10,20,30 9.012345 10.93636 6-3 编程题 1.编写一函数把字符串中的小写字母转换成大写字母,其他字符不变.void zhuan char ch;whilech=getchar!=n if=a&ch ch=ch-32;putchar;2.编写一函数求 e=1111 1!2!3!n float expp int k,fac=1;.float sum
17、=0;fork=1;k fac*=k;sum+=1.0/fac;return;3.编写一函数求一个整数的任意次方的最后 3 位数,即求xy的最后 3 位数.int xy3 int k,num=1;fork=1;k num*=x;num=num%1000;return num;4.有 5 个人坐在一起,第 5 个人说他比第 4 个人大 2 岁,第 4 个人说他比第 3 个人大 2 岁,第 3 个人说他比第 2 个人大 2 岁,第 2 个人说他比第 1 个人大 2 岁,第 1 个人说他 10 岁,请问第 5 个人多大?int age int c;if c=10;else c=age+2;retur
18、n c;习题 7 7-1 单项选择题 1-5 DBCCB 6-8 BDC 7-2 填空题 1.c 2.60 3.1000 10 4.16 7-3 编程题 1.编写程序计算如下公式中的f值,使用带参数的宏来实现.#include#define F a*a+sqrt.main float x,f;scanf;f=4.5/Fexp+Fcos+Fsqrt/F;printf;习题 8 8-1 单项选择题 115 CADAC 610 CCDAB1115 CBBCD 8-2 填空题 1 2 3 4 5 10010 QuickC 2.j+=2 aiaj 3 r+bk *x 8-3 编程题 1设数组 a 中的元
19、素都为正整数,编程求其中偶数的个数和偶数的平均值.#include stdio.h#define N 10 main int aN=1,2,3,4,5,6,7,8,9,0,osum=0,ocount=0,j;forj=0;j if!ocount+;osum+=aj;printf;2.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中,插入后数组仍然有序,请编程实现.#include stdio.h#define N 10 main int aN=10,20,30,40,50,60,70,80,90,j,k,x;scanf;forj=0;j if x break;forj;k-
20、ak=ak-1;aj=x;forj=0;j printf;10000 01000 00100 00010 00001.3编程求一个矩阵对角元素之和,其中矩阵元素值由数组初始化时给定.#include stdio.h#define M 3 main int aMM=1,2,3,4,5,6,7,8,9,j,sum1=0,sum2=0;for j=0;j sum1+=ajj;sum2+=ajM-;printf;4.编一个程序检查二维数组是否对称.#include stdio.h#define M 3 main int aMM=1,2,3,2,4,5,3,5,6,j,k,flag=1;for j=0;
21、j fork=0;k if flag=0;break;if printf;else printf;5编程比拟两个字符串的大小不用 strcmp函数.#include stdio.h#include main char c110,c210,j;gets;gets;forj=0;&c1j&c2j;j+;printf;6.有一篇文章,共有行文字,每行有 80 个字符.要求分别统计出其中英文大写字母、小写字母、数字、空格与其他字符的个数.#include stdio.h#include#define M 3#define N 80 main char aMN,j,k,n5=0;for j=0;j ge
22、ts;forj=0;j for if=A&ajk n1+;else if=a&ajk n2+;else if=0&ajk n3+;else if n4+;elsen5+;.forj=0;j printf;习题 9 9-1 单项选择题 15 DDACB 610 ACBAD1115CDB CC 9-2 填空题 1.2,1 10#30#FOUR,O 60 2.49 2 2 7 5 3 1 9 15 3.*x t 4.0或 0 n+或 n+=1 或n=n+1 5.024 9-3 编程题 1.按以下要求编写一个程序.定义三个变量用于存放输入的三个整数;另定义三个指向整型变量的指针变量,并利用它们实现将输
23、入的三个整数按由小到大的顺序输出.#include stdio.h main int n1,n2,n3;int*pointer1,*pointer2,*pointer3;printf;scanf;pointer1=&n1;pointer2=&n2;pointer3=&n3;ifn2 swap;ifn3 swap;ifn3 swap;printf;swap int*p1,*p2;int p;p=*p1;*p1=*p2;*p2=p;1,1,1,1,1 3,3,3,3,3 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1.2.编写函数,得到两个整数相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程 第二 版张敏霞 参考答案 详解
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内