1、公共基础知识(一)及答案解析(总分:104.00,做题时间:90 分钟)1.在深度为 7 的满二叉树中,度为 2 的结点个数为 1。(分数:2.00)填空项 1:_2.在学生管理的关系数据库中,存取一个学生信息的数据单位是_。A) 文件 B) 数据库 C) 字段 D) 记录(分数:2.00)A.B.C.D.3.程序流程图中的菱形框表示的是_。(分数:2.00)填空项 1:_4.软件生命周期是指_。A) 软件产品从提出、实现、使用维护到停止使用退役的过程B) 软件从需求分析、设计、实现到测试完成的过程C) 软件的开发过程D) 软件的运行维护过程(分数:2.00)A.B.C.D.5.程序流程图中指
2、有箭头的线段表示的是_。A) 图元关系 B) 数据流C) 控制流 D) 调用关系(分数:2.00)A.B.C.D.6.下列关于栈的叙述正确的是_。A) 栈按“先进先出”组织数据B) 栈按“先进后出”组织数据C) 只能在栈底插入数据D) 不能删除数据(分数:2.00)A.B.C.D.7.假设用一个长度为 50 的数组(数组元素的下标从 0 到 49)作为栈的存储空间,栈底指针 bottom 指向栈底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49,top=30(数组下标),则栈中具有 1 个元素。(分数:2.00)填空项 1:_8.在数据库技术中,实体集之间的联系可以是一对一或一对
3、多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_9.仅由顺序、选择(分支)和重复(循环)结构构成的程序是 1 程序。(分数:2.00)填空项 1:_10.下列叙述中正确的是_。A) 对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB) 对长度为 n 的有序链表进行二分查找,最坏情况下需要的比较次数为(n/2)C) 对长度为 n 的有序链表进行二分查找,最坏情况下需要的比较次数为(log 2n)D) 对长度为 n 的有序链表进行二分查找,最坏情况下需要的比较次数为(nlog 2n)(分数:2.00)A.B.C.D.11.下列叙述中正确的是_。
4、A) 程序执行的效率与数据的存储结构密切相关B) 程序执行的效率只取决于程序的控制结构C) 程序执行的效率只取决于所处理的数据量D) 以上 3 种说法都不对(分数:2.00)A.B.C.D.12.设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置),尾指针 rear=29(指向队尾元素),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_13.有两个关系 R 和 T 如下:(分数:2.00)A.B.C.D.14.算法的空间复杂度是指_。A) 算法在执行过程中所需要的计算机存储空间B) 算法所处理的数据量C) 算法程序中的语句或指令条数D) 算法在执行过程中
5、所需要的临时工作单元数(分数:2.00)A.B.C.D.15.在 E-R 图中,矩形表示 1。(分数:2.00)填空项 1:_16.软件工程三要素包括方法、工具和过程,其中 1 支持软件开发的各个环节的控制和管理。(分数:2.00)填空项 1:_17.面向对象方法中,继承是指_。A) 一组对象所具有的相似性质B) 一个对象具有另一个对象的性质C) 各对象之间的共同性质D) 类之间共享属性和操作的机制(分数:2.00)A.B.C.D.18.在结构化程序设计中,模块划分的原则是_。A) 各模块应包括尽量多的功能B) 各模块的规模应尽量大C) 各模块之间的联系应尽量紧密D) 模块内具有高内聚度、模块
6、间具有低耦合度(分数:2.00)A.B.C.D.19.对下列二叉树进行中序遍历的结果为_。(分数:2.00)填空项 1:_20.下列叙述中正确的是_。A) 数据库系统是一个独立的系统,不需要操作系统的支持B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库管理系统就是数据库系统D) 以上 3 种说法都不对(分数:2.00)A.B.C.D.21.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_22.下列对队列的叙述正确的是_。A) 队列属于非线性表B) 队列按“先进后出”原则组织数据C) 队列在队尾删除数据D) 队列按“先进先出”原则组织数据(分数
7、:2.00)A.B.C.D.23.软件设计中划分模块的一个准则是_。A) 低内聚低耦合 B) 高内聚低耦合C) 低内聚高耦合 D) 高内聚高耦合(分数:2.00)A.B.C.D.24.设有表示学生选课的 3 张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为_。A) 课号,成绩 B) 学号,成绩C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C.D.25.软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件),下面属于应用软件的是_。A) 编译程序 B) 操作系统C) 教务管理系
8、统 D) 汇编程序(分数:2.00)A.B.C.D.26.下面叙述中错误的是_。A) 软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为 DebugD) 软件测试应严格执行测试计划,排除测试的随意性(分数:2.00)A.B.C.D.27.下面选项中不属于面向对象程序设计特征的是_。A) 继承性 B) 多态性 C) 类比性 D) 封装性(分数:2.00)A.B.C.D.28.对下列二叉树进行前序遍历的结果为_。(分数:2.00)A.B.C.D.29.软件开发过程主要分为需求分析、设计、编码与测试 4 个阶段,其中 1 阶段产生“软件
9、需求规格说明书”。(分数:2.00)填空项 1:_30.在 E-R 图中,用来表示实体联系的图形是_。A) 椭圆形 B) 矩形C) 菱形 D) 三角形(分数:2.00)A.B.C.D.31.在 E-R 图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是 1。(分数:2.00)填空项 1:_32.下列叙述中正确的是_。A) 软件测试的主要目的是发现程序中的错误B) 软件测试的主要目的是确定程序中错误的位置C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D) 软件测试是证明软件没有错误(分数:2.00)A.B.C.D.33.有三个关系 R、S 和 T 如下:(分数:2
10、.00)A.B.C.D.34.设二叉数如下:对该二叉树进行后序遍历的结果为_。(分数:2.00)填空项 1:_35.下列数据结构中,属于非线性结构的是_。A) 循环队列 B) 带链队列C) 二叉树 D) 带链栈(分数:2.00)A.B.C.D.36.在软件开发中,需求分析阶段可以使用的工具是_。A) N-S 图 B) DFD 图C) PAD 图 D) 程序流程图(分数:2.00)A.B.C.D.37.软件设计中模块划分应遵循的准则是_。A) 低内聚低耦合 B) 高内聚低耦合C) 低内聚高耦合 D) 高内聚高耦合(分数:2.00)A.B.C.D.38.有一个学生选课的关系,其中学生的关系模式为:
11、学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 1,成绩)。(分数:2.00)填空项 1:_39.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。A) 属性 B) 键 C) 关系 D) 域(分数:2.00)A.B.C.D.40.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。(分数:2.00)填空项 1:_41.数据库系统的核心是 1。(分数:2.00)填空项 1:_42.下列叙述中正确的是_。A) 数据的逻辑结构与存储结构必定是一一对应的
12、B) 由于计算机在存储空间是向量式的存储结构,因此,利用数组只能处理线性结构C) 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D) 以上说法都不对(分数:2.00)A.B.C.D.43.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。A) 并 B) 交 C) 投影 D) 笛卡儿乘积(分数:2.00)A.B.C.D.44.冒泡排序在最坏情况下的比较次数是_。A) n(n+1)/2 B) nlog2nC) n(n-1)/2 D) n/2(分数:2.00)A.B.C.D.45.层次型、网状型和关系型数据的划分原则是_。A) 记录长度 B) 文件的大小C)
13、联系的复杂程度 D) 数据之间的联系方式(分数:2.00)A.B.C.D.46.在二维表中,元组的 1 不可再分成更小的数据项。(分数:2.00)填空项 1:_47.下列排序方法中,最坏情况下比较次数最少的是_。A) 冒泡排序 B) 简单选择排序C) 直接插入排序 D) 堆排序(分数:2.00)A.B.C.D.48.下列说法中正确的是_。A) 为了建立一个关系,首先要构造数据的逻辑关系B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项C) 一个关系的属性名称为关系模式D) 一个关系可以包含多个二维表(分数:2.00)A.B.C.D.49.有两个关系 R,S 如下:(分数:2.00)
14、A.B.C.D.50.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。A) 提高耦合性降低内聚性有利于提高模块的独立性B) 降低耦合性提高内聚性有利于提高模块的独立性C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D) 内聚性是指模块间互相连接的紧密程度(分数:2.00)A.B.C.D.51.下列叙述中正确的是_。A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D) 循环队列中元素的个数是由队头指针和队尾指针共同决定(分数:
15、2.00)A.B.C.D.52.在面向对象方法中,不属于“对象”基本特点的是_。A) 一致性 B) 分类性 C) 多态性 D) 标识唯一性(分数:2.00)A.B.C.D.公共基础知识(一)答案解析(总分:104.00,做题时间:90 分钟)1.在深度为 7 的满二叉树中,度为 2 的结点个数为 1。(分数:2.00)填空项 1:_ (正确答案:63)解析:解析 第 7 层的叶子结点数为 27-1=64。由二叉树的性质 3:在任意一棵二叉树中,度为 0 的结点(即叶子结点)总是比度为 2 的结点多一个,可知:本题度为 2 的结点数为 63 个。2.在学生管理的关系数据库中,存取一个学生信息的数
16、据单位是_。A) 文件 B) 数据库 C) 字段 D) 记录(分数:2.00)A.B.C.D. 解析:解析 在关系数据库中,使用记录作为存取一个实体信息的数据单位。3.程序流程图中的菱形框表示的是_。(分数:2.00)填空项 1:_ (正确答案:逻辑条件)解析:解析 程序流程图中用箭头表示控制流,用矩形表示加工步骤,用菱形表示逻辑条件,如下图所示。4.软件生命周期是指_。A) 软件产品从提出、实现、使用维护到停止使用退役的过程B) 软件从需求分析、设计、实现到测试完成的过程C) 软件的开发过程D) 软件的运行维护过程(分数:2.00)A. B.C.D.解析:解析 软件生命周期的定义是通常将软件
17、产品从提出、实现、使用维护到停止使用而退役的过程。还可将软件周期分为三阶段:定义阶段、开发阶段和维护阶段。5.程序流程图中指有箭头的线段表示的是_。A) 图元关系 B) 数据流C) 控制流 D) 调用关系(分数:2.00)A.B.C. D.解析:解析 程序流程图是软件过程设计中常用的图形描述工具之一。构成程序流程图的最基本符号有:“”或“”表示控制流;“”表示加工步骤;“”表示逻辑条件。6.下列关于栈的叙述正确的是_。A) 栈按“先进先出”组织数据B) 栈按“先进后出”组织数据C) 只能在栈底插入数据D) 不能删除数据(分数:2.00)A.B. C.D.解析:解析 栈是限定在一端进行插入与删除
18、的线性表,允许插入元素的一端为栈顶,允许删除元素的一端为栈底,故选项 c、D 是错误的。栈顶元素总是最后被插入的元素,也是最先被删除的元素;栈底元素则总是最先被插入而最后被删除的元素,即栈是按“先进后出”的原则组织数据的。7.假设用一个长度为 50 的数组(数组元素的下标从 0 到 49)作为栈的存储空间,栈底指针 bottom 指向栈底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49,top=30(数组下标),则栈中具有 1 个元素。(分数:2.00)填空项 1:_ (正确答案:50)解析:解析 栈是一种只允许在一端进行插入和删除的线性表,它是一种操作受限的线性表。表中只允许进
19、行插入和删除的一端称为栈顶(top),另一端称为栈底(hottom)。其元素个数应该就是栈底-栈顶+1。8.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_ (正确答案:多对多)解析:解析 一个学生可以选修多门课程,一门课程可以被多名学生选修,可见“学生”和“可选课程”的联系为多对多。9.仅由顺序、选择(分支)和重复(循环)结构构成的程序是 1 程序。(分数:2.00)填空项 1:_ (正确答案:结构化)解析:解析 概念题。10.下列叙述中正确的是_。A) 对长度为 n 的有序链表进行查找,最坏情况下需要的
20、比较次数为 nB) 对长度为 n 的有序链表进行二分查找,最坏情况下需要的比较次数为(n/2)C) 对长度为 n 的有序链表进行二分查找,最坏情况下需要的比较次数为(log 2n)D) 对长度为 n 的有序链表进行二分查找,最坏情况下需要的比较次数为(nlog 2n)(分数:2.00)A. B.C.D.解析:解析 对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 n。即本题的答案为 A。11.下列叙述中正确的是_。A) 程序执行的效率与数据的存储结构密切相关B) 程序执行的效率只取决于程序的控制结构C) 程序执行的效率只取决于所处理的数据量D) 以上 3 种说法都不对(分数:2.0
21、0)A. B.C.D.解析:解析 计算机中的数据进行处理时,数据的存储结构对程序的执行效率有很大的关系,例如,在有序存储的表中查找某个数值比在无序存储的表中查找的效率高很多。12.设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置),尾指针 rear=29(指向队尾元素),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_ (正确答案:24)解析:解析 当 frontrear 时,循环队列中元素的个数为 rear-front,当 frontrear 时,循环队列中元素的个数为 N(N 为循环队列容量)-front+rear。此题中 front=5rear=
22、29,因此该循环队列中共有29-5=24 个元素。13.有两个关系 R 和 T 如下:(分数:2.00)A. B.C.D.解析:解析 选择和投影都是对单个表进行运算,其结果都是一个关系。选择运算是选择满足条件的元组,投影则是满足条件的列。显然由关系 R 得到 T 是选择运算。14.算法的空间复杂度是指_。A) 算法在执行过程中所需要的计算机存储空间B) 算法所处理的数据量C) 算法程序中的语句或指令条数D) 算法在执行过程中所需要的临时工作单元数(分数:2.00)A. B.C.D.解析:解析 一般来说,一个算法的空间复杂度是指执行这个算法所需的内存空间。一个算法所占用的存储空间包括算法程序所占
23、的空间,输入的初始数据所占的存储空间,以及算法执行过程中所需要的额外空间。算法的空间复杂度是指执行这个算法所需要的计算工作量。15.在 E-R 图中,矩形表示 1。(分数:2.00)填空项 1:_ (正确答案:实体)解析:解析 该题目主要考的是 E-R 模型的图示法:在 E-R 图中用矩形表示实体集,在矩形内写上该实体集的名字,这是实体集表示法;用椭圆表示属性,在椭圆形内写上该属性的名称,这是属性表示法;用菱形表示联系,这是联系表示法。16.软件工程三要素包括方法、工具和过程,其中 1 支持软件开发的各个环节的控制和管理。(分数:2.00)填空项 1:_ (正确答案:过程)解析:解析 方法是完
24、成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。17.面向对象方法中,继承是指_。A) 一组对象所具有的相似性质B) 一个对象具有另一个对象的性质C) 各对象之间的共同性质D) 类之间共享属性和操作的机制(分数:2.00)A.B.C.D. 解析:解析 面向对象方法中,继承是指新类从已有类那里得到已有的特性。由此定义得到正确答案为D。18.在结构化程序设计中,模块划分的原则是_。A) 各模块应包括尽量多的功能B) 各模块的规模应尽量大C) 各模块之间的联系应尽量紧密D) 模块内具有高内聚度、模块间具有低耦合度(分数:2.00)A.B.C.D.
25、 解析:解析 软件设计通常采用结构化设计方法,模块的独立程度是评价设计好坏的重要度量标准。耦合性与内聚性是模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量;耦合性是模块间相互连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。19.对下列二叉树进行中序遍历的结果为_。(分数:2.00)填空项 1:_ (正确答案:ACBDFEHGP)解析:解析 中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。20.下列叙述中正确的是_。A) 数据库系统是一个独立的系统,不需要操作系统的支
26、持B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库管理系统就是数据库系统D) 以上 3 种说法都不对(分数:2.00)A.B. C.D.解析:解析 数据库系统(Database System,DBS)是由数据库(数据)、数据库管理系统(软件)、计算机硬件、操作系统以及数据库管理员组成。作为专门处理数据的系统,数据库技术的主要目的就是解决数据的共享问题。21.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统)解析:解析 数据库管理系统是位于用户和操作系统之间的一层数据管理软件,用于描述、管理和维护数据库的程序系统,它
27、建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能随系统而异。它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。数据库管理系统是数据库系统的核心。22.下列对队列的叙述正确的是_。A) 队列属于非线性表B) 队列按“先进后出”原则组织数据C) 队列在队尾删除数据D) 队列按“先进先出”原则组织数据(分数:2.00)A.B.C.D. 解析:解析 队列是一种线性表,它允许在一端进行插入,在另一端进行删除。允许插入的一端称为队尾,允许删除的另一端称为对头。它又称为“先进先出”或“后进后出”的线性表,体现了“先来先服务”的原则。23.软件设计中划分模块的一
28、个准则是_。A) 低内聚低耦合 B) 高内聚低耦合C) 低内聚高耦合 D) 高内聚高耦合(分数:2.00)A.B. C.D.解析:解析 耦合性和内聚性是模块独立性的两个标准。耦合性是模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强,则该模块的独立性越弱。内聚性是一个模块内部各个元素彼此结合的紧密程度的度量,一个模块的内聚性越强则该模块的独立性就越强。在程序结构中,各模块的内聚性越强,则耦合性就越弱。一般较为优秀的软件设计,应尽量做到高内聚、低耦合。24.设有表示学生选课的 3 张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩
29、),则表 SC 的关键字(键或码)为_。A) 课号,成绩 B) 学号,成绩C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C. D.解析:解析 在二维表中凡能唯一标识元组的最小属性集称为关键字,关键字具有标识元组、建立元组间联系等重要作用。此题中,(学号,课号)是表 SC 的主键,学号、课号分别为外键,学号是表 S 的关键字,课号是表 C 的关键字。25.软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件),下面属于应用软件的是_。A) 编译程序 B) 操作系统C) 教务管理系统 D) 汇编程序(分数:2.00)A.B.C. D.解析:解析 操作系统属于系统软件,编
30、译程序与汇编程序都属于支撑软件,而教务管理系统是属于应用软件的。26.下面叙述中错误的是_。A) 软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为 DebugD) 软件测试应严格执行测试计划,排除测试的随意性(分数:2.00)A. B.C.D.解析:解析 软件测试目标是发现软件中的错误,但发现错误不是最终目的,根本目的是开发出高质量的完全符合用户需要的软件。27.下面选项中不属于面向对象程序设计特征的是_。A) 继承性 B) 多态性 C) 类比性 D) 封装性(分数:2.00)A.B.C. D.解析:解析 对象是由数据和允许的操
31、作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。面向对象技术有 3 个重要特性:封装性、继承性和多态性。28.对下列二叉树进行前序遍历的结果为_。(分数:2.00)A.B.C. D.解析:解析 前序遍历首先访问根结点,然后遍历左子树,最后遍历右子树。29.软件开发过程主要分为需求分析、设计、编码与测试 4 个阶段,其中 1 阶段产生“软件需求规格说明书”。(分数:2.00)填空项 1:_ (正确答案:需求分析)解析:解析 需求分析的任务是发现需求、求精、建模和定义需求的过程。需求规格说明书是需求分析的阶段成果,可以为用户、分析人
32、员和设计人员之间的交流提供方便,可以直接支持目标软件的系统确认,又可作为控制软件开发进程的依据。30.在 E-R 图中,用来表示实体联系的图形是_。A) 椭圆形 B) 矩形C) 菱形 D) 三角形(分数:2.00)A.B.C. D.解析:解析 E-R 图用矩形表示实体集,用椭圆表示属性,用菱形表示联系。31.在 E-R 图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是 1。(分数:2.00)填空项 1:_ (正确答案:菱形框)解析:解析 在 E-R 图中,表示实体用矩形框,实体的属性用椭圆框,表示实体之间联系的是菱形框。32.下列叙述中正确的是_。A) 软件测试的主要目的是发现程序中
33、的错误B) 软件测试的主要目的是确定程序中错误的位置C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D) 软件测试是证明软件没有错误(分数:2.00)A. B.C.D.解析:解析 关于软件测试的目的,Grenford J. Myers 在The Art of Software Testing)一书中给出了深刻的阐述:“软件测试是为了发现错误而执行程序的过程:一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。”整体来说,软件测试的目的就是尽可能多地发现程序中的错误。33.有三个关系 R、S 和 T 如下:(分数:2.
34、00)A. B.C.D.解析:解析 关系运算中自然连接是使用等于运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。并是指两个结果集合并,交是指两个结果集的公共部分。投影是从表中选出指定的属性值组成新表,是单目运算,由此可知本题答案为 A。显然由关系 R 得到T 是自然连接。34.设二叉数如下:对该二叉树进行后序遍历的结果为_。(分数:2.00)填空项 1:_ (正确答案:EDBGHFCA)解析:解析 本题考查的知识点是二叉树后序遍历。后序遍历指在访问根结点、遍历左子树与遍历右子树三者中,首先遍历左子树,然后遍历右子树,最后遍历访问根结点,在遍历左、
35、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。35.下列数据结构中,属于非线性结构的是_。A) 循环队列 B) 带链队列C) 二叉树 D) 带链栈(分数:2.00)A.B.C. D.解析:解析 线性结构满足两个条件:有且只有一个根结点;每个结点最多有一个前件,也最多有一个后件。栈、队列都属于线性结构,栈是一种先进后出的线性结构,允许在栈顶进行插入或删除运算;队列则是一种先进先出的线性结构,允许在队尾进行插入运算,而在队头进行删除运算。二叉树是一种非线性结构,因为除叶子结点,每个结点都有两个后件,不满足线性表的条件。36.在软件开发中,需求分析阶段可以使用的工具是_。A) N-S
36、图 B) DFD 图C) PAD 图 D) 程序流程图(分数:2.00)A.B. C.D.解析:解析 结构化解析方法是常见的需求分析方法之一,它是结构化程序设计理论在软件需求解析阶段的运用,数据流图(Data Flow Diagram,DFD)是结构化解析常用的工具之一。数据字典、判定树和判定表也是常用的结构化分析工具。程序流程图、N-S 图、PAD 图是详细设计过程中常用的图形工具。37.软件设计中模块划分应遵循的准则是_。A) 低内聚低耦合 B) 高内聚低耦合C) 低内聚高耦合 D) 高内聚高耦合(分数:2.00)A.B. C.D.解析:解析 耦合性和内聚性是模块独立性的两个定性标准。内聚
37、性是一个模块内部各个元素间彼此结合的紧密程度的度量,作为软件结构设计的设计原则,要求每个模块的内部都具有很强的内聚性;耦合性是指模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强则该模块的独立性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。38.有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 1,成绩)。(分数:2.00)填空项 1:_ (正确答案:课号)解析:解
38、析 学生和课程直接是多对多的关系,所以关系模式选课应该同时含有两者的主键,即学号和课号。39.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。A) 属性 B) 键 C) 关系 D) 域(分数:2.00)A.B. C.D.解析:解析 E-R 图转换为关系模式时,实体和联系都可以表示为键。40.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。(分数:2.00)填空项 1:_ (正确答案:白盒或者白箱)解析:解析 白盒测试也称结构测试,它与程序内部结构有关,要利用程序结构的实现细节设计测试用例。白盒测试的基本原则是:保证所测模块中每一独立路径至少执行
39、一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。白盒测试的主要方法有:逻辑覆盖、基本路径测试等。41.数据库系统的核心是 1。(分数:2.00)填空项 1:_ (正确答案:数据库)解析:解析 数据模型是对数据特征的抽象,从抽象层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架,包括数据结构、数据操作和数据约束三部分;数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等;数据库管理员是对数据库进行规划
40、、设计、维护、监视等管理的专业人才;数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台 5 部分组成,这 5 部分构成以数据库为核心的完整的运行实体。42.下列叙述中正确的是_。A) 数据的逻辑结构与存储结构必定是一一对应的B) 由于计算机在存储空间是向量式的存储结构,因此,利用数组只能处理线性结构C) 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D) 以上说法都不对(分数:2.00)A.B.C.D. 解析:解析 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构。数组是数据的逻辑结构,可以用多种存储结构来表示,因此选项 B、C 错误。43.
41、在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。A) 并 B) 交 C) 投影 D) 笛卡儿乘积(分数:2.00)A.B. C.D.解析:解析 关系的基本运算有两类:一类是传统的集合运算(并、交、差),另一类是专门的关系运算(选择、投影、连接)。集合的并、交、差:设有两个关系为 R 和 S,它们具有相同的结构,R 和 S 的并是由属于 R 和 S,或者同时属于 R 和 S 的所有元组组成的集合,记作 RS;R 和 S 的交是由既属于 R 又属于S 的所有元组组成的集合,记作 RS;R 和 S 的差是由属于 R 但不属于 S 的所有元组组成的集合,记作RS。因此,在关系运算中,
42、不改变关系表中的属性个数但能减少元组(关系)个数的只能是集合的交了。44.冒泡排序在最坏情况下的比较次数是_。A) n(n+1)/2 B) nlog2nC) n(n-1)/2 D) n/2(分数:2.00)A.B.C. D.解析:解析 如果线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n/2 遍的从前往后扫描和 n/2遍的从后往前扫描,需要比较次数为 n(n-1)/2。45.层次型、网状型和关系型数据的划分原则是_。A) 记录长度 B) 文件的大小C) 联系的复杂程度 D) 数据之间的联系方式(分数:2.00)A.B.C.D. 解析:解析 首先应该理解数据库的概念,数据库是数据的集合,
43、它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成。可见数据库是数据之间的联系方式,因此也是数据库划分的原则。46.在二维表中,元组的 1 不可再分成更小的数据项。(分数:2.00)填空项 1:_ (正确答案:分量)解析:解析 在二维表中,元组是由 n 个元组分量所组成的,这些分量是不可分割的基本数据项,这就是元组分量的原子性,是二维表的性质之一。47.下列排序方法中,最坏情况下比较次数最少的是_。A) 冒泡排序 B) 简单选择排序C) 直接插入排序 D) 堆排序(分数:2.00)A.B.C.D. 解析:解析 考查各种排序方法的时间复杂度,冒泡排序、简单选择排序、直接插入排序在
44、最坏的情况下比较次数都是 O(n2)的,而堆排序的时间复杂度为 O(nlog2n),这也是堆排序的最大优点。48.下列说法中正确的是_。A) 为了建立一个关系,首先要构造数据的逻辑关系B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项C) 一个关系的属性名称为关系模式D) 一个关系可以包含多个二维表(分数:2.00)A. B.C.D.解析:解析 元组已经是数据的最小单位,不能再分;关系的框架称为关系模式;关系框架与关系元组一起构成了一个关系,也就是一个关系对应了一张二维表。选项 A 中,在建立关系前,要先构造数据的逻辑关系是正确的。49.有两个关系 R,S 如下:(分数:2.00)
45、A.B. C.D.解析:解析 由专门的关系运算:选择、投影、插入、连接的定义可知,本题操作中所使用的运算是投影。50.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。A) 提高耦合性降低内聚性有利于提高模块的独立性B) 降低耦合性提高内聚性有利于提高模块的独立性C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D) 内聚性是指模块间互相连接的紧密程度(分数:2.00)A.B. C.D.解析:解析 耦合性是指模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此结合的紧密程度。提高内聚、降低耦合有利于提高模块的独立性。51.下列叙述中正确的是_。A) 循环队列有队
46、头和队尾两个指针,因此,循环队列是非线性结构B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D) 循环队列中元素的个数是由队头指针和队尾指针共同决定(分数:2.00)A.B.C.D. 解析:解析 循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间。循环队列仍然是顺序存储结构,是队列常采用的形式,因此选项 A 错误。在循环队列中,用队尾指针 rear指向队列中的队尾元素,用队头指针 front 指向队列排头元素的前一个位置。循环队列中的元素是动态变化的,每进行一次入队运算,对尾指针就进一;每进行一次出队运算,队头指针就进一。可见由队头指针和队尾指针一起反映队列中元素的动态变化情况,因此选项 B、C 是错误的。从队头指针 front 指向的后一个位置直到队尾指针 rear 指向的位置之间所有的元素均为队列中的元素,因此选项 D 是正确的。52.