c语言程序设计教程(第2版)课后题及模拟题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言程序设计教程(第2版)课后题及模拟题参考答案
习题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)用程序设计语言表示算法
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=%f\n" , s );
}
2. 编写程序显示如图1.11所示信息。
图1.11 显示信息
#include "stdio.h"
main()
{ printf("******************************\n");
printf("* hello world *\n");
printf("******************************\n"); }
习题2
2-1 单选题
1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题
1.2.000000
2.1,0.5
3.9,2
4.6
5.100,d
6.(1)20 (2)0 (3)60
7. (1)10,6,4 (2)6,9,15 (3)3,60,83
8. 55
习题3
3-1 选择题
1-5BDABC 6-10ADCAC 11-12BB
3-2 填空题
1. 3
2.0261
3.0x10
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,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);
printf(" x y\n");
printf("%4d%4d\n", x, y );
printf("%4o%4o\n", x, y );
printf("%4x%4x\n", x, y );
}
2. 编写一个程序,输入一个大写英文字符('B'~'Y'),输出它的前导字符、该字符本身及其后续字符。
#include "stdio.h"
main()
{ char c;
scanf(“%c”, &c );
printf(“%c, %c, %c\n”, 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%d\n”, a1, a2, a3);
}
4. 编写程序,读入3个double型数据,求它们的平均值,保留此平均值小数点后1位数,对小数点后第2位数进行四舍五入,最后输出结果。
#include "stdio.h"
main()
{ double a, b, c, ave;
scanf(“%lf%lf%lf”, &a, &b, &c );
ave=(a+b+c)/3 ;
printf(“%8.2f\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 ;
prin tf(“a=%d, b=%d, c=%d\n”, a, b, c );
}
习题4
4-1单选题
1~5 AADAD 6~10 ACB BB 11~12BA
4-2填空题
1. 1
2. (1) a>0 || b>0 (2) x>0 && x<=10
(3) a==1.5 && b==1.5 && c==1.5 (4)p 3.(1)0 (2)1 (3)1 (4)0 (5)1 4. (max=a>b?a:b)>c?max:c 5.-4 6.1 7.5,0,3 8. (1) (a==0) (2) (b==0) (3) (disc<0) 4-3 编程题 1.输入3个实型数值a、b、c,如果能用它们作为三角形的3条边形成一个三角形,则输出三角形的面积,并画出实现该算法的N-S流程图并编程实现。 #include "stdio.h" #include “math.h” main() { float a,b,c,s,area; scanf(“%f,%f,%f”,&a,&b,&c);