配色: 字号:
计算机二级公共基础知识题库及答案分析
2019-05-27 | 阅:  转:  |  分享 
  
全国计算机等级考试二级公共基础知识考题库



第一章数据结构

一、选择题

(1)下列数据结构中,能用二分法进行查找的是

A)顺序存储的有序线性表B)线性链表

C)二叉链表D)有序线性链表

【答案】A

【解析】二分查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大.但允许相邻元素值相等)的。选项A正确。



(2)下列关于栈的描述正确的是

A)在栈中只能插入元素而不能删除元素

B)在栈中只能删除元素而不能插入元素

C)栈是特殊的线性表,只能在一端插入或删除元素

D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

【答案】C

【解析】栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。由此可见,选项A、选项B和选项D错误,正确答案是选项C。



(3)下列叙述中正确的是

A)一个逻辑数据结构只能有一种存储结构

B)数据的逻辑结构属于线性结构,存储结构属于非线性结构

C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

【答案】D

【解析】一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。由此可见,选项D的说法正确。



(4)算法执行过程中所需要的存储空间称为算法的

A)时间复杂度B)计算工作量C)空间复杂度D)工作空间

【答案】c

【解析】算法执行时所需要的存储空间,包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。这些存储空间共称为算法的空间复杂度。



(5)下列关于队列的叙A)程序执行的效率与数据的存储结构密切相关

B)程序执行的效率只取决于程序的控制结构

C)程序执行的效率只取决于所处理的数据量

D)以上三种说法都不对

【答案】A

【解析】本题考查程序效率。程序效率是指程序运行速度和程序占用的存储空间。影响程序效率的因素是多方面的,包括程序的设计、使用的算法、数据的存储结构等。在确定数据逻辑结构的基础上,选择一种合适的存储结构,可以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。因此,本题选项A的说法是正确的。



(8)下列叙述中正确的是()

A)数据的逻辑结构与存储结构必定是一一对应的

B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构

C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构

D)以上三种说法都不对

【答案】D

【解析】本题考查数据结构的基本知识。

数据之间的相互关系称为逻辑结构。通常分为四类基本逻辑结构,即集合、线性结构、树型结构、图状结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储结构在计算机中有两种,即顺序存储结构和链式存储结构。顺序存储结构是把数据元素存储在一块连续地址空间的内存中;链式存储结构是使用指针把相互直接关联的节点链接起来。因此,这两种存储结构都是线性的。可见,逻辑结构和存储结构不是一一对应的。因此,选项A和选项B的说法都是错误的。

无论数据的逻辑结构是线性的还是非线性的,只能选择顺序存储结构或链式存储结构来实现存储。程序设计语言中,数组是内存中一段连续的地址空间,可看作是顺序存储结构。可以用数组来实现树型逻辑结构的存储,比如二叉树。因此,选项c的说法是错误的



(9)冒泡排序在最坏情况下的比较次数是()

A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2

【答案】C

【解析】冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其他值较大的元素也向最终位置移动,此过程称为一趟冒泡。对于有n个数据的序列,共需n-1趟排序,第i趟对从l到n-i个数据进行比较、交换。冒泡排序的最坏情况是待排序序列逆序,第l趟比较n-1次,第2趟比较n-2次。依此类推,最后趟比较1次,一共进行n-l趟排序。因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2)+…+l,结果为n(n-1)/2。本题的正确答案是选项c。



(10)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为()

A)219B)221C)229D)231

【答案】A

【解析】本题考查数据结构中二叉树的性质。二叉树满足如下一条性质,即:对任意一棵二叉树,若终端结点(即叶子结点)数为n0,而其度数为2的结点数为n2,则n0=n2+l。

根据这条性质可知,若二叉树中有70个叶子结点,则其度为2的结点数为70-1,即69个。二叉树的总结点数是度为2、度为1和叶子结点的总和,因此,题目中的二叉树总结点数为69+80+70,即219。因此,本题的正确答案是选项A。



(11)下列叙述中正确的是()

A)算法的效率只与问题的规模有关,而与数据的存储结构无关

B)算法的时间复杂度是指执行算法所需要的计算工作量

C)数据的逻辑结构与存储结构是一一对应的

D)算法的时间复杂度与空间复杂度一定相关

【答案】B

【解析】本题考查数据结构中有关算法的基本知识和概念。数据的结构,直接影响算法的选择和效率。而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。因此,数据的逻辑结构和存储结构都影响算法的效率。选项A的说法是错误的。算法的时间复杂度是指算法在计算机内执行时所需时间的度量;与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。因此,选项B的说法是正确的。

数据之间的相互关系称为逻辑结构。通常分为四类基本逻辑结构,即集合、线性结构、树型结构、图状结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储结构在计算机中有两种,即顺序存储结构和链式存储结构。可见,逻辑结构和存储结构不是一一对应的。因此,选项c的说法是错误的。有时人们为了提高算法的时间复杂度,而以牺牲空间复杂度为代价。但是,这两者之间没有必然的联系。因此,选项D的说法是错误的。



(12)下列关于算法的时间复杂度陈述正确的是

算法的时间复杂度是指执行算法程序所需要的时间

算法的时间复杂度是指算法程序的长度

算法的时间复杂度是指算法执行过程中所需要的基本运算次数

算法的时间复杂度是指算法程序中的指令条数

【答案】C

【解析】算法的时间复杂度是指执行算法所需要的计算工作量,也就是算法在执行过程中所执行的基本运算的次数,而不是指程序运行需要的时间或是程序的长度。



(13)下列关于栈的叙述按照“后进先出”原则组织数据的数据结构是

A队列???????????????B)栈C)双向链表?D)二叉树下列叙述中正确的是

A线性链表是线性表的链式存储结构B)栈与队列是非线性结构

C双向链表是非线性结构D)只有根结点的二叉树是线性结构对如下二叉树进行后序遍历的结果为

AABCDEF????? B)DBEAFC

C)ABDECF???? D)DEBFCA

【答案】D

【解析】二叉树后序遍历的简单描述如下:若二叉树为空,则结束返回。否则(1)后序遍历左子树;(2)后序遍历右子树;(3)访问根结点。也就是说,后序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。根据后序遍历的算法,后序遍历的结果为DEBFCA。



(18)下列对队列的叙述正确的是()

A)队列属于非线性表

B)队列按“先进后出”原则组织数据

C)队列在队尾删除数据

D)队列按“先进先出”原则组织数据

【答案】D

【解析】本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,允许插入元素的一端叫做队尾,允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人总是加入到队尾。因此,本题中只有选项D的说法是正确的。



(19)对下列二叉树进行前序遍历的结果为()



A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ

【答案】C

【解析】本题考查数据结构中二叉树的遍历。根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这三种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。当二叉树的根不为空时,依次执行如下3个操作:

(1)访问根结点

(2)按先序遍历左子树

(3)按先序遍历右子树

根据如上前序遍历规则,来遍历本题中的二叉树。首先访问根结点,即A,然后遍历A的左子树。遍历左子树同样按照相同的规则首先访问根结点B,然后遍历B的左子树。遍历B的左子树,首先访问D,然后访问D的左子树,D的左子树为空,接下来访问D的右子树,即Y。遍历完B的左子树后,再遍历B的右子树,即E。到此遍历完A的左子树,接下来遍历A的右子树。按照同样的规则,首先访问C,然后遍历c的左子树。即F。c的左子树遍历完,接着遍历c的右子树。首先访问右子树的根结点X,然后访问X的左子树,X的左子树,即Z,接下来访问X的右子树,右子树为空。到此,把题目的二叉树进行了一次前序遍历。遍历的结果为ABDYECFXZ,故本题的正确答案为选项C。



(20)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为()

A)n+1B)n-1C)2nD)n/2

【答案】A

【解析】本题考查数据结构中二叉树的性质。二叉树满足如下一条性质,即:对任意一棵二叉树,若终端结点(即叶子结点)数为no,而其度数为2的结点数为n2,则n0=n2+l。

根据这条性质可知,若二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为n+l。因此,本题的正确答案是选项A。



(21)在深度为7的满二叉树中,叶子结点的个数为

A)32B)31??C)64??????????D)63下列叙述中正确的是

A)一个算法的空间复杂度,则其时间复杂度也必定大

B)一个算法的空间复杂度,则期时间复杂度必定小

C)一个算法的时间复杂度,则其空间复杂度必定小

D)上述三种说法都不对在长度为64的有序性表中进行顺序查找,最坏情况下需要比较的次数为

A)63B)64C)6D)7对下列二叉树

进行中序遍历的结果是

A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG______。

A)存储在外存中的数据 B)数据所占的存储空间量

C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示

【答案】D

【解析】数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。所以选项D正确。



(26)下列关于栈的描述中错误的是______。

A)栈是先进后出的线性表

B)栈只能顺序存储

C)栈具有记忆作用

D)对栈的插入与删除操作中,不需要改变栈底指针

【答案】B

