C语言程序设计习题答案.docx
PAGE
PAGE17
C语言程序设计习题答案
习题一 C语言程序设计概述
一、名词解释
(1)程序P1
(2)程序设计P1
(3)机器语言P1
(4)汇编程序P2
(5)高级语言P2
(6)编译程序P3
(7)解释程序P3
(8)算法P4
(9)结构化的程序设计P9二、简述题
设计程序时应遵循哪些基本原则?P4
答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
算法的要素是什么?算法具有哪些特点?
答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
算法的表示形式有哪几种?
答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S流程图,盒图)。
有哪三种基本结构?
答:三种基本结构是:顺序结构、选择结构和循环结构。
传统流程图与N-S流程图最大的区别是什么?
答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。三、用传统流程图、N-S图分别表示求解以下问题的算法。
有3个数a,b,c,要求按由大到小的顺序把它们输出。
输入三个数给
输入三个数给a,b,c
如果ab
yes
将a与b的值互换
no
如果ac
Yes
将a与c的值互换
no
如果bc
yes no
将b与c的值互换
输出a,b,c的值
输入一个数给xmax=x;min=x;n=1;当n
输入一个数给x
max=x;min=x;n=1;
当n小于10时输入下一个数给x
如果maxx
Yesmax=x
如果minx
Yesmin=x
n=n+1
No
No
输出max,min的值
3.求1+2+3+?+100的值。
s=0; i=1当
s=0; i=1
当i小于等于100时
s=s+i; i=i+1;
输出s的值
s=1; i=1
当i小于等于10时
s=s*i; i=i+1;
输出s的值
4.求1×2×3×?×10的值。
输入一个数给x
输入一个数给x
X=1
Yes
no
X1 x5
Yes no yes noY=3x y=4x-1 y=5x+1 y=6-3x
输出s的值
Y=3X (X1)
Y=
4X-1 (X=1)
5(X-1)+6 (1X5)
6-3X (X≥5)
求100~200之间的所有素数。
i=100当
i=100
当i=200时
n=2; flag=1;
当ni时
i能否被n整除?yes no
flag=0
n=n+1flag=1?
yes no
输出i的值
i=i+1
求一元二次方程ax2+bx+c=0的根。分别考虑d=b2-4ac大于0、等于0和小于0三种情况。
四、注释下面C程序的各个组成部分。main() /*主函数*/
{ /*程序开始*/
inta,k,m; /*定义三个用来存放整数的变量 */
a=10; /*将整数10赋值给变量a */
k=2; /*将整数2赋值给变量k */
m=1; /*将整数1赋值给变量1 */
a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf(%d\n,a); /*在屏幕上打印出变量a的值*/
} /*程序结束*/
习题二 数据类型、运算符与表达式
一、选择题
1~10:BCDCB DDBCA
11~20: ADDAA DBADC
21~28: DABAD CDD
二、填空题
字母 L 或字母 l
字符或%c 、 整数或%d
在程序运行过程中,其值可以在一定的范围内变化的量。
4. ‘\0’
小数形式 、 指数形式
关键字 、 预定义标识符 、 用户标识符
字母 、 数字 、 下划线 、 数字
8. 18
9. 2 、 1 、 30
双精度实数或double
赋值 、 逗号 、20、20 、 20、 4
12. 4
习题三顺序程序设计
一、选择题
1~10:BCCBC CCDCC
二、填空题
printf() 、 scanf()
l (注:long的第1个字符)
域宽,即在格式字符前加一个整数,如%5d4. ‘\0’
5. e
6. 6
、
g
7. s
8. *
、
c
9. -
10. i
、
+
三、编程题
编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。例如输入的时间为4258秒,则输出结果为:1小时10分58秒。
答:程序参见文件Cprogram\xt3_3_01.c#includestdio.h
mai