一、单项选择题
1.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。 A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序
解析:当数据表 A 中每个元素距其最终位置不远时,说明数据表 A 按关键字值基本有序,
在待排序序列基本有序的情况下,采用插入排序所用的时间最少。
答案:B
2.下列关于栈的描述中错误的是( )。
A.栈是先进后出的线性表 B.栈只能顺序存储
C.栈具有记忆作用 D.对栈的插入与删除操作中,不需要改变栈底指针
解析:本题考查的是栈和队列。
栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入 和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删 除栈顶的元素,即刚刚被插入的元素。所以栈又称先进后出表。线性表可以顺序存储,也可以 链式存储,而栈是一种线性表,也可以采用链式存储结构。
答案:B
3.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
( )。
A.冒泡排序为 n/2 B.冒泡排序为 n C.快速排序为 n D.快速排序为 n(n-1)/2 解析:本题考查的是基本排序算法。
假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n/2 遍的从前往后扫描和 n/2 遍的从后往前扫描,需要的比较次数为 n(n-1)/2。快速排序法最坏情况下的比较次数也是 n(n-1)/2。
答案:D
4.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系 B.系统结构部件转换成软件的过程描述
C.软件层次结构 D.软件开发过程
解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是 定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定 义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是
把系统结构部件转换成软件的过程性描述。
答案:B
5.下列对于线性链表的描述中正确的是( )。
A.存储空间不一定是连续的,且各元素的存储顺序是任意的
B.存储空间不一定是连续的,且前件元素一定存储在后件元素的前面 C.存储空间必须连续,且前件元素一定存储在后件元素的前面 D.存储空间必须连续,且各元素的存储顺序是任意的
解析:本题考查的是线性单链表、双向链表与循环链表的结构及其基本运算。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据节点的存储顺序与数 据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
答案:A
6.下列对于软件测试的描述中正确的是( )。 A.软件测试的目的是证明程序是否正确
B.软件测试的目的是使程序运行结果正确
C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则 解析:本题考查的是软件测试的目的。
关于软件测试的目的,Grenford J.Myers 在 The Art of Software Testing 一书中给出了深刻的 阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为 止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体来说,
软件测试的目的就是尽可能多地发现程序中的错误。
答案:C
7.为了使模块尽可能独立,要求( )。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 解析:本题考查的是软件工程的基本概念。
模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少 且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程 序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚、
低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
答案:B
8.下列描述中正确的是( )。
A.程序就是软件 B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体 D.软件是程序、数据与相关文档的集合
解析:计算机软件是包括程序、数据及相关文档的集合;程序是软件开发人员根据用户 需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。
软件的特点其中包括软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的开发、
运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题。
答案:D
9.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指( )。 A.数据与程序独立存放
B.不同的数据被存放在不同的文件中 C.不同的数据只能被对应的应用程序所使用 D.以上 3 种说法都不对
解析:本题考查的是数据库系统的基本特点。
数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于 应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。选项 A、B、C 三种说法都是错误的。
答案:D
10.用树形结构表示实体之间联系的模型是( )。
A.关系模型 B.网状模型 C.层次模型 D.以上 3 个都是 解析:本题考查的是数据模型。
层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。
答案:C
11.在创建数据库表结构时,给该表指定了主索引,这属于数据完整性中的( )。 A.参照完整性 B.实体完整性 C.域完整性 D.用户定义完整性 解析:实体完整性是保证表中记录唯一的特性,即在一个表中不允许有重复的记录。在 Visual FoxPro 中利用主关键字或候选关键字来保证表中的记录唯一,即保证实体唯一性。在 Visual FoxPro 中将主关键字称为主索引。
答案:B
12.在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是( )。
A.改变表中记录的物理顺序 B.为了对表进行实体完整性约束
C.加快数据库表的更新速度 D.加快数据库表的查询速度
解析:普通索引可以决定记录处理顺序,并允许字段中出现重复值,并且索引项中也允 许出现重复值,所以只起到索引排序的作用。它并没有唯一性,因此其不能改变表中记录的物 理顺序。由于其有索引排序的作用,因此建立普通索引可以加快数据库表的查询速度。
答案:D
13.数据库系统中对数据库进行管理的核心软件是( )。
A.DBMS B.DB C.OS D.DBS
解析:数据库系统(DBS)中对数据库进行管理的核心软件为数据库管理系统(DBMS)。
数据库管理系统可以对数据库的建立、使用和维护进行管理。DB 为数据库的简写。
答案:A
14.设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的关联,
可以设置“参照完整性规则”,为此要求这两个表( )。
A.在父表连接字段上建立普通索引,在子表连接字段上建立主索引 B.在父表连接字段上建立主索引,在子表连接字段上建立普通索引
C.在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引 D.在父表和子表的连接字段上都要建立主索引
解析:参照完整性是指当插入、删除或修改一个表中的数据时,通过参照引用相互关联 的另一个表中的数据来检查对表的数据操作是否正确。
当有两个数据库表,父表和子表之间是一对多的联系,可以通过设置“参照完整性规则”
来控制父表和子表的关联。在关系数据库中通过连接字段来体现和表示联系。连接字段要在父 表中作为主关键字,在子表中是外部关键字,为此要求这两个表在父表连接字段上建立主索引,
在子表连接字段上只要建立普通索引就可以了。
答案:B
15.关系运算中的选择运算是( )。 A.从关系中找出满足给定条件的元组的操作 B.从关系中选择若干个属性组成新的关系的操作 C.从关系中选择满足给定条件的属性的操作 D.A 和 B 都对
解析:关系运算中的选择运算是从关系中找出满足给定条件的元组的操作;投影运算是 从关系中选择若干个属性组成新的关系的操作;连接运算是关系的横向结合。
答案:A
16.在指定字段或表达式中不允许出现重复值的索引是( )。
A.唯一索引 B.唯一索引和候选索引
C.唯一索引和主索引 D.主索引和候选索引
解析:主索引和候选索引具有关键字特性,其字段值可以保证唯一性,它拒绝重复字段。
唯一索引和普通索引允许字段出现重复值。但唯一索引中重复的索引字段值只有唯一一个值出 现在索引项中。所以在指定字段或表达式中不允许出现重复值的索引是主索引和候选索引。
答案:D
17.在 Visual FoxPro 中,以下关于删除记录的描述正确的是( )。
A.SQL 的 DELETE 命令在删除数据库表中的记录之前,不需要用 USE 命令打开表
B.SQL 的 DELETE 命令和传统 Visual FoxPro 的 DELETE 命令在删除数据库表中的记录之前,都 需要用 USE 命令打开表
C.SQL 的 DELETE 命令可以物理地删除数据库表中的记录,而传统 Visual FoxPro 的 DELETE 命
C.SQL 的 DELETE 命令可以物理地删除数据库表中的记录,而传统 Visual FoxPro 的 DELETE 命