【解析】本题考核栈的基本概念,我们可以通过排除法来确定本题的答案。栈是限定在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的,这便是栈的记忆作用,所以选项A和选项C正确。对栈进行插入和删除操作时,栈顶位置是动态变化的,栈底指针不变,选项D正确。由此可见,选项B的描述错误。



(27)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。

A)冒泡排序为n/2 B)冒泡排序为n

C)快速排序为n D)快速排序为n(n-1)/2

【答案】D

【解析】假设线性表的长度为n,在最坏情况下,冒泡排序和快速排序需要的比较次数为n(n—1)/2。由此可见,选项D正确。



(28)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A)log2n B)n/2 C)n D)n+1

【答案】C

【解析】在长度为n的线性表中进行顺序查找,最坏情况下需要比较n次。选项C正确。



(29)下列对于线性链表的描述中正确的是______。

A)存储空间不一定是连续,且各元素的存储顺序是任意的

B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面

C)存储空间必须连续,且前件元素一定存储在后件元素的前面

D)存储空间必须连续,且各元素的存储顺序是任意的

【答案】A

【解析】在链式存储结构中,存储数据的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑关系,是由指针域来确定的。由此可见,选项A的描述正确。



()对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。A)N+1

B)N

C)(N+1)/2

D)N/2

解析[答案]B很简单,我们的二级程序设计语言书中都有此算法,另外还要掌握二分法查找,这也是我们二级中常考的。那么二分法最坏的情况为多少次呢?log2n的最小整数值。比如n为4,最坏的情况要比较3次;n为18,最坏的情况要比较5次。下列关于队列的叙述中正确的是______。A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表C

队列是先进先出的,栈是先进后出的,2者的区别一定要搞清楚。算法的空间复杂度是指

A)算法程序的长度

B)算法程序中的指令条数

C)执行算法程序所占的存储空间

D)算法执行过程中所需要的存储空间

【答案】D

【解析】算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。

(2)线性表的链式存储结构是一种

A)随机结构

B)顺序结构

C)索引结构

D)散列结构

【答案】B

【解析】线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针指向一个与本结点有逻辑关系的结点。此类存储方式属于顺序存储。

(3)设有下列二叉树:对此二叉树先序遍历的结果是

A)ABCDEF

B)DBEAFC

C)ABDECF

D)DEBFCA

【答案】C

【解析】二叉树的遍历分为先序、中序、后序三种不同方式。本题要求先序遍历;遍历顺序应该为:访问根结点->先序遍历左子树->先序遍历右子树。按照定义,先序遍历序列是ABDECF。算法分析的目的是______。

A)找出数据结构的合理性 B)找出算法中输入和输出之间的关系

C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进

D

评析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。(3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。

A)堆排序 B)直接插入排序

C)快速排序 D)直接选择排序

B

评析:当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值基本有序,在待排序序列基本有序的情况下,采用插入排序所用时间最少,故答案为选项B。(4)用链表表示线性表的优点是______。

A)便于插入和删除操作 B)数据元素的物理顺序与逻辑顺序相同

C)花费的存储空间较顺序存储少 D)便于随机存取

A

评析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。1.以下数据结构中不属于线性数据结构的是______。

A、队列B、线性表C、二叉树D、栈

解析:

本题答案为C。



5.下列关于栈的叙述中正确的是______。

A、在栈中只能插入数据

B、在栈中只能删除数据

C、栈是先进先出的线性表

D、栈是先进后出的线性表

解析:

栈是按照"先进后出"的或后进先出的原则组织数据的,因此,栈也被称为"先进后出"表或"后进先出"表。

本题答案是D。



7.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A、N+1

B、N

C、(N+1)/2

D、N/2

解析:

本题答案为B。



1.在一棵二叉树上第5层的结点数最多是______。

A、8

B、16

C、32

D、15

解析:2i-1个结点。得到第5层的结点数最多是16。

本题答案为B。



3.下列叙述中正确的是______。

A、线性表是线性结构

B、栈与队列是非线性结构

C、线性链表是非线性结构

D、二叉树是线性结构

解析:

如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。

所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

本题答案是A。



7.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。

A、确定性

B、可行性

C、无穷性

D、拥有足够的情报

解析:

1)可行性

2)确定性

3)有穷性

4)拥有足够的情报

本题答案为C。



5.在计算机中,算法是指______。

A、查询方法

B、加工方法

C、解题方案的准确而完整的描述

D、排序方法

解析:

本题答案为C。



7.在单链表中,增加头结点的目的是______。

A、方便运算的实现

B、使单链表至少有一个结点

C、标识表结点中首结点的位置

D、说明单链表是线性表的链式存储实现

解析:

本题答案为A。



1.数据的存储结构是指______。

A、存储在外存中的数据

B、数据所占的存储空间量

C、数据在计算机中的顺序存储方式

D、数据的逻辑结构在计算机中的表示

解析:2.下列关于栈的描述中错误的是______。

A、栈是先进后出的线性表

B、栈只能顺序存储

C、栈具有记忆作用

D、对栈的插入与删除操作中,不需要改变栈底指针

解析:3.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。

A、冒泡排序为n/2

B、冒泡排序为n

C、快速排序为n

D、快速排序为n(n-1)/2

解析:4.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A、log2n

B、n/2

C、n

D、n+1

解析:5.下列对于线性链表的描述中正确的是______。

A、存储空间不一定是连续,且各元素的存储顺序是任意的

B、存储空间不一定是连续,且前件元素一定存储在后件元素的前面

C、存储空间必须连续,且前件元素一定存储在后件元素的前面

D、存储空间必须连续,且各元素的存储顺序是任意的

解析:1.算法的时间复杂度是指______。

A、执行算法程序所需要的时间

B、算法程序的长度

C、算法执行过程中所需要的基本运算次数

D、算法程序中的指令条数

解析:

为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。

本题答案是C。



2.下列叙述中正确的是______。

A、线性表是线性结构

B、栈与队列是非线性结构

C、线性链表是非线性结构

D、二叉树是线性结构

解析:

如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。

所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

本题答案是A。



3.设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。

A、349

B、350

C、255

D、351

解析:

具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=699,故父结点数等于int(699/2)=349,叶子结点数等于699-349=350。

本题答案是B。



1.算法的空间复杂度是指______。

A、算法程序的长度

B、算法程序中的指令条数

C、算法程序所占的存储空间

D、算法执行过程中所需要的存储空间

解析:

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

本题答案是D。



2.下列关于栈的叙述中正确的是______。

A、在栈中只能插入数据

B、在栈中只能删除数据

C、栈是先进先出的线性表

D、栈是先进后出的线性表

解析:

栈是按照"先进后出"的或后进先出的原则组织数据的,因此,栈也被称为"先进后出"表或"后进先出"表。

本题答案是D。



3.在深度为5的满二叉树中,叶子结点的个数为______。

A、32

B、31

C、16

D、15

解析:2K-1个结点,且深度为m的满二叉树有2m个结点。

在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24=16。

本题答案是C。



1.算法一般都可以用哪几种控制结构组合而成______。

A、循环、分支、递归

B、顺序、循环、嵌套

C、循环、递归、选择

D、顺序、选择、循环

解析:

本题答案为D。



2.数据的存储结构是指______。

A、数据所占的存储空间量

B、数据的逻辑结构在计算机中的表示

C、数据在计算机中的顺序存储方式

D、存储在外存中的数据

解析:

本题答案为B。



3.设有下列二叉树:



对此二叉树中序遍历的结果为______。

A、ABCDEF

B、DBEAFC

C、ABDECF

D、DEBFCA

解析:

本题答案为B。



1.在计算机中,算法是指______。

A、查询方法

B、加工方法

C、解题方案的准确而完整的描述

D、排序方法

解析:计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。

本题答案为C。



2.栈和队列的共同点是______。

A、都是先进后出

B、都是先进先出

C、只允许在端点处插入和删除元素

D、没有共同点

解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种"后进先出"的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种"先进先出"的线性表。

本题答案为C。



3.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。

A、cedba

B、acbed

C、decab

D、deabc

解析:依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成。求得该二叉树的前序遍历序列为选项A。

本题答案为A。



4.在下列几种排序方法中,要求内存量最大的是______。

A、插入排序

B、选择排序

C、快速排序

D、归并排序

解析:快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。

本题答案为D。



1.数据结构中,与所使用的计算机无关的是数据的______。

A、存储结构

B、物理结构

C、逻辑结构

D、物理和存储结构

解析:数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。

本题答案为C。



2.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。

A、ABCED

B、DBCEA

C、CDABE

D、DCBEA

解析:栈操作原则是"后进先出",栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。所以出栈时一定是先出D,再出C,最后出A。

本题答案为D。



3.线性表的顺序存储结构和线性表的链式存储结构分别是______。

A、顺序存取的存储结构、顺序存取的存储结构

B、随机存取的存储结构、顺序存取的存储结构

C、随机存取的存储结构、随机存取的存储结构

D、任意存取的存储结构、任意存取的存储结构

解析:顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。

本题答案为B。



4.在单链表中,增加头结点的目的是______。

A、方便运算的实现

B、使单链表至少有一个结点

C、标识表结点中首结点的位置

