C语言程序设计教程张敏霞参考答案 .pdf
《C语言程序设计教程张敏霞参考答案 .pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教程张敏霞参考答案 .pdf(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c语言程序设计教程(第2版)课后题及模拟题参考答案习题 1 . 31-1 填空题 . 31-2 思考题 . 31-3 编程题 . 3习题 2 . 42-1 单选题 . 42-2 思考题 . 4习题 3 . 53-1 选择题. 53-2 填空题. 53-3 编程题. 5习题 4 . 74-1 单选题 . 74-2 填空题 . 74-3 编程题 . 7习题 5 . 105-1 单选题 . 105-2 填空题 . 105-3 编程题 . 10习题 6 . 136-1 单选题 . 136-2 填空题 . 136-3 编程题 . 13习题 7 . 157-1 单选题 . 157-2 填空题 . 157-
2、3 编程题 . 15习题 8 . 168-1 单选题 . 168-2 填空题 . 168-3 编程题 . 16习题 9 . 189-1 单选题 . 189-2 填空题 . 189-3 编程题 . 18习题 10 . 2210-1 单选题. 2210-2 填空题. 2210-3 编程题. 22习题 11 . 2411-1 单选题. 2411-2 填空题. 24习题 12 . 2512-1 单选题. 25名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 38 页 - - - -
3、 - - - - - 12-2 填空题. 25实验篇 . 26实验 1 熟悉 Visual C+6.0可视化集成开发环境 . 26实验 2 顺序结构程序设计. 26实验 3 选择结构程序设计. 26实验 4 循环结构程序设计. 26实验 5 函数. 28实验 6 数组. 32实验 7 指针. 33实验 8 结构体和共用体. 35实验 9 文件. 36实验 10 综合编程 . 36模拟试卷(一)参考答案. 37模拟试卷(二)参考答案. 38名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
4、 2 页,共 38 页 - - - - - - - - - 习题 1 1-1 填空题1.函数2.主函数 main(), 主函数 main() 3.主函数 main() 4.函数首部,函数体5., 6./*, */ 7.顺序结构,选择结构,循环结构8.c, .obj, .exe 1-2 思考题1.结构化程序设计是指: 为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构包括顺序结构、选择结构和循环结构三种。2.算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法: (1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)
5、用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富 ;数据类型丰富;较强的编译预处理功能;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=(a+b)*h/2; printf(s=%fn , s ); 2.
6、 编写程序显示如图1.11 所示信息。图 1.11 显示信息#include stdio.h main() printf(*n); printf(* hello world *n); printf(*n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 38 页 - - - - - - - - - 习题 2 2-1 单选题15 DBDCA 6 10 DCABA 1112 CA 2-2 思考题12.000000 21,0.5 39,2 46 5100,d 6 (1)20
7、(2)0 (3)60 7. (1)10 , 6,4 (2)6,9,15 (3)3,60,83 8. 55 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 38 页 - - - - - - - - - 习题 3 3-1 选择题1-5BDABC 6-10ADCAC 11-12BB 3-2 填空题1.3 2.0261 3.0 x10 4. 2, 1 互换 a,b 的值5.6.6 6. 003 8.7 7.5.0,4,c=3 8.i=10,j=20 9.(1) 65 (2) 65
8、,A (3) 56.123400,123.456001 (4) 3.141600 (5) 8765.432 (6) 5.864000e+002 (7) 3.141600e+000 (8) 3.1416 (9) 8765 (10) 3.1416,8765.43 10.a=2 b=5x=8.8 y=76.34c1=65 c2=97 3-3 编程题1. 编写程序实现从键盘输入两个十进制整型数据10 和 8 给变量 x 和 y出。x y 十进制数10 8 八进制数12 10 十六进制数a 8 #include stdio.h main() int x, y ; scanf(%d%d , &x, &y)
9、; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 38 页 - - - - - - - - - printf( x yn); printf(%4d%4dn, x, y ); printf(%4o%4on, x, y ); printf(%4x%4xn, x, y ); 2. 编写一个程序,输入一个大写英文字符(BY ) ,输出它的前导字符、该字符本身及其后续字符。#include stdio.h main() char c; scanf(“ %c” , &c );pri
10、ntf(“ %c, %c, %cn” , c -1, c, c+1 ); 3. 编写一个程序,输入一个3 位正整数,要求反向输出对应的整数,如输入123,则输出321。编写程序并给出相应的程序流程图。#include stdio.h main() int a, a1, a2, a3; scanf(“ %d ” , &a );a1=a%10 ; a=a/10; a2=a%10; a=a/10; a3=a%10; printf(“ %d%d%dn” , a1, a2, a3); 4. 编写程序,读入3 个 double 型数据,求它们的平均值,保留此平均值小数点后1 位数,对小数点后第2 位数进行
11、四舍五入,最后输出结果。#include stdio.h main() double a, b, c, ave; scanf(“ %lf%lf%lf” , &a, &b, &c );ave=(a+b+c)/3 ; printf(“ %. n” , ave); 5. 编写程序,读入3 个整数给变量a、b、 c,然后交换它们的值,把a 原来的值给b,把 b原来的值给c,把 c 原来的值给a。#include stdio.h main() int a, b, c, t; scanf(“ %d%d%d ” , &a, &b, &c );t=a; a=c; c=b ; b=t ; printf(“ a=
12、%d, b=%d, c=%dn” , a, b, c ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 38 页 - - - - - - - - - 习题 4 4-1 单选题15 AADAD 610 ACB BB 1112BA 4-2 填空题1. 1 2. (1) a0 | b0 (2) x0 & x=10 (3) a=1.5 & b=1.5 & c=1.5 (4)pa | pb | pb?a:b)c?max:c 5-4 61 75,0,3 8. (1) (a=0)
13、(2) (b=0) (3) (discc & a+cb & b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“ %f” ,area); 2输入整数x、y,若 x2+y21000,则输出x2+y2百位以上的数字,否则输出两数之和。#include stdio.h main() int x,y; scanf(“ %d,%d” ,&x,&y);if (x*x+y*y1000) printf(“ %dn” ,(x*x+y*y)/100);else printf(“ %dn” ,x+y); 名师资料总结 - - -精品资料欢迎下载 - -
14、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 38 页 - - - - - - - - - 3. 输入一个整数,判断它能否同时被3、5、7 整除,并输出“yes”或“ no”字样。#include stdio.h main() int x, scanf(“ %d” ,&x);if(x%3=0 & x%5=0 & x%7=0) printf(“ yesn” );else printf(“ non” ); 4对任意输入的x,用下式计算并输出y 的值。22sin( ),22,221,2xxxxyxxxxx#include
15、stdio.h #include “ math.h”main() float x,y; scanf(“ %f” ,&x);if(x-2) y=x*x-sin(x); else if (x=2) y=pow(2,x)+1; else y=sqrt(x*x+x+1); printf(“ %fn” ,y); 5 编写程序输入一个5 位整数,判断它是不是回文数。回文数是指一个数从右到左和从左到右的对应数码相同,如12321 是回文数,个位与万位相同,十位与千位相同。#include stdio.h main( ) long ge,shi,qian,wan,x; scanf(%ld,&x); wan=x
16、/10000; qian=x%10000/1000; shi=x%100/10; ge=x%10; if (ge=wan&shi=qian)/*个位等于万位并且十位等于千位*/ printf(this number is a huiwenn); else printf(this number is not a huiwenn); 6. 编写程序用于计算某运输公司的运费。设每公里每吨货物的基本运费为p,货物重量为w,路程为s(单位为 km) ,折扣为d,总费用计算公式为:f=p*w*s*(1d) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
17、 - - - 名师精心整理 - - - - - - - 第 8 页,共 38 页 - - - - - - - - - 运费计算标准见表4.5。表 4.5 某运输公司运费计算标准s250 不打折250=s500 折扣 2500=s1000 折扣 51000=s2000 折扣 82000=s3000 折扣 15#include stdio.h main() float p,w,s,d,f; scanf(“ %f,%,%f” ,p,s,w);if (s3000) d=0.15 else if( s=2000) d=0.1; else if(s=1000) d=0.08; else if(s=500)
18、 d=0.05; else if(s=250) d=0.02; else d=0 f=p*w*s*(1-d); printf(“ %f” ,f); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 38 页 - - - - - - - - - 习题 5 5-1 单选题15 CDABA 610 ABDDB 1114 DBCB 5-2 填空题120 2333 3(1) i10 (2) j%3!=0 4. (1) flag*(float)k/(k+1) (2) flag=-fla
19、g 5(1) max=x (2) x!=-1 (3) scanf(%d, &x) 5-3 编程题1. 用 3 种循环语句编写程序实现下列算式:(1)1+2 2+3 3+,+100 100 (2)e=11111!2!3!n,当最后一项的值小于106时为止。(1) #include stdio.h main() int i; lont s=0; for(i=1;i1e-6) printf(“ %f” ,s); 2. 编写程序求两个正整数的最大公约数。#include stdio.h main() int m,n,t,a,b; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
20、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 38 页 - - - - - - - - - scanf(“ %d,%d” ,&m,&n) ; if (m0 ;y-)s*=x ; printf(” %d,%d,%dn ” ,s%10 ,s/10%10,s/100%10); 4. 百鸡问题。用100 元钱买 100 只鸡,其中,公鸡每只5 元,母鸡每只3 元,小鸡每3 只1 元。编写程序输出各种买法。#include stdio.h main() int x,y,z; for( x=1 ; x20 ;x+) for( y=1 ;y=0 & (
21、5*x+3*y+z/3)-1001e-5) printf(” x=%d,y=%d,z=%d n” ,x,y,z) ; 5. 编写程序分别打印如下图形:* * * * (a) (b) (a) #include stdio.hmain() int j,k ; for( j=1 ;j=4 ;j+) for(k=1;k=4-j;k+)printf( ); printf(*) ; printf(n) ; * * * * * * * * * * * * * * * * 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
22、 - - - - 第 11 页,共 38 页 - - - - - - - - - (b) #include stdio.h main() int j,k ; for( j=1 ;j=4 ;j+) for(k=1;k=4-j;k+)printf( ); for(k=1 ;k=2*j-1 ;k+) printf(*) ; printf(n) ; 6. 请编写程序求100999 之间所有的水仙花数。水仙花数的含义是指这样的一个3 位数,其各位数字的立方和等于该数本身。例如,371=33+73+13,所以 371 是一个水仙花数。程序分析:利用for 循环控制100-999 个数,每个数分解出个位,十
23、位,百位。#include stdio.h main() int i,j,k,n; printf(water flowernumber is:); for(n=100;n= a & ch= z ) ch=ch-32; putchar(ch); 2. 编写一函数求e=11111!2!3! nfloat expp(int n) int k, fac=1; float sum=0; for(k=1; k=n; k+) fac*=k; sum+=1.0/fac ; return(sum); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
24、 名师精心整理 - - - - - - - 第 13 页,共 38 页 - - - - - - - - - 3. 编写一函数求一个整数的任意次方的最后3 位数,即求xy的最后 3位数。int xy3( int x, int y) int k, num=1; for(k=1;kaj 3 (1) r+bk (2) *x 8-3 编程题1设数组a 中的元素都为正整数,编程求其中偶数的个数和偶数的平均值。#include stdio.h #define N 10 main() int aN=1,2,3,4,5,6,7,8,9,0,osum=0, ocount=0, j; for(j=0;j10;j+)
25、 if(!( j%2) ocount+; osum+=aj; printf(“n” , ocount, osum); 2. 有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中,插入后数组仍然有序,请编程实现。#include stdio.h #define N 10 main() int aN=10,20,30,40,50,60,70,80,90, j, k, x; scanf(“ %d” ,&x);for(j=0;jN;j+) if (xj; k-) ak=ak-1; aj=x; for(j=0;jN;j+) printf(“ %d” ,aj); 3编程求一个矩阵对角元素之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计教程张敏霞参考答案 2022 语言程序设计 教程 张敏霞 参考答案
限制150内