公共机基础答案文档格式.docx
《公共机基础答案文档格式.docx》由会员分享,可在线阅读,更多相关《公共机基础答案文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
17、D
同16题
18、A
栈和队列都是线性结构的,树不是线性结构的是非线性结构的,线性链表是线性结构的。
(记住:
出现线性的地方就是线性结构的)
19、C(p15)
在满的二叉树中叶子结点的个数为:
2k-1个,即:
24=16个。
20、A
做这个题目的时候先画出度为4的结点。
接着画出度为3的结点,画出度为2的结点和度为1的结点最后来数叶子结点的个数即可。
21、B(P15)
叶子结点即为度为0的结点,度为0的结点比度为2的结点多一个,所以度为2的结点的个数为2个,度为1的结点的个数为8,所以总的结点的个数为:
3+8+2=13个。
22、A
栈和队列都是线性的,所以B答案是错的,树都是非线性的,D答案出错。
线性链表是线性表的链式存储结构,正确的。
C答案:
双向链表是线性的,C答案出错。
23、D
出现线性的地方都是线性的,栈和队列都是线性的。
二叉链表是非线性的。
24、C
同19题
25、B(P17)
前序遍历的顺序是:
中左右
所以这根树的根节点A应该出现在第一个位置,所以A、C两个答案排除。
所以遍历的结果为:
ATBZXCYP答案为B
26、A(P17)
中序遍历的顺序是:
左中右
遍历这棵树的时候根节点不能出现在第一个位置,所以D答案是错误的。
遍历的结果为:
ACBDFEG,答案为A。
27、D(P17)
后序遍历的顺序是:
右中左
后序遍历的时候最后遍历的是这根树的根节点,所以这棵树的最后的一个元素应该是A。
所以答案为D
28、C(p19)
顺序查找在最坏的情况下比较的次数为n次,平均比较次数为:
(n+1)/2
29、A(p19)
用二分法查找的必须满足的是顺序存储的有序线性表。
非顺序的不可以。
30、A(p20)
用二分法查找数据时,最坏的情况下,需要比较的次数为:
log2n次。
31、B(p19)
在有序的线性表中查找数据的时候,最坏的情况下,需要比较的次数为n次。
所以该题为64.
32、D
在最坏的情况下,冒泡法排序的时间复杂度是:
n(n-1)/2,插入排序的时间复杂度为:
n(n-1)/2。
堆排序的时间复杂度为:
nlog2n,快速排序法的时间复杂度为n(n-1)/2.所以答案为D
33、D
同上
34、A(p1)
算法的有穷性是指:
算法在经过有穷的步骤后结束。
即在时间上是有限的。
35、D
堆排序的时间复杂度是:
:
nlog2n
36、B(P11)
栈是先进后出的顺序组织数据的。
只能在栈的一端插入和输出数据。
37、A(p5)
采用不同的存储结构,数据的处理效率是不同的。
38、D(p8)
选项A数据的逻辑结构和存储结构的类型可以对应,也可以不一一对应。
选项B数据的存储结构有顺序、链式、索引等多种存储结构,而不是向量式的存储结构。
选项C数组可以处理线性的结构,也可以处理其他结构,只是这种不常用而已。
39、C(p20)
冒泡法排序在最坏的情况下的比较次数为n(n-1)/2。
40、A(p15例题2)
在二叉树中,度为2的结点比度为0的结点的个数少一个,有70个叶子结点,所以度为2的结点的个数为69个,所以总的结点的个数69+70+80=219.
41、B(p2)
算法的时间复杂度是值执行算法所需要的计算的工作量。
计算工作量是问题规模的函数。
42、D(p12)
栈和队列都是线性结构,其中队列只能在一端插入元素,在另外一端删除元素。
在队尾插入元素,在对头删除元素。
队列是按照先进先出的远侧组织数据的。
43、A(p15)
度为2的结点比度为0的结点个数少1.有n个度为2的结点,所以度为0的结点即叶子结点的个数为n+1。
44、B(p11)
栈是按照先进后出的顺序组织数据的,进入的顺序是12345ABCDE的顺序进入的,出栈的顺序为EDCBA54321.
45、D(p12)
队列都是线性的。
所以A答案是错误的。
选项B中药反映出队列中元素的动态变化,即删除或者是插入元素,必须使用到队头和队尾指针。
选项C解析同选项B。
所以选D
46、C(p20)
二分法需要比较的次数为:
所以是O(log2n)函数。
47、A
链式存储结构可以是线性的,也可是非线性的。
所以B答案是错误的。
C答案链式结构可以存放的是有序的数据,也可以是非线性的结构。
故有误。
D选项中的药数据的长度。
二、填空题
1、算法
2、空间复杂度
3、线性的
栈、队列是线性的。
4、存储
循环队列说明数据的存储结构,因为数据在内存中是连续的。
5、逻辑结构
链表在内存中是不连续的,只是靠指针来实现数据之间的连续。
所以线性队列是逻辑结构
6、栈
7、队列
8、4
队列中元素个数的计算方法是为:
尾指针—头指针+1=9-6+1=4。
9、8
尾指针—头指针+1=16-9+1=8。
10、32
在二叉树中的第k层中的结点个数最多为:
2k-1即:
24=16。
11、14(p16)
完全二叉树是在最外层中缺少一个或者是若干个结点的二叉树。
最外层的结点的个数为:
24=16,但是该树为完全二叉树,所以缺少的是一个叶子结点,所以最外层的叶子结点的个数为15个结点。
所以度为2的结点的个数为:
14个
12、19
度为2的结点个数比度为0的结点个数少一个。
13、350(p16)
完全二叉树中度为1的结点个数为1或者0。
假设度为0的结点个数为X,那么度为2的结点的个数为X-1,所以总的个数为:
X+X-1+0=700,那么结果为一个小数,所以度为1的结点的个数不可能是0,是1.那么最后的结果为350,刚好是一个整数。
所以答案为350.
14、370
同上。
15、DEBFFCA(p17)
前序遍历的顺序为:
中左右
右中左
后序遍历的顺序是:
右中左
ABDECF,说明这个二叉树的的根结点:
A。
根据中序遍历的顺序为:
DBEAFC。
所以DBE为左树,FC为右树。
所以最后的遍历的结果为:
DEBFFCA
16、n(p19)
顺序查找在最坏的情况下需要比较的次数为n次,数据不存在,那么比较的次数为最大的值。
则比较的次数为n次。
17、log2n
18、n(n-1)/2
19、n(n-1)/2
所以为10*9/2=45。
20、63
在满二叉树中的第k层中的结点个数最多为:
26=64。
所以度为2的结点个数为63
21、16
22、25
尾指针—头指针+1=29-5+1=25。
23、DBXEAYFZC(p17)
所以遍历的顺序是:
DBXEAYFZC
第二章程序设计基础
1、A(p28)
良好的程序设计风格应该满足的要求为:
程序应简单,清晰,可读性好。
2、D(p28)
良好的程序设计风格为:
1、源程序文档化2、数据说明的方法3、语句的结构4、输入和输出。
5、设计模块要高内聚,低耦合
3、D
略
4、D(p28)
结构化程序设计的方法原则是:
1、模块化2、自顶向下3、逐步求精
4、限制使用goto语句。
5、B
程序设计的原则是:
清晰第一,效率第二。
所以结构化设计方法也强调的是清晰第一,效率第二
6、A(p34)
结构化程序设计的特点是:
模块化的程序设计的原则。
选项D每一个控制结构只允许有一个入口和一个出口是正确的,但不是结构化程序设计的主要特点。
选项B具有封装性,那是面向对象的主要的特点。
选项C具有独立性,主要是面向对象的特点。
7、B
在模块化程序设计中,一个模块应该和其他模块保持少的联系,这是模块之间的耦合性。
故A错
选项B中应该先把大的问题细小化,再把小的问题具体化,所以首先考虑的应该是大的问题,而不应该是问题的每一个细节。
所以选项B出错。
选项D中,可以同时采用不同的程序设计的方法。
8、D(p28)
面向对象的程序设计方法中,采用的是消息的方式实现相互联系的。
9、B(p28)
模块的独立性与信息隐蔽性直接相关。
10、A(p37)
如果子啊创建类的时候或者是在创建第一个对象的时候,只有封装,没有继承。
选项BCD都是对象的基本特征。
11、A(p53)
程序设计的时候要满足的是:
高内聚,低耦合。
所以模块之间的联系应该是要尽量的少。
12、A
在面向对象的程序设计中,由于面向对象中实现了属性和方法的封装,所以在面向对象中对象之间的模块独力性,依赖性小。
13、A(p53)
1、功能性注释(p28)
2、对象(p36)
3、循环结构(p32)
4、封装(p36)
5、实例(p36)
6、对象(p36)
7、类(p36)
8、消息(p36)
对象之间是通过传递消息相互联系的。
9、继承(p37)
对象之间是通过继承实现数据的共享的。
备注:
类是具有相同属性的一组对象的集合,对象是类的一个实例。
第三章软件工程基础
一、选择题
1、D(p41)
考查软件的概念。
软件是程序,数据以及相关文档的集合。
2、D(p41)
2、C(p43)
软件工程的主要思想是在软件开发的过程中,将工程的概念和软件开发结合在一起。
以工程的思想指导软件的开发。
4、C(p45)
软件的维护属于的是维护阶段,不属于软件开发周期。
5、D(p45)
需求分析阶段主要的事情是准确的定义系统应该具有的功能和必须做什么。
6、A(P23)
考查软件定义阶段中:
可行性研究与计划的制定,是确定待开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发的实施计划。
需求分析:
对待开发软件提出的需求分析并给出详细的定义。
软件设计:
包括概要设计和详细设计。
系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件结构、模块的划分、功能的分配以及处理流程。
7、B(P47)
需求分析阶段的4个工作分别为:
需求获取、需求分析、编写规格说明书和需求评审。
8、B
9、A(P49)
(1)加工(转换),输入数据经加工变换产生的输出。
(2)数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
(3)存储文件(数据源),表示处理过程中存放各种数据的文件。
(4)源、潭,表示系统和环境的接口,属系统之外的实体。
10、A(P49)
在DFD的数据流图中,带有注释的箭头代表的是模块之间的相互调用的过程。
11、D
PADPFDN-S图代表的是详细设计中的使用到的工具。
12、C(P52)
在这个程序设计中,设计的基本特点有四个,主要为:
1、模块化
2、抽象3、信息隐蔽性和局部化4、模块独立性
13、A(P53)
模块之间的联系程度为耦合性,一个模块内部数据元素的联系程度称为内聚性
14、B(P53)
程序设计的时候要求高内聚,低耦合。
所以答案选B
15、D
模块的耦合性和内聚性之间没有联系。
16、D(P59)
DFD图是需求分析的方法,而不是过程设计的方法。
17、B(P58)
箭头代表的是控制流,矩形代表的是加工步骤,菱形代表的是逻辑条件。
18、D(P54)
在SC结构图中,带有连线的箭头,代表的是数据的流向。
即数据流。
19、A(P59)
软件测试的主要目的是:
发现程序中的错误,但是并不改正其中的错误。
20、C
21、B(P63)
黑盒测试也称为功能测试或数据驱动测试。
黑盒测试是完全不考虑程序内部的逻辑结构和内部特征的测试,关键是看程序是否达到了设计的要求。
22、A(P66)
确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的各项需求以及软件配置是否完全正确
23、A(P67)
软件调试的任务是诊断和修改程序中的错误。
24、D(p60)
软件测试的准则:
1、所有测试都应该追溯到需求。
2、严格执行测试计划。
3、充分注意测试中的群集表现
4、程序员应该避免检查自己的程序。
5、穷举测试不可能。
25、D
26、C(p67)
A程序设计并不是简单的编写程序,设计的内容很多,包括:
测试、调试、等。
B程序测试中,程序员最好避开测试。
D中程序经调试好后还要进行测试,这样才能保证程序的可行性。
27、C
软件维护是在软件运行使用过程中部断地维护,根据新的提出的需求进行必要而且可能的扩充和删改,软件的生命周期包括从可行性研究到软件退役。
28、B(p53)
软件测试中的要求是:
29、B(P47)
需求分析中主要的目的是:
编写软件规格需求说明说。
30、D
略。
31、B(P67)
32、A
33、D(P48)
在数据流图中带有箭头的线段代表的是:
数据流。
34、B(P67)
其中的PAD图、N-S图,PFD图都是详细设计的中使用到的图型,只有DFD图是在需求分析阶段使用的图。
1、相关文档
2、软件开发技术(P45)
软件工程的内容主要包括软件开发技术和软件工程管理。
3、软件工具(P46)
软件开发环境是指全面支持软件开发全过程的软件工具的集合。
4、数据结构(P47)
(1)结构化分析方法包括:
面向数据结构的Jackson方法(ISD);
面向数据流的结构化分析方法(SA);
面向数据结构的结构化数据系统开发方法(DSSD);
(2)面向对象的分析方法(OOA)。
5、数据字典(P49)
数据字典是结构化分析方法的核心,是用来描述系统中所拥戴的全部数据和文件的文档。
6、内聚(P53)
耦合性指的是:
两个不同模块之间的联系程度。
内聚性指的是:
一个模块中的数据元素之间的联系程度。
7、事务型(P55)
典型的数据流类型有两种:
变换型和事务型。
8、3
树的宽度指的是书中结点所占有的列数。
9、软件调试(P67)
软件调试的任务是诊断和修改程序中的错误。
10、动态分析(P60)
软件测试按照是否需要执行被测软件的角度,分为:
静态测试和动态测试。
其中动态测试是基于计算机的测试。
是为了发现问题而执行程序的过程。
静态测试包括代码检查,静态结构分析,代码质量度量等,静态测试主要是由人工进行的,通过检查程序中的代码,以检查出里面的错误。
11、静态分析(P60)
12、驱动模块(P65)
驱动程序相当于被测模块的主程序,它接受测试数据,并传递给被测模块,输出实际的测试结果。
桩模块通常用于代替被测模块调用的其他模块,其作用仅仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。
13、软件调试(P67)
14、黑盒测试
黑盒测试的主要方法有:
等价类划分法、边界值分析法、错误推测法。
15、软件开发阶段
软件生命周期分为三个阶段,分别为:
定义阶段、开发阶段、维护阶段。
其中定义阶段分为:
可行性研究、需求分析
开发阶段分为:
概要设计、详细设计、编码、测试
维护阶段分为:
使用、维护、退役
16、数据流(P45)
17、输出值集
18、单元测试(将继承测试改为集成测试)。
19、过程
软件工程包括的三个要素:
方法、工具、过程
方法:
完成软件工程项目的技术手段
工具:
支持软件的开发、管理、文档生成
过程:
支持软件开发的个个环节的控制、管理。
第四章数据库设计基础
1.答案选择:
B(P74)
数据库管理系统是数据库系统的核心。
2.答案选择:
A
数据库系统只是减少了冗余而并非避免了一切冗余。
3.答案选择:
B(P79)
外模式也称用户模式,它能够看见和使用局部数据的逻辑结构和特征的描述,它是用户的数据视图。
4.答案选择:
C(P75)
数据库系统(DBS)包括数据库(DB)和数据库管理系统(DBMS)。
5.答案选择:
D(P78)
数据独立性是指数据库中数据独立于应用程序而不依赖于应用程序,即数据与程序间的互不依赖性。
也就是说数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。
数据的独立性包括物理独立性和逻辑独立性两级。
①物理独立性:
数据的物理结构(包括存储结构、存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。
②逻辑独立性:
数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应的应用程序,这就是数据的逻辑独立性。
6.答案选择:
独立性最高的是数据库系统。
7.答案选择:
C
关系模型是数学化的模型,要用到集合论,离散数学等理论知识,因此是具有坚实理论基础的。
8.答案选择:
在E-R图中用来表示实体的图形是矩形。
9.答案选择:
D
一个顾客可以购买多种商品,任何一种商品可以被多个顾客购买。
所以商品和顾客之间的联系是多对多。
10.答案选择:
E-R模型表示实体间的联系有:
一对一、一对多、多对多的联系。
11.答案选择:
C(P84)
层次模型用树形结构来表示各类实体以及实体间的联系。
12.答案选择:
D(P86)
在关系数据库中,用来表示实体自己之间联系的是二维表。
13.答案选择:
A(P86)
在关系表中每一行成为一个元组。
14.答案选择:
C(P86)
关系是对关系的属性描述。
因此C答案是正确的。
A答案:
为了建立一个关系,首先要构造数据的逻辑关系是错误的。
B答案:
元组的分量不可以再进行划分。
D答案:
一个关系表,只能对应一个二维表。
15.答案选择:
B
将E-R图转化为关系模式时,实体与联系都可以表示成关系。
16.答案选择:
关系数据库管理系统能实现的专门关系运算包括:
选择、投影、连接。
17.答案选择:
在关系运算中,连接运算后得到的新表的属性是运算前表中属性相加,即多于原来关系中属性的个数。
18.答案选择:
A把一一对应与一对一概念混淆;
B中关系模型能处理实体集间,一对一、一对多、多对多的联系;
C关系模型属于非格式化模型,而模型和网状模型属于格式化模型.
19.答案选择:
关系表T是关系表R和关系表S的并。
20.答案选择:
21.答案选择:
A答案投影、选择、连接是从二维表的行的方向来进行运算。
这种说法是错误的,投影是从列的方向来进行运算的,因此是错误的。
B答案并、交、差是从行的方向来进行运算的,不是从列的方向进行运算。
C答案投影、选择、连接是从二维表的列的方向来进行运算。
这种说法是错误的,选择、连接是从二维表的行的方向来进行运算。
22.答案选择:
数据库是一种共享资源,所以数据库设计的根本目标是解决数据共享问题。
23.答案选择:
数据库设计分为四个阶段:
需求分析阶段,概念设计阶段,逻辑设计阶段,物理设计阶段。
而B.C.D显然不符合,故选A。
24.答案选择:
数据库系统需要操作系统的支持。
25.答案选择:
概念题,数据库是指在已有数据库管理系统的基础上建立数据库。
26.答案选择:
C(P94)
将E-R图转换为关系数据模型的过程属于逻辑设计阶段。
27.答案选择:
关系T中的元素刚好是关系R和关系S共同拥有的,因此属于交运算。
28.答案选择:
表