D、说明单链表是线性表的链式存储实现

解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。

本题答案为A。



1.下面叙述正确的是______。

A、算法的执行效率与数据的存储结构无关

B、算法的空间复杂度是指算法程序中指令(或语句)的条数

C、算法的有穷性是指算法必须能在执行有限个步骤之后终止

D、以上三种描述都不对

解析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。它们是一个不可分割的整体。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

本题答案为C。



2.设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。

A、349

B、350

C、255

D、351

解析:所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=699,故父结点数等于int(699/2)=349,叶子结点数等于699-349=350。

本题答案是B。



9.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。

A、堆排序

B、直接插入排序

C、快速排序

D、直接选择排序

解析:当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值基本有序,在待排序序列基本有序的情况下,采用插入排序所用时间最少。

本题答案为B。



二、填空题

()对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为。下列软件系统结构图的宽度为。



按“先进后出”原则组织数据的数据是。数据结构分为线性结构和非线性结构,带链的队列属于。逻辑结构中相邻的结点在存储结构中仍相邻(1)算法的复杂度主要包括空间复杂度和【1】复杂度。

【】空间【解析】算法的复杂度主要指时间复杂度和空间复杂度。

(2)在线性结构中,队列的操作顺序是先进先出,而栈的操作顺序是【2】。

【】先进后出【解析】队列和栈都是线性结构,但是不同之处在于队列的操作顺序是先进先出,而栈的操作顺序是先进后出。

(2)在最坏情况下,堆排序需要比较的次数为【2】。

O(nlog2n)

评析:在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n1.5);堆排序所需要的比较次数为O(nlog2n)。(3)若串s="Program",则其子串的数目是【3】。

29

评析:串s中共有7个字符,由于串中字符各不相同,则其子串中有0个字符的1个(空串),1个字符的7个,2个字符的6个,3个字符的5个,4个字符的4个,5个字符的3个,6个字符的2个,7个字符的1个,共有1+2+3+4+5+6+7+1=29。53在最坏情况下,冒泡排序的时间复杂度为______。

解析:解析:4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。

标准答案为:相邻



52.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。

标准答案为:中序

解析:55.数据结构包括数据的逻辑结构、数据的______以及对数据的操作运算。

标准答案为:存储结构

解析:数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。



50.算法具有五个特性,以下选项中不属于算法特性的是______。

A、有穷性

B、简洁性

C、可行性

D、确定性

解析:本题考查的是算法的特性。

有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的五大特性。

故本题答案为B。



51.某二叉树中度为2的结点有18个,则该二叉树中有个叶子结点。

标准答案为:19

解析:本题考查的是二叉树的定义及其存储结构。

二叉树的性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。



55.问题处理方案的正确而完整的描述称为。

标准答案为:算法本题考查的是算法的基本概念。

解析:所谓算法是指解题方案的准确而完整的描述。



51.设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。

标准答案为:250

解析:所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=500,故父结点数等于int(500/2)=250,叶子结点数等于500-250=250。



52.在最坏情况下,冒泡排序的时间复杂度为______。

标准答案为:n(n-1)/2或n(n-1)/2或O(n(n-1)/2)或O(n(n-1)/2)

解析:冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。

假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。



51.数据结构包括数据的______结构和数据的存储结构。

标准答案为:逻辑

解析:数据结构是指带有结构的数据元素的集合。它包括数据的逻辑结构和数据的存储结构。

数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。

数据的存储结构是指在计算机存储空间中的存放形式。



第二章程序设计基础

一、选择题

(1)下列叙述中正确的是

A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成

C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试

【答案】C

【解析】软件测试仍然是保证软件可靠性的主要手段,测试的目的是要尽量发现程序中的错误,调试主要是推断错误的原因,从而进一步改正错误。测试和调试是软件测试阶段的两个密切相关的过程,通常是交替进行的。选项C正确。



(2)下面描述中,不符合结构化程序设计风格的是

A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B)注重提高程序的可读性

D)使用goto语句

【答案】D

【解析】在结构化程序设计中,应严格控制使用GOTO语句,必要时才可以使用,故答案为D。



(3)在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的是对象的

A)分类性B)标识惟一性C)多态性D)封装性

【答案】D

【解析】从外面看只能看到对象的外部特性,而对象的内部,即处理能力的实行和内部状态,指的是对象的封装性。



(4)结构化程序设计的一种基本方法是

A)筛选法B)递归法C)归纳法D)逐步求精法

【答案】D

【解析】在结构化程序设计中通常采取自上而下、逐步求精的方法,其总的思想是先全局后局部、先整体后细节、先抽象后具体。而筛选法、递归法和归纳法指的都是程序的某种具体算法。



(5)函数重载是指

A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C)两个以上的函数名字不同,但形参的个数或类型相同

D)两个以上的函数取相同的函数名,并且函数的返回类型相同

【答案】A

【解析】函数重载指的是两个或两个以上的函数具有相同的函数名,但形参的个数或类型不同。程序中通过判断主调函数传过来的参数的个数和类型,来决定选择调用哪个具体的函数。



(6)下列选项中不符合良好程序设计风格的是

A)源程序要文档化B)数据说明的次序要规范化

C)避免滥用goto?语D)模块设计要保证高耦合、高内聚A)对象的继承B)对象的多态

C)对象的封装D)对象的分类

【答案】c

【解析】通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。

封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。简单地说,封装就是隐藏信息。这是面向对象方法的中心,也是面向对象程序设计的基础。

继承性:子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。

多态性;多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作.但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。

经过上述分析可知,在面向对象方法中,实现信息隐蔽是依靠对象的封装。正确答案是选项c。



(10)下列叙述中,不符合良好程序设计风格的是()

A)程序的效率第一,清晰第二B)程序的可读性好

C)程序中有必要的注释D)输入数据前要有提示信息

【答案】A

【解析】本题考查软件工程的程序设计风格。软件在编码阶段,力求程序语句简单、直接,不能只为了追求效率而使语句复杂化。除非对效率有特殊的要求,程序编写要做到清晰第一、效率第二。

人们在软件生存期要经常阅读程序,特别是在软件测试和维护阶段,编写程序的人和参与测试、维护的人都要阅读程序,因此要求程序的可读性要好。

正确的注释能够帮助读者理解程序,可为后续阶段进行测试和维护提供明确的指导。所以注释不是可有可无的,而是必须的,它对于理解程序具有重要的作用。

I/O信息是与用户的使用直接相关的,因此它的格式应当尽可能方便用户的使用。在以交互式进行输入/输出时,要在屏幕上使用提示符明确提示输入的请求,指明可使用选项的种类和取值范围。

经过上述分析可知,选项A是不符合良好程序设计风格要求的。



(11)结构化程序设计的3种结构是

A)顺序结构、选择结构、转移结构

B)分支结构、等价结构、循环结构

C)多分支结构、赋值结构、等价结构

D)顺序结构、选择结构、循环结构

解析:顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。故本题答案应该为选项D)。



(12)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的

A)安全性

B)一致性

C)可理解性

D)合理性

答案:C



(13)对建立良好的程序设计风格,下面描述正确的是

A)程序应简单、清晰、可读性好

B)符号名的命名只要符合语法

C)充分考虑程序的执行效率

D)程序的注释可有可无

解析:程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。故本题答案应该为选项A)。



(14)结构化程序设计主要强调的是

A)程序的规模

B)程序的效率

C)程序设计语言的先进性

D)程序易读性

解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。故本题答案应该为选项D)。



(15)对象实现了数据和操作的结合,是指对数据和数据的操作进行

A)结合

B)隐藏

C)封装

D)抽象

解析:对象是由数据及可以对这些数据施加的操作组成的统一体。对象的内部,即处理能力的实行和内部状态,对外是看不见的,这一特性称做对象的封装。故本题答案应该为选项C)。



(4)编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑

A)仅为整个程序作注释

B)仅为每个模块作注释

C)为程序段作注释

D)为每个语句作注释

【答案】C

【解析】功能性注释是嵌在源程序体中的,用以描述其后的语句或程序段是在做什么工作,或者执行了下面的语句会怎么样。所以它描述的是一段程序,是为程序段做注释,而不是每条语句。

(5)下列哪个是面向对象程序设计不同于其他语言的主要特点?

A)继承性

B)消息传递

C)多态性

D)静态联编

【答案】A

【解析】继承是一个子类直接使用父类的所有属性和方法。它可以减少相似的类的重复说明,从而体现出一般性与特殊性的原则,这使得面向对象程序设计语言有了良好的重用性,也是其不同于其他语言的主要特点。3.结构化程序设计主要强调的是______。

A、程序的规模

B、程序的易读性

C、程序的执行效率

D、程序的可移植性

解析:

本题答案为B。



2.下面概念中,不属于面向对象方法的是______。

A、对象

B、继承

C、类

D、过程调用

解析:

本题答案为D。



3.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

A、模拟现实世界中不同事物之间的联系

B、强调模拟现实世界中的算法而不强调概念

C、使用现实世界的概念抽象地思考问题从而自然地解决问题

D、鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

解析:

本题答案为C。



