一、选择题(1)~(35)每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)在下列选项中,哪个不是一个算法一般应该具有的基本特征_________。 A)确定性 B)可行性 C)无穷性 D)拥有足够的情报 答案:C 评析:作为一个算法,一般应具有以下几个基本特征。 ①可行性 ②确定性 ⑨有穷性 ④拥有足够的情报 (2)希尔排序法属于哪一种类型的排序法_________。 A)交换类排序法 B)插入类排序法 C)选择类排序法 D)建堆排序法 答案:B 评析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。 (3)下列关于队列的叙述中正确的是_________。 A)在队列中只能插入数据 B)在队列中只能删除数据 C)队列是先进先出的线性表 D)队列是先进后出的线性表 答案:C 评析:队列是指允许在一端进行插入、而在另一端进行删除的线性表。它又称为"先进先出"或"后进后出"的线性表,体现了"先来先服务"的原则。 (4)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为_________。 A)N+I B)N C)(N+1)/2 D)N/2 答案:B 评析:在进行顺序查找过程中,如果被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。 (5)信息隐蔽的概念与下述哪一种概念直接相关_________。 A)软件结构定义 B)模块独立性 C)模块类型划分 D)模拟耦合度 答案:B 评析:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。 衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化概念的自然扩长。 (6)面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_________。 A)模拟现实世界中不同事物之间的联系 B)强调模拟现实世界中的算法而不强调概念 C)使用现实世界的概念抽象地思考问题从而自然地解决问题 D)鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 答案:C 评析:面向对象的设计方法与传统韵面向过程的方法有本质不同。它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。 (7)在结构化方法中,软件功能分解属于软件开发中的_________阶段。 A)详细设计 B)需求分析 C)总体设计 D)编程调试 答案:C 评析:总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。 (8)软件调试的目的是_________。 A)发现错误 B)改正错误 C)改善软件的性能 D)挖掘软件的潜能 答案:B 评析:由程序调试的概念可知:程序调试活动由两部分组成,其一是根据错误的迹象确定程序中错误的确切性质、原因和位置。其二,对程序进行修改,排除这个错误。所以程序调试的目的就是诊断和改正程序中的错误。 |