C语言程序设计基础知识 习题一及参考答案

C语言程序设计基础知识 习题一及参考答

第一章:程序设计基础知识 一、 单项选择题

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 min=-32767 计算器k=1 当k=n 输出min 输出min 2、用枚举法设计例1-4中百钱买百鸡问题的算法,并用流程图表示; X=1

当x0 n>1 输出f1,f2 p=f(n) Y N f3=f2+f1 输出p r=f(n-1)+f(n-2) r=1 f4=f3+f2 n=n-1 返回r f1=f3,f2=f4 k=k+2 直到k>15 4、求方程x3-x-1=0在x=附近的一个根。使用迭代法设计其算法,并用流程图表示出来。 解:

一般迭代法:

迭代公式:x1=1-x03,收敛条件:|x0/x1|1e-5 X0= x0=x1 f=x03-x0-1 x1=x0*x0*x0-1 f0=3x02-1 输出x1 x1=x0-f/f0

当|x1/x0>1e-5| x0=x1

f=x03-x0-1 3’2

牛顿迭代法:f(x)=x-x-1,f(x)=3x-1 f0=2*x02-1 ’

迭代公式:x1=x0-f(x0)/f(x0)

输出x1 收敛条件:|x0/x1| b a=2,b=1,c=a Y N 当n>0 t=a,a=b,b=t t=a/b;s=s+t; a> c c=a+b;b=a;a=c; Y N n=n-1; t=a,a=c,c=t 输出s b> c Y N 6、输入任意3个数a,b,c,再按从小到大 t=b,b=c,c=t 顺序输出。 输出a,b,c

7、判断一个整数能否同时被3和7整除。 8、求某课全班平均分。 输入n n=0,s=0 n=0,s=0 n%3= =0 输入x 输入x N Y s=s+x 当x>=0 n%7= =0 s=s+x n=n+1 N Y n=n+1 直到x<0

no no yes 输入x av=s/n 输出av 输出s/n

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