4.对建立良好的程序设计风格,下面描述正确的是______。

A、程序应简单、清晰、可读性好

B、符号名的命名要符合语法

C、充分考虑程序的执行效率

D、程序的注释可有可无

解析:

本题答案为A。



5.下面对对象概念描述错误的是______。

A、任何对象都必须有继承性

B、对象是属性和方法的封装体

C、对象间的通讯靠消息传递

D、操作是对象的动态性属性

解析:

本题答案为A。



4.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。

A、调用语句

B、命令

C、口令

D、消息

解析:

本题答案为D。



5.在设计程序时,应采纳的原则之一是______。

A、程序结构应有助于读者理解

B、不限制goto语句的使用

C、减少或取消注解行

D、程序越短越好

解析:滥用goto语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。

本题答案为A。



3.对建立良好的程序设计风格,下面描述正确的是______。

A、程序应简单、清晰、可读性好

B、符号名的命名要符合语法

C、充分考虑程序的执行效率

D、程序的注释可有可无

解析:要形成良好的程序设计风格,主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。

本题答案为A。



二、填空题

(1)在面向对象方法中,描述的是具有相似属性与操作的一组对象。()54.在面向对象方法中,信息隐蔽是通过对象的______性来实现的。

解析:软件工程的基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。

标准答案为:封装



51.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。

解析:52.在面向对象方法中,类的实例称为。

标准答案为:对象

解析:本题考查的是面向对象方法的基本概念。

将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。



52.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。

标准答案为:模块化

解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用goto语句。

自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

逐步求精:对复杂问题,应设计一些子目标作过度,逐步细化。

模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。

限制使用goto语句。



53.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。

标准答案为:实体

解析:面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。









第三章软件工程基础

一、选择题

(1)下列叙述中正确的是()

A)软件测试的主要目的是发现程序中的错误

B)软件测试的主要目的是确定程序中错误的位置

C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作

D)软件测试是证明软件没有错误

【答案】A

【解析】本题考查软件工程中测试的目的和方法。仅就软件测试而言,,它的目的是发现软件中的错误,但是,发现错误并不是最终目的,最终目的是通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。由于测试的目标是暴露程序中的错误.从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在软件测试阶段通常由其他人员组成测试小组来完成测试工作。因此,经过上述分析可知选项A的说法是正确的,而选项B、c、D的说法是错误的。



(2)下列描述中正确的是

A)软件工程只是解决软件项目的管理问题

B)软件工程主要解决软件产品的生产率问题

C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则

D)软件工程只是解决软件开发中的技术问题

【答案】C

【解析】软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科。所谓软件工程是指,采用工程的概念、原理、技术和方法指导软件的开发与维护。软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。由此可见,选项A、B和D的说法均不正确.选项C正确。



(3)在软件设计中,不属于过程设计工具的是

A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图

【答案】D

【解析】数据流图DFD,是结构化分析方法最主要的一种图形工具,不属于过程设计具。



(4)下列叙述中正确的是

A)软件交付使用后还需要进行维护

B)软件一旦交付使用就不需要再进行维护

C)软件交付使用后其生命周期就结束

D)软件维护是指修复程序中被破坏的指令

【答案】A

【解析】本题考核软件维护的概念。维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。软件维护通常有以下四:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述,本题的正确答案是A,其余选项的说法错误。



(5)用黑盒技术测试用例的方法之一为

A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试

【答案】A

【解析】黑盒测试主要方法有等价值划分法、边界值分析法、错误推测法、因果图法等。白盒测试的主要方法有逻辑覆盖、基本路径测试循环覆盖等。只有A属于黑盒测试。



(6)软件需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求分析说明书和

A)阶段性报告B)需求评审C)总结D)都不正确

【答案】B

【解析】需求分析的四个方面是:需求获取、需求分析、编写需求分析说明书和需求评审。



(7)在数据库的两级映射中,从概念模式到内模式的映射一般由______实现。

A)数据库系统B)数据库管理系统C)数据库管理员D)数据库操作系统

【答案】B

【解析】从概念模式到内模式的映射一般数据库管理系统(DBMS)实现。



(8)下面不属于软件设计原则的是

A)抽象B)模块化C)自底向上D)信息隐藏

【答案】C

【解析】软件设计的原则包括:抽象、模块化、信息隐蔽和模块独立性。所以自底向上不是软件设计原则。答案为C。



(9)软件是指()

A)程序B)程序和文档

C)算法加数据结构D)程序、数据和相关文档的集合

【答案】D

【解析】本题考查软件的定义。软件是计算机系统中与硬件相互依存得另一部分,它包括程序、相关数据及其说明文档得总和。因此,本题得正确答案是选项D。



(10)软件调试的目的是()

A)发现错误B)改正错误

C)改善软件的性能D)验证软件的正确性

【答案】B

【解析】本题考查软件工程调试。调试与测试是两个不同的过程,有着根本的区别:调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题;测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。因此.软件调试的目的是为了改正软件中的错误。本题的正确答案是选项B。



(11)下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精C)模块化?D)可复用两个或两个以上模块之间关联的紧密程度称为

A耦合度B)内聚度C)复杂度???D)数据传输特性下列叙述中正确的是

A软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试

C软件维护只包括对程序代码的维护D)以上三种说法都不对从工程管理解度,软件设计一般分为两步完成,它们是

A)概要设计与详细设计B)数据设计与接口设计

C)软件结构设计与数据设计D)过程设计与数据设计下列选项中不属于软件生命周期开发阶段任务的是

A)软件测试B)概要设计C)软件维护D)详细设计______。

A)软件测试的目的是证明程序是否正确

B)软件测试的目的是使程序运行结果正确

C)软件测试的目的是尽可能多地发现程序中的错误

D)软件测试的目的是使程序符合结构化原则

【答案】C

【解析】软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷。可见选项C的说法正确。



(17)为了使模块尽可能独立,要求______。

A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

【答案】B

【解析】系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。综上所述,选项B的答案正确



(18)下列描述中正确的是______。

A)程序就是软件

B)软件开发不受计算机系统的限制

C)软件既是逻辑实体,又是物理实体

D)软件是程序、数据与相关文档的集合

【答案】D

【解析】计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据与相关文档的完整集合。选项D的描述正确。



(19)下列叙述中,不属于结构化分析方法的是

A)面向数据流的结构化分析方法

B)面向数据结构的Jackson方法

C)面向数据结构的结构化数据系统开发方法

D)面向对象的分析方法

解析:常见的需求分析方法有结构化分析方法和面向对象的分析方法两类。其中结构化分析方法又包括面向数据流的结构化分析方法(SA-Structuredanalysis),面向数据结构的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向数据结构的结构化数据系统开发方法(DSSD-Datastructuredsystemdevelopmentmethod)。故本题答案应该为选项D)。



(20)详细设计的结果基本决定了最终程序的

A)代码的规模

B)运行速度

C)质量

D)可维护性

解析:详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,但详细设计阶段的任务还不是具体的编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码,因此,详细设计阶段的结果基本上就决定了最终的程序代码的质量。故本题答案应该为选项C)。



(21)下列不属于静态测试方法的是

A)代码检查

B)白盒法

C)静态结构分析

D)代码质量度量

解析:静态测试包括代码检查、静态结构分析和代码质量度量等。其中白盒测试属于动态测试。故本题答案应该为选项B)。



(22)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是

A)多对多

B)一对一

C)多对一

D)一对多

解析:现实世界中事物之间的联系在信息世界中反映为实体集之间的联系,实体集间的联系个数不仅可以是单个的也可以是多个的,这种关系可以有下面几种对应:一对一、一对多(多对一)多对多。两个实体集间的联系可以用下图表示:

故本题答案应该为选项C)。



(23)为了提高测试的效率,应该

A)随机选取测试数据

B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划

D)集中对付那些错误群集的程序

解析:测试的目的是发现软件中的错误。经验表明,程序中存在错误的概率与该程序中已发现的错误数成正比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。故本题答案应该为选项D)。



(24)软件生命周期中所花费用最多的阶段是

A)详细设计

B)软件编码

C)软件测试

D)软件维护

解析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。故本题答案应该为选项D)。



(25)下列叙述中,不属于软件需求规格说明书的作用的是

A)便于用户、开发人员进行理解和交流

B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

C)作为确认测试和验收的依据

D)便于开发人员进行需求分析

解析:软件需求规格说明书(SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。



(26)下列不属于软件工程的3个要素的是

A)工具

B)过程

C)方法

D)环境

解析:软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。故本题答案应该为选项D)。



(27)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的

A)抽象和信息隐蔽

B)局部化和封装化

C)内聚性和耦合性

D)激活机制和控制方法

解析:模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。故本题答案应该为选项C)。



(28)软件开发的结构化生命周期方法将软件生命周期划分成

A)定义、开发、运行维护

B)设计阶段、编程阶段、测试阶段

C)总体设计、详细设计、编程调试

D)需求分析、功能定义、系统设计

解析:A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护3个阶段。



(29)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是

A)路径的集合

B)循环的集合

C)目标的集合

D)地址的集合

