《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

内容发布更新时间 : 2024/7/5 2:36:52星期一 下面是文章的全部内容请认真阅读。

第一章:程序设计基础知识

一、 单项选择题

1、面向过程的程序设计语言是________。

A)机器语言 B)汇编语言 C)高级语言 D)第四代语言

2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。 A)设计数据结构和算法 B)建立数学模型 C)编写程序 D)调试和运行程序

3、以下常用算法中适合计算等差级数的算法是_________。 A)枚举法 B)递推法 C)分治法 D)排序法 4、以下不属于算法基本特征的是__________。

A)有穷性 B)有效性 C)可靠性 D)有一个或多各输出 5、以下描述中不正确的是___________。 A)程序就是软件,但软件不仅仅是程序。

B)程序是指令的集合,计算机语言是编写程序的工具。

C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是_____________。

A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。

C)一个正确的程序就是指程序书写正确。

D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是______________。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。

C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。

8、N-S图与传统流程图比较,主要优点是_________。 A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D)

二、填空题

1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程)

3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(功能操作 流程控制) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性)

11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化)

三、应用题

1、用如何一种熟悉的方法描述求 N 个数中最小数的算法。

开始 开始

k=0 输入n

输入n 输入 min=3276k=1

k>=n? 输入x N N

输入x x

Y min=k x

N

k=k+1 k>=n?

Y

输出

输出min

结 结束

2、用枚举法设计例1-4中百钱买百鸡问题的算法,并用流程图表示;

Y N

开始 x=1 x++ y=1 y++ z=100-x-y x+y+z=100且 x*5+y*3+z/3=100 Y 输出x,y,z y y<=33 y x<20 N N N 开始 f1=1,f2=1,k=0 输出f1,f2 f3=f1+f2 f4=f2+f3 f1=f3,f2=f4 结束

k=k+2 N k>15? Y 结束 a)递推

3、 分别用递推和递规两种算法计算斐波那契数列:

f(n+2)=f(n+1)+f(n),f(1)=f(0)=1 的前30项,并用流程图表示

a)递推 b)递规

递推公式:f(n)=f(n-1)+f(n-2) 递规公式:f(n)=f(n-1)+f(n-2) f(1)=f(0)=1

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi