二级公共基础
第一章 数据结构与算法
一、选择题:
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.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
A)冒泡排序为n/2 B)冒泡排序为n
C)快速排序为n D)快速排序为n(n-1)/2
7.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为
A)log2n B) n/2 C) n D) n+1
8.下列对于线性链表的描述中正确的是
A)存储空间不一定是连续,且各元素的存储顺序是任意的
B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
9.算法的时间复杂度是指
A) 执行算法程序所需要的时间 B) 算法程序的长度
C) 算法执行过程中所需要的基本运算次数 D) 算法程序中的指令条数
10.算法的空间复杂度是指
A)算法程序的长度 B)算法程序中的指令条数
C)算法程序所占的存储空间 D)算法执行过程中所需要的存储空间
11.下列叙述中正确的是
A)线性表是线性结构 B)栈与队列是非线性结构
C)线性链表是非线性结构 D)二叉树是线性结构
12.数据的存储结构是指
A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表示
C)数据在计算机中的顺序存储方式 D)存储在外存中的数据
13.下列关于队列的叙述中正确的是
A)在队列中只能插入数据 B)在队列中只能删除数据
C)队列是先进先出的线性表 D)队列是先进后出的线性表
14.下列关于栈的叙述中正确的是
A)在栈中只能插入数据 B)在栈中只能删除数据
C)栈是先进先出的线性表 D)栈是先进后出的线性表
15.设有下列二叉树,
对此二叉树中遍历的结果为
A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA
16.在深度为5的满二叉树中,叶子结点的个数为
A)32 B)31 C)16 D)15
17.对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为
A)n+1 B)n C) (n+1)/2 D) n/2
18.设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为
A)8 B)7 C)6 D)5
19.下列叙述中,错误的是()
A)数据的存储结构与数据处理的效率密切相关。
B)数据的存储结构与数据处理的效率无关。
C)数据的存储结构在计算机中所占的空间不一定是连接的。
D)一种数据的逻辑结构可以有多种存储结构。
20.下列叙述中,正确的是()
A) 线性链表中的各元素在存储空间中的位置必须是连续的。
B) 线性链表中的表头元素一定存储在其他元素的前面。
C) 线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面。
D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的。
21.设栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次通过栈S,并且一个元素出栈后即进入队列Q,若出队的顺序为b,d,c,f,e,a,则栈S的容量至少应该为()
A)3 B)4 C)5 D)6
22.在下列数据结构中,不是线性结构的是()
A)线性链表 B)带链的栈 C)带链的队列 D)二叉链表
23.在下列数据结构中按先进后出原则组织数据的是()
A)循环队列 B)栈 C)循环链表 D)顺序表
24.下列数据结构具有记忆功能的是()
A)队列 B)循环队列 C)栈 D)顺序表
25.设有下列二叉树
对此二叉树前序遍历的结果为()
A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY
26.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为()
A)12 B)13 C)14 D)15
27.在最坏的情况下,下列排序方法中时间复杂度最小的是()
A)冒泡排序 B)快速排序 C)插入排序 D)堆排序
28.在长度为n的有序线性表中进行二分查找,需要的比较次数为()
A)log2n B)nlog2n C)n/2 D)(n+1)/2
二、填空题:
1.算法复杂度主要包括时间复杂度和_____________。
2.一棵二叉树第六层(根节点为第一层)的节点数最多为___________个。
3.数据结构分为逻辑结构和存储结构,循环队列属于___________结构。
4.某二叉树中,度为2的结点有18个,则该二叉树中有_____________个叶子结点。
5.问题处理方案的正确而完整的描述称为_____________。
6.在长度为n的有序线性表中进行二分查找,需要的比较次数为_____________.
7.设一棵完全二叉树共有700个结点,则在该二叉树中有_________个叶子结点.
8.设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为________
9.在最坏的情况下,冒泡排序的时间复杂度为_________________.
10.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有_____个元素.
11.数据结构分为逻辑结构与存储结构,线性链表属于 。
12.在一个容量为25的循环队列中,若头指针front=16,尾指针rear=9,则该循环队列中共有 个元素。
13.在长度为n的线性表中查找一个表中不存在的元素,需要的比较次数为 。
14.设一棵完全二叉树共有739个结点,则在该二叉树中有 个叶子结点。
15.在深度为5的完全二叉树中,度为2的结点数最多为 。
第二章 程序设计基础
一、选择题:
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.下列叙述中,正确的是()
A)在模块化程序设计中,一个模块应尽量多地包括与其他模块联系的信息
B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节
C)在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法
9.下列叙述中,正确的是()
A)在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
B)在面向对象的程序设计中,各个对象之间具有密切的联系
C) 在面向对象的程序设计中,各个对象都是公用的
D)上述3种说法都不对
10.下列叙述中,正确的是()
A)自己编写的程序主要是给自己使用的 B)当前编写的程序主要是为当前使用的
C)运行结果正确的程序一定具有易读性 D)上述3种说法都不对
二、填空题:
1.在面向对象的方法中,类的实例称为____________?。
2.结构化程序设计的三种基本逻辑结构为顺序、选择和_________________。
3.源程序文档化要求程序应加注释。注释一般分为序言性注释和________________。
4.在面向对象方法中,信息隐蔽是通过对象的__________性来实现的。
5.类是一个支持集成的抽象数据类型,而对象是类的___________。
6.在面向对象方法中,类之间共享属性和操作的机制称为______________。
7.符合结构化原则的3种基本控制结构为:顺序结构、选择结构和 。
8.在面向对象的程序设计中,类描述是具有相似性质的一组 。
9.在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为 。
第三章 软件工程基础
一、选择题:
1.下列叙述中正确的是
A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成
C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试
2.在软件设计中,不属于过程设计工具的是
A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图
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.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
A)概要设计 B)详细设计 C)可行性分析 D)需求分析
9.下面不属于软件工程的3个要素的是
A)工具 B)过程 C)方法 D)环境
10.检查软件产品是否符合需求定义的过程称为
A)确认测试 B)集成测试 C)验证测试 D)验收测试
11.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
A)控制流 B)加工 C)数据存储 D)源和潭
12.下面不属于软件设计原则的是
A)抽象 B)模块化 C)自底向上 D)信息隐蔽
13.程序流程图(PFD)中的箭头代表的是
A)数据流 B)控制流 C)调用关系 D)组成关系
14.下列工具中为需求分析常用工具的是
A)PAD B)PFD C)N-S D)DFD
15.在结构化方法中,软件功能分解属于下列软件开发中的阶段是
A)详细设计 B)需求分析 C)总体设计 D)编程调试
16.软件测试的目的是
A)发现错误 B)改正错误 C)改善软件的性能 D)挖掘软件的潜能
17.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及 A)阶段性报告 B)需求评审 C)总结 D)都不正确
18.下列叙述中,正确的是()
A)软件就是程序清单 B)软件就是存放在计算机中的文件
C)软件应包括程序清单以及运行结果 D)软件包括程序和文档
19.下列叙述中,正确的是()
A)软件维护是指修腹程序中被破坏的指令 B)软件一旦交会使用就不需要再进行维护
C)软件交付使用后还需要进行维护 D)软件交付使用后其生命周期就结束
20.下列叙述中,正确的是()
A)软件测试的目的是证明程序是否正确
B)软件测试的目的是尽可能多地发现程序中的错误
C)软件测试的目的是使程序运行结果正确
D)软件测试的目的是使程序符合结构化原则
21.软件调试的目的是()
A)改正程序中的错误 B)提高程序的执行效率
C)增加程序的功能 D)调整程序的控制结构
22.在数据流图(DFD)中,带有名字的箭头表示()
A)模块之间的调用关系 B)程序的组成成分
C)控制程序的执行顺序 D)数据的流向
23.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示()
A)模块之间的调用关系 B)程序的组成成分
C)控制程序执行顺序 D)数据的流向
24.为了使模块尽可能独立,要求()
A)模块的内聚程度要尽量高且耦合程度要尽量强
B)模块的内聚程度要尽量高且耦合程度要尽量弱
C)模块的内聚程度要尽量低且耦合程度要尽量弱
D)模块的内聚程度要尽量低且耦合程度要尽量强
25.下列叙述中,正确的()
A)接口复杂的模块,其耦合程度一定低 B)耦合程度弱的模块,其内聚程度一定低
C)耦合程度弱的模块,其内聚程度一定高 D)上述3种说法都不对
26.下列叙述中,正确的是()
A)测试与调试工作必须由程序编制者自己完成
B)测试用例和调试用例必须一致
C)一个程序经调试改正错误后,一般不必再进行测试
D)上述3种说法不对
27.下列叙述中,正确的是()
A)黑箱测试方法完全不考虑程序的内部结构和内部特征
B)黑箱测试的方法主要考虑程序的内部结构和内部特征
C)白箱测试主要考虑程序内部的逻辑结构
D)上述3种说法都不对
二、填空题:
1.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中___________的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
2.诊断和改正程序中错误的工作通常称为___________。
3.软件是程序、数据和___________的集合。
4.Jackson方法是一种面向___________的结构化方法。
5.软件工程研究的内容主要包括:________技术和软件工程管理。
6.数据流图的类型有_________和事务型。
7.软件开发环境是全面支持软件开发全过程的___________集合。
8.数据流图有两种典型的结构形式,它们分别是变换型和 。
9.耦合和内聚是评价模块独立性的两个主要标准,其中 反映了模块内各成分之间的联系。
10.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为
11.测试的目的是暴露错误,评价程序的可靠性;而 的目的归现错误的位置并改正错误。
12.程序的测试方法发分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序运行过程中暴露错误,这种方法称为 。
第四章 数据库基础
一、选择题:
1.数据库设计的根本目标是要解决
A)数据共享问题 B)数据安全问题 C)大量数据存储问题 D)简化数据维护
2.设有如下关系表:
则下列操作中正确的是
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
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.数据库系统的核心是
A)数据库 B)数据库管理系统 C)数据模型 D)软件工具
9.用树形结构来表示实体之间联系的模型称为
A)关系模型 B)层次模型 C)网状模型 D)数据模型
10.关系表中的每一横行称为一个
A)元组 B)字段 C)属性 D)码
11.按条件f对关系R进行选择,其关系代数表达式是
A)R|╳|R B)R|╳|R C)σf(R) D)πf(R)
f
12.关系数据库管理系统能实现的专门关系运算包括
A)排序、索引、统计 B)选择、投影、连接
C)关联、更新、排序 D)显示、打印、制表
13.在关系数据库中,用来表示实体之间联系的是
A)树结构 B)网结构 C)线性表 D)二维表
14.数据库设计包括两个方面的设计内容,它们是
A)概念设计和逻辑设计 B)模式设计和内模式设计
C)内模式设计和物理设计 D)结构特性设计和行为特性设计
15.将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性 B)关系 C)键 D)域
16.下列叙述中,正确的是()
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)以上三种说法都不对
17.下列叙述中,正确的是()
A)实体集之间一对一的联系实际上就是一一对应的关系
B)关系模型只能处理实体集之间一对一的联系
C)关系模型属于格式化模型
D)以上三种说法都不对
18.下列关于关系运算的叙述中,正确的是()
A)投影、选择、连接是从二维表的行的方向来进行运算
B)并、交、差是从二维表的列的方向来进行运算
C)投影、选择、连接是从二维表的列的方向进行运算
D)以上三种说法都不对
19.下列叙述中,正确的是()
A)数据库设计是指设计数据库系统
B)数据库设计是指设计数据库管理系统
C)数据库设计是指在已有数据库管理系统的基础上建立数据库
D)以上三种说法都不对
20.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指()
A)数据与程序独立存放 B)不同的数据被存放在不同的文件中
C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对
21.下列叙述中,正确的是()
A)用E-R图能够表示实体集之间一对一的联系、一对多的联系,多对多的联系
B)用E-R图只能表示实体集之间一对一的联系
C)用E-R图只能表示实体集之间一对多的联系
D)用E-R图表示的要领数据模型只能转换为关系数据模型
22.在关系模型中,下列叙述中正确的是()
A)为了建立一个关系,首先要构造数据的逻辑关系
B)表示关系的二维表中各元组的每一个分量还要以分成若干数据项
C)一个关系的属性名表称为关系模式
D)一个关系可以包括多个二维表
23.下列数据模型中,具有坚实理论基础的是()
A)层次模型 B)网状模型 C)关系模型 D)以上三个都是
24.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是()
A)选择 B)连接 C)投影 D)并
25.下列关系运算中,能使经运算后得到的新关系中元组个数少于原来关系中元组个数的是()
A)选择 B)连接 C)投影 D)并
二、填空题:
1.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是___________。
2.在关系数据库中,把数据表示成二维表,每一个二维表称为__________?。
3.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。
4.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,成为______________。
5.数据库系统中实现各种数据管理功能的核心称为__________________。
6.关系模型的完整性规则时对关系的某种约束条件,包括实体完整性、___________和自定义完整性。
7.在关系模型中,把数据看成一个二维表,每一个二维表称为一个______________。
8.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改;称为_________________。
9.数据库系统中实现种数据管理功能的核心软件称为_____________ 。
10.数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于_______________。
11.在关系模型中,把数据看成一个二维表,每一个二维表称为一个________________ 。
12.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于 __________________的联系。
第一章 数据结构与算法选择题
1-5ACDDB 6-10DCACD 11-14ABCDB 16-20CBABD 21-25ADBCB 26-28BDA
二、填空题,1.空间复杂度 2.32 3.存储 4.19 5.算法 6.log2n 7.350 8.DEBFCA 9.n(n-1)/2 10.3 11.存储结构 12.18 13.n 14.370 15.15
第二章 程序设计基础一、选择题:1-5BADBA 6-10DACAD 二、填空题:1.对象 2.重复(或循环) 3.功能性注释 4.封装 5.实例 6.继承 7.循环结构 8.对象 9.消息第三章 软件工程基础一、选择题:1-5CDACC 6-10BDDDA 11-15ACBDC 16-20ABDCB 21-25ADABC 26-27DA 二、填空题 1.驱动测试 2.程序调试 3.文档 4.数据结构 5.软件开发 6.变换型 7.软件工具 8.事务型 9.内聚 10.数据字典 11.调试 12.动态分析第四章 数据库基础选择题,1-5ABBDC 6-10AABBA 11-15CBDAB 16-20BDDCD 21-25ACCBA
填空题
1.数据库系统阶段 2.关系 3.一对多(或1:N) 4.物理独立性 5.数据库管理系统 6.参照完整性 7.关系 8.物理独立性 9.数据库管理系统 10.格式化模型 11.关系 12.一对多