解析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。故本题答案应该为选项A)。



(30)下列不属于结构化分析的常用工具的是

A)数据流图

B)数据字典

C)判定树

D)PAD图

解析:结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD图是常见的过程设计工具中的图形设计。故本题答案应该为选项D)。



(31)在软件生产过程中,需求信息的给出是

A)程序员

B)项目管理者

C)软件分析设计人员

D)软件用户

解析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。故本题答案应该为选项D)。



(32)下列工具中为需求分析常用工具的是

A)PAD

B)PFD

C)N-S

D)DFD

解析:需求分析中的常用工具有PAD、PFD及N-S等,而DFD(数据流图)为结构化分析工具。故本题答案应该为选项D)。



(33)NULL是指

A)0

B)空格

C)未知的值或无任何值

D)空字符串

解析:此题属于记忆性的题目,NULL是指未知的值或无任何值。故本题答案应该为选项C)。



(34)软件工程的出现是由于

A)程序设计方法学的影响

B)软件产业化的需要

C)软件危机的出现

D)计算机的发展

解析:软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。故本题答案应该为选项C)。



(35)软件开发离不开系统环境资源的支持,其中必要的测试数据属于

A)硬件资源

B)通信资源

C)支持软件

D)辅助资源

答案:D



(36)在数据流图(DFD)中,带有名字的箭头表示

A)模块之间的调用关系

B)程序的组成成分

C)控制程序的执行顺序

D)数据的流向

解析:数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。故本题答案应该为选项D)。



(37)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指

A)模块间的关系

B)系统结构部件转换成软件的过程描述

C)软件层次结构

D)软件开发过程

解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。故本题答案应该为选项B)。



(38)检查软件产品是否符合需求定义的过程称为

A)确认测试

B)集成测试

C)验证测试

D)验收测试

解析:确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明定的各种需求;集成测试的主要目的是发现与接口有关的错误。故本题答案应该为选项A)。



(39)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是

A)控制流

B)加工

C)数据存储

D)源和潭

解析:数据流图包括4个方面,即加工(转换)(输入数据经加工变换产生输出)、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名)、存储文件(数据源)(表示处理过程中存放各种数据的文件)、源和潭(表示系统和环境的接口,属系统之外的实体)。不包括选项中的控制流。故本题答案应该为选项A)。



(40)下列叙述中,正确的是

A)软件就是程序清单

B)软件就是存放在计算机中的文件

C)软件应包括程序清单及运行结果

D)软件包括程序和文档

解析:软件(software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。故本题答案应该为选项D)。



(41)软件设计中,有利于提高模块独立性的一个准则是

A)低内聚低耦合

B)低内聚高耦合

C)高内聚低耦合

D)高内聚高耦合

解析:模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。一般优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。故本题答案应该为选项C)。



(42)软件生命周期中花费时间最多的阶段是

A)详细设计

B)软件编码

C)软件测试

D)软件维护

解析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。故本题答案应该为选项D)。



(6)需求分析最终结果是产生

A)项目开发计划

B)需求规格说明书

C)设计说明书

D)可行性分析报告

【答案】B

【解析】需求分析应交付的主要文档就是需求规格说明书。

(7)在进行单元测试时,常用的方法是

A)采用白盒测试,辅之以黑盒测试

B)采用黑盒测试,辅之以白盒测试

C)只使用白盒测试

D)只使用黑盒测试

【答案】A

【解析】白盒测试是测试程序内部逻辑结构,黑盒测试只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。从程序内部的逻辑结构对系统进行测试才是测试的根本,更容易发现和解决程序中的问题,因此单元测试时应该以白盒测试为主,而黑盒测试为辅。(5)下列不属于结构化分析的常用工具的是______。

A)数据流图 B)数据字典 C)判定树 D)PAD图

D

评析:结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD图是常见的过程设计工具中的图形设计。()______是评价设计好坏的重要度量标准。

A) B)

C) D)B

评析:信息隐蔽是指,在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块独立性是评价设计好坏的重要度量标准,而衡量软件的模块独立性使用的是耦合性和内聚性两个度量标准:内聚性是指一个模块内部各个元素间彼此结合的紧密程度的度量。一个模块的内聚性越强,则该模块的模块独立性越强;耦合性是模块间互相连接的紧密程度的度量。耦合性取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。



(7)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是______。

A)循环的集合 B)地址的集合

C)路径的集合 D)目标的集合

C

评析:软件的白盒测试方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。2.结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。

A、可行性分析

B、需求分析

C、详细设计

D、程序编码

解析:

本题答案为B。



4.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。

A、概要设计

B、详细设计

C、可行性分析

D、需求分析

解析:

软件生命周期的主要活动阶段为:

(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。

(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。

(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。

(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。

(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

本题答案是D。



6.下面不属于软件设计原则的是______。

A、抽象

B、模块化

C、自底向上

D、信息隐蔽

解析:

本题答案为C。



4.程序流程图(PFD)中的箭头代表的是______。

A、数据流

B、控制流

C、调用关系

D、组成关系

解析:

本题答案为B。



8.在结构化方法中,软件功能分解属于下列软件开发中的______阶段。

A、详细设计

B、需求分析

C、总体设计

D、编程调试

解析:

本题答案为C。





9.软件调试的目的是______。

A、发现错误

B、改正错误

C、改善软件的性能

D、挖掘软件的潜能

解析:

本题答案为B。



6.下列叙述中,不属于软件需求规格说明书的作用的是______。

A、便于用户、开发人员进行理解和交流

B、反映出用户问题的结构,可以作为软件开发工作的基础和依据

C、作为确认测试和验收的依据

D、便于开发人员进行需求分析

解析:SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。

本题答案为D。



9.软件开发的结构化生命周期方法将软件生命周期划分成______。

A、定义、开发、运行维护

B、设计阶段、编程阶段、测试阶段

C、总体设计、详细设计、编程调试

D、需求分析、功能定义、系统设计

解析:

本题答案为A。



10.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是______。

A、循环的集合

B、地址的集合

C、路径的集合

D、目标的集合

解析:

本题答案为C。



6.下列对于软件测试的描述中正确的是______。

A、软件测试的目的是证明程序是否正确

B、软件测试的目的是使程序运行结果正确

C、软件测试的目的是尽可能多地发现程序中的错误

D、软件测试的目的是使程序符合结构化原则

解析:7.为了使模块尽可能独立,要求______。

A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

解析:8.下列描述中正确的是______。

A、程序就是软件

B、软件开发不受计算机系统的限制

C、软件既是逻辑实体,又是物理实体

D、软件是程序、数据与相关文档的集合

解析:5.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。

A、概要设计

B、详细设计

C、可行性分析

D、需求分析

解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

软件生命周期的主要活动阶段为:

(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。

(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。

(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。

(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。

(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

本题答案是D。



6.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。

A、控制流

B、加工

C、数据存储

D、源和潭

解析:7.软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。

A、阶段性报告

B、需求评审

C、总结

D、都不正确

解析:

需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。

本题答案是B。



6.下面不属于软件工程的3个要素的是______。

A、工具

B、过程

C、方法

D、环境

解析:

本题答案为D。



7.程序流程图(PFD)中的箭头代表的是______。

A、数据流

B、控制流

C、调用关系

D、组成关系

解析:

本题答案为B。



5.检查软件产品是否符合需求定义的过程称为______。

A、确认测试

B、集成测试

C、验证测试

D、验收测试

解析:

本题答案为A。



6.下列工具中不属于需求分析常用工具的是______。

A、PAD

B、PFD

C、N-S

D、DFD

解析:

本题答案为D。



7.下面不属于软件设计原则的是______。

A、抽象

B、模块化

C、自底向上

D、信息隐蔽

解析:

本题答案为C。



6.下列不属于软件调试技术的是______。

A、强行排错法

B、集成测试法

C、回溯法

D、原因排除法

解析:调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。

本题答案为B。



7.下列叙述中,不属于软件需求规格说明书的作用的是______。

A、便于用户、开发人员进行理解和交流

B、反映出用户问题的结构,可以作为软件开发工作的基础和依据

C、作为确认测试和验收的依据

D、便于开发人员进行需求分析

解析:软件需求规格说明书(SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。

本题答案为D。



8.在数据流图(DFD)中,带有名字的箭头表示______。

A、控制程序的执行顺序

B、模块之间的调用关系

C、数据的流向

D、程序的组成成分

解析:数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。

本题答案为C。



5.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。

A、模块间的关系

B、系统结构部件转换成软件的过程描述

C、软件层次结构

D、软件开发过程

解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。

本题答案为B。



6.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。

A、PAD图

B、N-S图

C、结构图

D、数据流图

解析:常见的过程设计工具有:程序流程图、N-S图、PAD图和HIPO图。其中,为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为N-S图。

本题答案为B。



10.需求分析阶段的任务是确定______。

A、软件开发方法

B、软件开发工具

C、软件开发费用

D、软件系统功能

解析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。选项A)软件开发方法是在总体设计阶段完成的任务;选项B)软件开发工具是在实现阶段需完成的任务;选项C)软件开发费用是在可行性研究阶段需完成的任务。

本题答案为D。



5.检查软件产品是否符合需求定义的过程称为______。

A、确认测试

B、集成测试

C、验证测试

D、验收测试

解析:确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确。

本题答案为A。



7.在数据流图(DFD)中,带有名字的箭头表示______。

A、控制程序的执行顺序

B、模块之间的调用关系

C、数据的流向

D、程序的组成成分

解析:数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。

本题答案为C。



8.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。

A、模块间的关系

B、系统结构部件转换成软件的过程描述

C、软件层次结构

D、软件开发过程

解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。

本题答案为B。



二、填空题

()的任务是诊断和改正程序中的错误。程序测试分为静态分析和动态测试。其中是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(3)数据流图的类型有【3】和事务型。

【】变换型【解析】典型的数据流图有两种,即变换型和事务型。

(1)测试的目的是暴露错误,评价程序的可靠性;而【1】的目的是发现错误的位置并改正错误。

调试

评析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定;调试也称排错,它是一个与测试有联系又有区别的概念。具体来说,测试的目的是暴露错误,评价程序的可靠性,而调试的目的是发现错误的位置,并改正错误。51.若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。

解析:

标准答案为:黑盒



52.与结构化需求分析方法相对应的是______方法。

解析:解析:

标准答案为:完善性



52.软件工程研究的内容主要包括:______技术和软件工程管理。

标准答案为:软件开发

解析:基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。

软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软开发方法学。

软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。



53.与结构化需求分析方法相对应的是______方法。

标准答案为:结构化设计

解析:与结构化需求分析方法相对应的是结构化设计方法。结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及各个成分之间的内部联系的技术。也就是说,结构化设计是这样一个过程,它决定用哪些方法把哪些部分联系起来,才能解决好某个具体且有清楚定义的问题。



53.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。

标准答案为:数据存储

解析:数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。



54.软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。

标准答案为:需求获取

解析:软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。

需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进度的依据。

需求评审是对需求分析阶段的工作进行的复审,验证需求文档的一致性、可行性、完整性和有效性。



53.诊断和改正程序中错误的工作通常称为。

标准答案为:程序调试

解析:本题考查的是软件的调试。

程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿整个软

件生命期,调试主要再开发阶段。



53.软件的调试方法主要有:强行排错法、______和原因排除法。

标准答案为:回溯法

解析:调式的关键在于推断程序内部的错误位置及原因。其主要的调试方法有:强行排错法、回溯法和原因排除法。

强行排错法:是传统的调试方法,其过程可概括为:设置断点、程序暂停、观察程序状态、继续运行程序。这是目前使用较多、效率较低的调试方法。

回溯法:该方法适合于小规模程序的排错。即一旦发现了错误,先分析错误征兆,确定最先发现"症状"的位置。然后,从发现"症状"的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定错误产生的原因。

原因排除法:是通过演绎和归纳,以及二分法来实现的。





55.数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。

标准答案为:数据存储

解析:数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。







第四章数据库基础

一、选择题

(1)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是()

A)并B)交C)投影D)笛卡儿乘积

【答案】B

【解析】本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出现在第一和第二个关系中的元组的新关系。因此,交运算不改变关系表中的属性个数,但能减少元组个数。投影是一元关系操作。投影操作选取关系的某些属性,这个操作是对一个关系进行垂直分割,消去某些属性,并重新安排属性的顺序,再删除重复的元组。因此,投影运算既可以减少关系表中的属性个数,也可以减少元组个数。两个关系的笛卡儿乘积是指一个关系中的每个元组和第二个关系的每个元组连接。因此,笛卡儿乘积运算能够增加元组属性的个数。

经过上述分析可知,在上述四种运算中,交运算不改变关系表中的属性个数但能减少元组个数。因此,正确答案是选项B。



(2)在E-R图中,用来表示实体之间联系的图形是()

A)矩形B)椭圆形C)菱形D)平行四边形

