第二章 程序设计基础

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

第二章程序设计基础

一、选择题

1.下列叙述中正确的是

A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成

C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试

【答案】C

【解析】软件测试仍然是保证软件可靠性的主要手段,测试的目的是要尽量发现程序中的错误,调试主要是推断错误的原因,从而进一步改正错误。测试和调试是软件测试阶段的两个密切相关的过程,通常是交替进行的。选项C正确。

2. 下列叙述中,不符合良好程序设计风格的是( )

A)程序的效率第一,清晰第二 B)程序的可读性好

C)程序中有必要的注释 D)输入数据前要有提示信息

【答案】A

【解析】本题考查软件工程的程序设计风格。软件在编码阶段,力求程序语句简单、直接,不能只为了追求效率而使语句复杂化。除非对效率有特殊的要求,程序编写要做到清晰第一、效率第二。

人们在软件生存期要经常阅读程序,特别是在软件测试和维护阶段,编写程序的人和参与测试、维护的人都要阅读程序,因此要求程序的可读性要好。

正确的注释能够帮助读者理解程序,可为后续阶段进行测试和维护提供明确的指导。所以注释不是可有可无的,而是必须的,它对于理解程序具有重要的作用。

I/O信息是与用户的使用直接相关的,因此它的格式应当尽可能方便用户的使用。在以交互式进行输入/输出时,要在屏幕上使用提示符明确提示输入的请求,指明可使用选项的种类和取值范围。

经过上述分析可知,选项A是不符合良好程序设计风格要求的。

3.对建立良好的程序设计风格,下面描述正确的是

A)程序应简单、清晰、可读性好 B)符号名的命名只要符合语法

C)充分考虑程序的执行效率 D)程序的注释可有可无

【答案】A

【解析】程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。故本题答案应该为选项A)。

4.下列选项中不符合良好程序设计风格的是

A)源程序要文档化 B)数据说明的次序要规范化

C)避免滥用goto 语 D)模块设计要保证高耦合、高内聚

【答案】D

【解析】编程风格是在不影响性能的前提下,有效地编排和组织程序,以提高可读性和可维护性。更直接的说,风格就是意味着要按照规则进行编程。这些规则包括:(1)程序文档化。就是程序文档包含恰当的标识符.适当的注解和程序的视觉组织等。(2)数据说明。出于阅读理解和维护的需要,最好使模块前的说明语句次序规范化。此外,为方便查找,在每个说明语句的说明符后,数据名应按照字典顺序排列。(3)功能模块化。即把源程序代码按照功能划分为低耦合、高内聚的模块。(4)注意goto语句的使用。合理使用goto语句可以提高代码的运行效率.但goto语句的使用会破坏程序的结构特性。因此,除非确实需要,否则最好不使用goto语,因此,本题的正确答案是D。

5.在设计程序时,应采纳的原则之一是

A)不限制goto语句的使用 B)减少或取消注解行

C)程序越短越好 D)程序结构应有助于读者理解

【答案】D

【解析】滥用goto 语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。故本题答案应该为选项D)。

6.下面不属于软件设计原则的是A)抽象B)模块化C)自底向上D)信息隐藏

【答案】C

【解析】软件设计的原则包括:抽象、模块化、信息隐蔽和模块独立性。所以自底向上不是软件设计原则。答案为C。

7.下列选项中不属于结构化程序设计方法的是

A)自顶向下B)逐步求精 C)模块化 D)可复用

【答案】D

【解析】结构化程序设计方法的主要原则有4点:自顶向下(先从最上层总目标开始设计,逐步使问题具体化)、逐步求精(对于复杂问题,设计一些子目标作为过渡,逐步细化)、模块化(将程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,每个小目标作为一个模块)、限制使用GOTO语句。没有可复用原则,所以选项D为答案。

8.在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的是对象的

A)分类性B)标识惟一性C)多态性D)封装性

【答案】D

【解析】从外面看只能看到对象的外部特性,而对象的内部,即处理能力的实行和内部状态,指的是对象的封装性。

9.结构化程序设计的一种基本方法是A)筛选法B)递归法C)归纳法D)逐步求精法

【答案】D

【解析】在结构化程序设计中通常采取自上而下、逐步求精的方法,其总的思想是先全局后局部、先整体后细节、先抽象后具体。而筛选法、递归法和归纳法指的都是程序的某种具体算法。

10.在结构化程序设计中,模块划分的原则是( )

A)各模块应包括尽量多的功能 B)各模块的规模应尽量大

C)各模块之间的联系应尽量紧密 D)模块内具有高内聚度、模块间具有低耦合度【答案】D

【解析】本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:

1).改进软件结构,提高模块独立性。通过模块的分解或合并,力求降低耦合提高内聚。低耦合也就是降低不同模块间相互依赖的紧密程度,高内聚是提高一个模块内各元素彼此结合的紧密程度。

2).模块的规模应适中。一个模块的规模不应过大,过大的模块往往是由于分解不够充分;过小的模块开销大于有益操作,而且模块过多将使系统接口复杂。因此过小的模块有时不值得单独存在。

3).模块的功能应该可以预测,但也要防止模块功能过分局限。如果模块包含的功能太多,则不能体现模块化设计的特点;如果模块的功能过分的局限,使用范围就过分狭窄。

经过上述分析,本题的正确答案是选项D。

11.结构化程序设计的3种结构是

A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构

C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构

【答案】D

【解析】顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。故本题答案应该为选项D)。

12.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的A)安全性 B)一致性 C)可理解性 D)合理性

【答案】C

13.结构化程序设计主要强调的是

A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性

【答案】D

【解析】结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。故本题答案应该为选项D)。

相关文档
最新文档