C语言程序设计习题参考答案!(第二版--杜友福)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计习题参考答案!(第二版--杜友福)

C语言程序设计习题答案

习题一 C语言程序设计概述

一、名词解释

(1)程序P1 (2)程序设计P1(3)机器语言P1(4)汇编程序P2

(5)高级语言P2(6)编译程序P3(7)解释程序P3(8)算法P4

(9)结构化的程序设计P9

二、简述题

1. 设计程序时应遵循哪些基本原则?P4

答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法的要素是什么?算法具有哪些特点?

答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?

答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S流程图,盒图)。

4. 有哪三种基本结构?

答:三种基本结构是:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?

答:N-S 流程图去掉了在传统流程图中常用的流

程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图、N-S 图分别表示求解以下问题的算法。

1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。

2. 依次将10个数输入,求出其中最大的数

和最小的数并输出。

3. 求1+2+3+…+100的值。

输入三个数给a,b,c 如果a

将a 与b 的值互换

输入一个数给x

max=x;min=x;n

=1;

当n 小于10时

输入下一个

数给x

如果

4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。

6. 求100~200之间的所有素数。

Y 3X (X<1) 输入一个数给x X<=1 Yes no

7. 求一元二次方程ax2+bx+c=0的根。分别考虑d=b2-4ac大于0、等于0和小于0三种情况。

四、注释下面C程序的各个组成部分。

main() /*主函数 */

{ /*程序开始 */

int a,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

二、填空题

1.字母L 或字母l

2.字符或%c 、整数或%d

3.在程序运行过程中,其值可以在一定的范围内变化的量。

4.‘\0’

5.小数形式、指数形式

6.关键字、预定义标识符、用户标识符

7.字母、数字、下划线、数字

8.18

9.2、1、30

10.双精度实数或double

11.赋值、逗号、20、20 、20、 4 12. 4

习题三顺序程序设计

一、选择题

1~10:BCCBC CCDCC

二、填空题

1.printf( )、scanf( )

2.l (注:long的第1个字符)

3.域宽,即在格式字符前加一个整数,如%5d

4.‘\0’

5. e 、g

6. 6

7.s、 c

8.*

9.- 、+

10.i

三、编程题

1.编写程序,从键盘输入一个以秒为单位的时间数,

将其换算成几小时几分几秒,然后进

行输出。例如输入的时间为4258秒,则输出结果为:1小时10分58秒。

答:程序参见文件Cprogram\xt3_3_01.c

#include "stdio.h"

main()

{int x,h,m,s;

scanf("%d",&x);

h=x/3600; m=x%3600/60; s=x%60;

printf("%ds=%d:%d:%d!\n",x,h,m,s);

}

2.编写程序,读入三个整数给变量a、b、c,然后交

换它们中的数,把a中原来的值给b,

把b中原来的值给c,把c中原来的值给a。

答:程序参见文件Cprogram\xt3_3_02.c

#include "stdio.h"

main()

{int a,b,c,t;

printf("input a b c:");

scanf("%d%d%d",&a,&b,&c);

printf("a=%d,b=%d,c=%d\n",a,b,c);

t=a;a=c;c=b;b=t;

printf("a=%d,b=%d,c=%d\n",a,b,c);

}

习题四选择结构程序设计

一、填空题

1. 1 、0

2.!%+<= != && || = 3.x==0

4.0,2

5.20 、0 、0

二、选择题

1~7:DDCAD DC

三、程序阅读题

1.595959

2.0.500000

3.1

4.2

5.6

6.a=2,b=1

7.pass

warn

8. 1