【答案】C

【解析】E-R模型中,有三个基本的抽象概念:实体、联系和属性。E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。因此,本题的正确答案是选项C。



(3)下列叙述中错误的是()

A)在数据库系统中,数据的物理结构必须与逻辑结构一致

B)数据库技术的根本目标是要解决数据的共享问题

C)数据库设计是指在已有数据库管理系统的基础上建立数据库

D)数据库系统需要操作系统的支持

【答案】A

【解析】本题考查数据库系统的基本概念和知识。数据的逻辑结构,是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管其在计算机中的存储方式。数据的存储结构,又叫物理结构,是逻辑结构在计算机存储器里的实现。这两者之间没有必然的联系。因此,选项A的说法是错误的。

数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。

数据库设计是在数据库管理系统的支持下,按照应用的要求,设计一个结构合理、使用方便、效率较高的数据库及其应用系统。数据库设计包含两方面的内容:一是结构设计,也就是设计数据库框架或数据库结构:二是行为设计,即设计基于数据库的各类应用程序、事务等。因此,选项C的说法是错误的。

数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项D的说法是正确的。

因此,本题的正确答案是选项A。



(4)数据库设计的根本目标是要解决

A)数据共享问题B)数据安全问题

C)大量数据存储问题D)简化数据维护

【答案】A

【解析】本题考核数据库技术的根本目标,很简单,记忆性题目。数据库技术的根本目标就是要解决数据的共享问题,选项A正确。



(5)设有如下关系表:

RST

ABCABCABC

112313112

223223

313

则下列操作中正确的是

A)T=R∩SB)T=R∪SC)T=R×SD)T=R/S

【答案】B

【解析】选项A、B、c分别进行交运算、并运算、笛卡尔积运算,选项D不是关系运算。T由属于关系R以及关系S的元组组成,简单来说,就是S和R的元组之和,是并运算,选项B正确。



(6)数据库系统的核心是

A)数据模型B)数据库管理系统C)数据库D)数据库管理员

【答案】B

【解析】数据库管理系统(DBMS)是整个数据库系统的核心,它对数据库中的数据进行管理,还在用户的个

别应用与整体数据库之间起接门作用。选项B正确。



(7)在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是

A)数据定义语言B)数据转换语言C)数据操纵语言D)数据控制语言

【答案】c

【解析】在数据库管理系统提供的数据语言中,数据操纵语言负责数据的查询及增、删、改等操作。



(8)关系数据库的数据及更新操作必须遵循_____等完整性规则。

A)实体完整性和参照完整性

B)参照完整性和用户定义的完整性

D)实体完整性、参照完整性和用户定义的完整性

【答案】D

【解析】关系模型中包括关系的数据结构、关系的操纵和关系中的数据约束。关系完整性约束即数据完整性,包括实体完整性、参照完整性和用户自定义完整性。



(9)实体联系模型中实体与实体之间的联系不可能是

A)一对一B)多对多C)一对多D)一对零

【答案】D

【解析】实体联系模型中实体与实体之间的联系有一对一(1:1),一对多或多对一(1:m或m:1),多对多(m:n)其中一对一是最常用的关系。



(10)支持数据库各种操作的软件系统叫做

A)数据库管理系统B)文件系统C)数据库系统D)操作系统

【答案】A

【解析】数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护维护、控制及保护和数据服务等操作。所以答案为A。



(11)在关系数据库模型中,通常可以把______称为属性,其值称为属性值。

A)记录B)基本表C)模式D)字段

【答案】D

【解析】数据库表中字段转化为属性,把记录的类型转化为关系模式。



(12)用树形结构来表示实体之间联系的模型称为

A)关系模型B)层次模型C)网状模型D)数据模型

【答案】B

【解析】关系模型以二维表表示实体之间的联系,网状模型以一个不加任何条件限制

的无向图表示实体之间的联系。层次模型的基本结构为树形结构。而D选项数据模

型包括关系模型、网状模型和层次模型。



(13)“商品”与“顾客”两个实体集之间的联系一般是

A)一对一?B)一对多C)多对一???????????????D)多对多在E—R图中,用来表示实体的图形是

A)矩形B)椭圆形C)菱形D)三角形数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是

A)DB包含DBS和DBMS?B)DBMS包含DB和DBS

C)DBS包含DB和DBMS?D)没有任何关系

【解析】数据库管理系统DBMS是数据库系统中实现各种数据管理功能的核心软件。它负责数据库中所有数据的存储、检索、修改以及安全保护等,数据库内的所有活动都是在其控制下进行的。所以,DBMS包含数据库DB、操作系统、数据库管理系统与应用程序在一定的硬件支持下就构成了数据库系统。所以,DBS包含DBMS,也就包含DB。综上所述.选项C正确。



(16)下列叙述中正确的是()

A)数据库系统是一个独立的系统,不需要操作系统的支持

B)数据库技术的根本目标是要解决数据的共享问题

C)数据库管理系统就是数据库系统

D)以上三种说法都不对

【答案】B

【解析】本题考查数据库系统的基本概念和知识。

数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项A的说法是错误的。

数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且允许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。

通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。

因此,选项C的说法是错误的。本题的正确答案是选项B。



(17)下列叙述中正确的是()

A)为了建立一个关系,首先要构造数据的逻辑关系

B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项

C)一个关系的属性名表称为关系模式

D)一个关系可以包括多个二维表

【答案】C

【解析】本题考查数据库的关系模型。关系模型的数据结构是一个“二维表”,每个二维表可称为一个关系,每个关系有一个关系名。表中的一行称为一个元组;表中的列称为属性,每一列有一个属性名。表中的每一个元组是属性值的集合,属性是关系二维表中最小的单位,它不能再被划分。关系模式是指一个关系的属性名表,即二维表的表框架。因此,选项c的说法是正确的。



(18)在数据库系统中,用户所见的数据模式为

A)概念模式B)外模式C)内模式D)物理模式数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和

A)编码设计B)测试阶段C)运行阶段D)物理设计设有如下三个关系表

下列操作中正确的是

A)T=R∩SB)T=R∪SC)T=R×SD)T=R/S数据库核技术的根本目标是要解决数据的

A)存储问题B)共享问题C)安全问题D)保护问题______。

A)数据与程序独立存放

B)不同的数据被存放在不同的文件中

C)不同的数据只能被对应的应用程序所使用

DD

【解析】数据具有两方面的独立性:一是物理独立性。即由于数据的存储结构与逻辑结须有构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。二是逻辑独立性。即由于数据的局部逻辑结构(它是总体逻辑结构的一个子集,由具体的应用程序所确定,并且根据具体的需要可以作一定的修改)与总体逻辑结构之间也由系统提供映象,使得当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改。综上所述,本题的正确答案是D。



(23)用树形结构表示实体之间联系的模型是______。

A)关系模型 B)网状模型 C)层次模型 D)以上三个都是

【答案】C

【解析】在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统(DBMS)也不同。目前常用的数据模型有三种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系。因此,本题的正确答案是C。



(24)下列关系运算的叙述中,正确的是

A)投影、选择、连接是从二维表行的方向进行的运算

B)并、交、差是从二维表的列的方向来进行运算

C)投影、选择、连接是从二维表列的方向进行的运算

D)以上3种说法都不对

解析:在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、差、笛卡尔积等),还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的。后者是从二维表的列的方向来进行运算的。故本题答案应该为选项C)。



(25)关系数据库管理系统应能实现的专门的关系运算包括

A)排序、索引、统计

B)选择、投影、连接

C)关联、更新、排序

D)显示、打印、制表

解析:关系数据库建立在关系数据模型基础上,具有严格的数学理论基础。关系数据库对数据的操作除了包括集合代数的并、差等运算之外,更定义了一组专门的关系运算:连接、选择和投影。关系运算的特点是运算的对象都是表。故本题答案应该为选项B)。



(26)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为

A)C

B)Basic

C)DDL

D)DML

解析:选项A)、B)显然不合题意。数据定义语言(DataDefinitionLanguage,简称DDL)负责数据的模式定义与数据的物理存取构建;数据操纵语言(DataManipulationLanguage,简称DML)负责数据的操纵,包括查询及增、删、改等操作。故本题答案应该为选项C)。



(27)下列有关数据库的描述,正确的是

A)数据库是一个DBF文件

B)数据库是一个关系

C)数据库是一个结构化的数据集合

D)数据库是一组文件

解析:数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。故本题答案应该为选项C)。



(28)下列有关数据库的描述,正确的是

A)数据处理是将信息转化为数据的过程

B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C)关系中的每一列称为元组,一个元组就是一个字段

D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字

解析:数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。故本题答案应该为选项D)。



(29)单个用户使用的数据视图的描述称为

A)外模式

B)概念模式

C)内模式

D)存储模式

解析:选项A)正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项D)不正确,存储模式即为内模式。



(30)将E-R图转换到关系模式时,实体与联系都可以表示成

A)属性

B)关系

C)键

D)域

解析:数据库逻辑设计的主要工作是将E-R图转换成指定RDBMS中的关系模式。首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。实体集也可以转换成关系。故本题答案应该为选项B)。



(31)SQL语言又称为

A)结构化定义语言

B)结构化控制语言

C)结构化查询语言

D)结构化操纵语言

解析:结构化查询语言(StructuredQueryLanguage,简称SQL)是集数据定义、数据操纵和数据控制功能于一体的数据库语言。故本题答案应该为选项C)。



(32)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有

A)特定的数据模型

B)数据无冗余

C)数据可共享

D)专门的数据管理软件

解析:在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。故本题答案应该为选项A)。



(33)数据库设计包括两个方面的设计内容,它们是

A)概念设计和逻辑设计

B)模式设计和内模式设计

C)内模式设计和物理设计

D)结构特性设计和行为特性设计

答案:A



(34)实体是信息世界中广泛使用的一个术语,它用于表示

A)有生命的事物

B)无生命的事物

C)实际存在的事物

D)一切事物

解析:实体是客观存在且可以相互区别的事物。实体可以是具体的对象,如一个学生,也可以是一个抽象的事件,如一次出门旅游等。因此,实体既可以是有生命的事物,也可以是无生命的事物,但它必须是客观存在的,而且可以相互区别。故本题答案应该为选项C)。



(35)数据库的故障恢复一般是由

A)数据流图完成的

B)数据字典完成的

C)DBA完成的

D)PAD图完成的

解析:一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS一般都提供此种功能,并由DBA负责执行故障恢复功能。故本题答案应该为选项C)。



(36)下列说法中,不属于数据模型所描述的内容的是

A)数据结构

B)数据操作

C)数据查询

D)数据约束

解析:数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。故本题答案应该为选项C)。



(37)分布式数据库系统不具有的特点是

A)数据分布性和逻辑整体性

B)位置透明性和复制透明性

C)分布性

D)数据冗余

解析:分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。故本题答案应该为选项D)。



(38)关系表中的每一横行称为一个

A)元组

B)字段

C)属性

D)码

解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。故本题答案应该为选项A)。



(39)下列数据模型中,具有坚实理论基础的是

A)层次模型

B)网状模型

C)关系模型

D)以上3个都是

解析:关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。故本题答案应该为选项C)。



(40)应用数据库的主要目的是

A)解决数据保密问题

B)解决数据完整性问题

C)解决数据共享问题

D)解决数据量大的问题

解析:数据库中的数据具有"集成"与"共享"的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项C)正确。



(41)在数据库设计中,将E-R图转换成关系数据模型的过程属于

A)需求分析阶段

B)逻辑设计阶段

C)概念设计阶段

D)物理设计阶段

解析:E-R模型即实体-联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种联接关系。数据库逻辑设计阶段包括以下几个过程:从E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和RDBMS,以及关系视图设计。故本题答案应该为选项B)。



(42)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是

A)数据库系统

B)文件系统

C)人工管理

D)数据项管理

解析:人工管理阶段是在20世纪50年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。故本题答案应该为选项A)。



(43)下列4项中说法不正确的是

A)数据库减少了数据冗余

B)数据库中的数据可以共享

C)数据库避免了一切数据的重复

D)数据库具有较高的数据独立性

解析:数据库系统具有以下几个特点,一是数据的集成性、二是数据的高共享性与低冗余性、三是数据的独立性、四是数据统一管理与控制。故本题答案应该为选项C)。



(44)下列4项中,必须进行查询优化的是

A)关系数据库

B)网状数据库

C)层次数据库

D)非关系模型

解析:关系数据模型诞生之后迅速发展,深受用户喜爱,但关系数据模型也有缺点,其最主要的缺点是由于存取路径对用户透明,查询效率往往不如非关系数据模型,因此为了提高性能,必须对用户的查询请求进行优化。故本题答案应该为选项A)。



(45)最常用的一种基本数据模型是关系数据模型,它的表示应采用

A)树

B)网络

C)图

D)二维表

解析:关系数据模型用统一的二维表结构表示实体及实体之间的联系(即关系)。故本题答案应该为选项D)。



(8)数据库是()的集合,它具有统一的结构格式并存放于统一的存储介质,可被各个应用程序所共享。

A)视图

B)消息

C)数据

D)关系

【答案】C

【解析】数据库是数据的集合,其中的数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构,以建立数据之间的内在联系与复杂的关系。

(9)下列叙述中,不正确的是

A)数据库技术的根本目标是要解决数据共享的问题

B)数据库系统中,数据的物理结构必须与逻辑结构一致

C)数据库设计是指设计一个能满足用户要求,性能良好的数据库

D)数据库系统是一个独立的系统,但是需要操作系统的支持

【答案】B

【解析】数据库应该具有物理独立性和逻辑独立性,改变其一而不影响另一个。

(10)规范化理论中,分解()是消除其中多余的数据相关性。

A)关系运算

B)内模式

C)外模式

D)视图

【答案】A

【解析】数据库规范化的基本思想是逐步消除数据依赖中不合适的部分,根本思想是通过分解关系运算来消除多余的数据相关性。(8)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______。

A)数据无冗余 B)数据可共享

C)专门的数据管理软件 D)特定的数据模型

D

评析:在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。(9)分布式数据库系统不具有的特点是______。

A)分布式 B)数据冗余

C)数据分布性和逻辑整体性 D)位置透明性和复制透明性

B

评析:分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。(10)下列说法中,不属于数据模型所描述的内容的是______。

A)数据结构 B)数据操作

C)数据查询 D)数据约束

C

评析:数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。9.下列有关数据库的描述,正确的是______。

A、数据库是一个DBF文件

B、数据库是一个关系

C、数据库是一个结构化的数据集合

D、数据库是一组文件

解析:Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有"集成"、"共享"之特点。

本题答案为C。



10.下列说法中,不属于数据模型所描述的内容的是______。

A、数据结构

B、数据操作

C、数据查询

D、数据约束

解析:3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。

本题答案为C。



8.视图设计一般有3种设计次序,下列不属于视图设计的是______。

A、自顶向下

B、由外向内

C、由内向外

D、自底向上

解析:3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。

本题答案为B。



5.在关系数据库中,用来表示实体之间联系的是______。

A、树结构

B、网结构

C、线性表

D、二维表

解析:

本题答案为D。



6.将E-R图转换到关系模式时,实体与联系都可以表示成______。

A、属性

B、关系

C、键

D、域

解析:

本题答案为B。



10.数据处理的最小单位是______。

A、数据

B、数据元素

C、数据项

D、数据结构

解析:

本题答案为C。



1.用树形结构来表示实体之间联系的模型称为______。

A、关系模型

B、层次模型

C、网状模型

D、数据模型

解析:

本题答案为B。



4.按条件f对关系R进行选择,其关系代数表达式为______。

A、

B、

C、бf(R)

D、∏f(R)

解析:选择运算是一个一元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中那些满足逻辑条件的元组所组成。如果关系的逻辑条件为f,则R满足f的选择运算可以写成:бf(R)。

本题答案为C。



8.单个用户使用的数据视图的描述称为______。

A、外模式

B、概念模式

C、内模式

D、存储模式

解析:

本题答案为A。



9.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指______。

A、数据与程序独立存放

B、不同的数据被存放在不同的文件中

C、不同的数据只能被对应的应用程序所使用

D、以上三种说法都不对

解析:10.用树形结构表示实体之间联系的模型是______。

A、关系模型

B、网状模型

C、层次模型

D、以上三个都是

解析:8.下述关于数据库系统的叙述中正确的是______。

A、数据库系统减少了数据冗余

B、数据库系统避免了一切冗余

C、数据库系统中数据的一致性是指数据类型的一致

D、数据库系统比文件系统能管理更多的数据

解析:

本题答案是A。



9.关系表中的每一横行称为一个______。

A、元组

B、字段

C、属性

D、码

解析:

在表框架中,按行可以存放数据,每行数据称为元组。

本题答案是A。



10.数据库设计包括两个方面的设计内容,它们是______。

A、概念设计和逻辑设计

B、模式设计和内模式设计

C、内模式设计和物理设计

D、结构特性设计和行为特性设计

解析:

数据库概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。

数据库逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。

本题答案是A。



8.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。

A、数据库系统

B、文件系统

C、人工管理

D、数据项管理

解析:

本题答案为A。



9.用树形结构来表示实体之间联系的模型称为______。

A、关系模型

B、层次模型

C、网状模型

D、数据模型

解析:

本题答案为B。



10.关系数据库管理系统能实现的专门关系运算包括______。

A、排序、索引、统计

B、选择、投影、连接

C、关联、更新、排序

D、显示、打印、制表

解析:

本题答案为B。



8.索引属于______。

A、模式

B、内模式

C、外模式

D、概念模式

解析:InternalSchema)又称物理模式(PhysicalSchema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。

本题答案为B。



9.在关系数据库中,用来表示实体之间联系的是______。

A、树结构

B、网结构

C、线性表

D、二维表

解析:

本题答案为D。



10.将E-R图转换到关系模式时,实体与联系都可以表示成______。

A、属性

B、关系

C、键

D、域

解析:

本题答案为B。



9.SQL语言又称为______。

A、结构化定义语言

B、结构化控制语言

C、结构化查询语言

D、结构化操纵语言

解析:结构化查询语言(StructuredQueryLanguage,简称SQL)是集数据定义、数据操纵和数据控制功能于一体的数据库语言。

本题答案为C。



10.视图设计一般有3种设计次序,下列不属于视图设计的是______。

A、自顶向下

B、由外向内

C、由内向外

D、自底向上

解析:视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。

本题答案为B。



7.数据处理的最小单位是______。

A、数据

B、数据元素

C、数据项

D、数据结构

解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。

本题答案为C。



8.下列有关数据库的描述,正确的是______。

A、数据库是一个DBF文件

B、数据库是一个关系

C、数据库是一个结构化的数据集合

D、数据库是一组文件

解析:数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有"集成"、"共享"之特点。

本题答案为C。



9.单个用户使用的数据视图的描述称为______。

A、外模式

B、概念模式

C、内模式

D、存储模式

解析:外模式是用户的数据视图,也就是用户所见到的数据模式;全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;存储模式即为内模式。

本题答案为A。



4.关系数据库管理系统能实现的专门关系运算包括______。

A、排序、索引、统计

B、选择、投影、连接

C、关联、更新、排序

D、显示、打印、制表

解析:关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。

本题答案为B。



6.数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。

A、自顶向下

B、由底向上

C、由内向外

D、由整体到局部

解析:数据库概念设计的过程中,视图设计一般有三种设计次序,它们是:

1)自顶向下。这种方法是先从抽象级别高且普遍性强的对象开始逐步细化、具体化与特殊化。

2)由底向上。这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最后形成一个完整的视图设计。

3)由内向外。这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不明显的其它对象。

本题答案为D。



10.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______。

A、数据无冗余

B、数据可共享

C、专门的数据管理软件

D、特定的数据模型

解析:在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。

本题答案为D。



二、填空题

()在关系模型中,把数据看成是二维表,每一个二维表称为一个。一个关系表的行称为。数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为?。(4)在数据库理论中,数据物理结构的改变,如存储设备的更换、物理存储的更换、存取方式等都不影响数据库的逻辑结构,从而不引起应用程序的变化,称为【4】。

【】物理独立性【解析】数据的物理结构改变,不影响数据库的逻辑结构,从而不引起应用程序的变化,这种性质叫做物理独立性。

54.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。

标准答案为:参照完整性

解析:关系模型允许定义三类数据约束,它们是实体完整性、参照完整性以及用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。

实体完整性约束要求关系的主键中属性值不能为空,这是数据库完整性的最基本要求,因为主键是惟一决定元组的,如为空则其惟一性就成为不可能的了。

参照完整性约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么是空值。

自定义完整性是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。



55.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。

标准答案为:概念

解析:数据模型按不同的应用层次分为三种类型,它们是概念数据模型、逻辑数据模型和物理数据模型。

概念数据模型简称概念模型,它是一种面向客观世界、面向用户的模型;它与具体的数据库管理系统无关。

逻辑数据模型又称数据模型,它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。

物理数据模型又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。



(5)数据库管理系统是位于用户与【5】之间的软件系统。

【】【解析】数据库管理系统是帮助用户创建和管理数据库的应用程序的集合。因此,数据库管理系统需要操作系统的支持,为用户提供服务。

(5)数据库管理系统常见的数据模型有层次模型、网状模型和【5】三种。

关系模型

评析:数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口,其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。55.关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。

解析:"项目主管"与实体"项目"的联系属于______的联系。

解析:3种,即一对一(1∶1)的联系、一对多(1∶N)或多对一(N∶1)的联系和多对多(N∶N)的联系。

标准答案为:一对多或1对多或一对n或1:N或1:n或1:n或1:N或一对m或1:M或1:m或1:m或1:N



51.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。

标准答案为:一对多或1对多或一对n或1:N或1:n或1:n或1:N或一对m或1:M或1:m或1:m或1:N

解析:实体之间的对应关系称为联系,它反映现实世界事物之间的相互关联。两个实体间的联系可以归结为三种类型:一对一联系表现为某一实体与另一实体一一对应相关联;一对多联系表现为某一实体与相关多个实体相关联;多对多联系表现为多个实体与相关多个实体相联系。



54.在关系数据库中,把数据表示成二维表,每一个二维表称为。

标准答案为:关系或一个关系本题考查的是关系数据模型。

解析:在关系数据库中,把数据表示成二维表,而一个二维表就是一个关系。



54.数据库系统的三级模式分别为______模式、内部级模式与外部级模式。

标准答案为:概念或概念级

解析:数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。

内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。

外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。



54.软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。

标准答案为:需求获取

解析:软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。

需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进度的依据。

需求评审是对需求分析阶段的工作进行的复审,验证需求文档的一致性、可行性、完整性和有效性。



55.______是数据库应用的核心。

标准答案为:数据库设计

解析:数据库设计是数据库应用的核心。在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。

















9/90







A



C



B



F



E



D



A



C



B



E



F



D



A



B



C



D



E



F



F



C



E



A



D



G



B



A



B



C



D



E



F







献花(0)
+1
(本文系13号Pluto首藏)