首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

公共基础练习

2022-03-29 来源:华拓网
第1章 数据结构与算法

知识点1:算法 一、选择题分析

【例1】在计算机中,算法是指()。 答案C

(A)查询方法 (B)加工方法 (C)解题方案的准确而完整的描述 (D)排序方法

题眼分析 计算机算法是指解题方案的准确而完整的描述,它有以【例2】在下列选项中,()不是一个算法一般应该具有的基本特征。 (A)确定性 (B)可行性 (C)无穷性 (D)拥有足够的情报 题眼分析 作为一个算法,一般应具有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。 答案C 【例3】算法的时间复杂度是指()。

(A)执行算法程序所需要的时间 (B)算法程序的长度

(C)算法执行过程中所需要的基本运算次数 (D)算法程序中的指令条数

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

【例4】算法的空间复杂度是指()。

(A)算法程序的长度 (B)算法程序中的指令条数

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

题眼分析 一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程 中所需要的额外空间。 答案D 二、填空题分析

【例1】问题处理方案的正确而完整的描述称为()。(2005年4月) 题眼分析 算法是指解题方案的准确而完整的描述。 答案:算法 【例2】算法是对问题求解过程的一类精确描述,算法中描述的操作都可以通过已经实现的基本操作在限定时间内执行有限次来完成的,这句话说明算法应具有()特性。

题眼分析 算法应满足有穷性、确定性、可行性、拥有足够的情报等基本特征,而有穷性即为在有限时间内完成算法。答案:有穷性 知识点2:数据结构的基本概念 一、选择题分析

【例1】数据结构中,与所使用的计算机无关的是数据的()。 (A)存储结构 (B)物理结构 (C)逻辑结构 (D)物理和存储结构 题眼分析 数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象地反映数据元素之间的逻辑关系,即数据元素之间的前后件关系,而不管它在计算机中的存储表示形式。 答案C 【例2】数据的存储结构是指()。(2005年4月)

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

1

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

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

题眼分析 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。通常有两类存储结构:一类是顺序存储结构;另一类是链式存储结构。 答案D

【例3】在数据结构中,根据各数据元素之间前后件关系的复杂程度,一般将数据结构分成()两类。

(C)线性结构和非线性结构 (D)内部结构和外部结构 题眼分析 数据的逻辑结构抽象地反映数据元素之间的逻辑关系,即数据元素之间的前后件关系,而不管它在计算机中的存储表示形式。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。 答案C 二、填空题分析

【例1】数据结构包括数据的()结构和数据的存储结构。 题眼分析 数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。数据的逻辑结构抽象地反映数据元素之间的逻辑关系,即数据元素之间的前后件关系,而数据的存储结构是数据的逻辑结构在计算机存储空间中的存放形式。答案:逻辑 【例2】如果一个非空数据结构满足下列两个条件:一是有且只有一个根结点;二是每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为()。

题眼分析 数据的逻辑结构抽象地反映数据元素之间的逻辑关系,即数据元素之间的前后件关系,而不管它在计算机中的存储表示形式。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。题干中所描述的数据结构是线性结构。 答案:线性结构 知识点3:线性表及其顺序存储结构 一、选择题分析

【例1】下列叙述中,错误的是()。

(A)线性表是由甩个数据元素组成的一个有限序列 (B)线性表是一种线性结构

(C)线性表的所有结点有且只有一个前件和一个后件 (D)线性表可以是空表

题眼分析 线性表是由n(n≥0)个数据元素a1,a2,…,an组成的有限序列,线性表是一个线性结构,线性表也可以是空表,因此选项A、B、D都是正确说法。在线性表中第一个结点没有前件,最后一个结点没有后件,其他所有结点有且只有一个前件和一个后件,因此选项C的说法是错误的。 答案C

【例2】某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为200,则第12个元素的存储地址为()。 (A)248 (B)247 (C)246 (D)244

题眼分析 设线性表中的第一个数据元素的存储地址(指第一个字节的地址,即首地址)为ADR(a1),每个数据元素占k个字节,则线性表中第i个元素在计算机存储空间中的存储地址为: ADR(ai)=ADR(a1)+(i-1)k

因此,ADR(a12)=200+(12—1)4=244。 答案D

【例3】在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元

下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。 (A)动态结构和静态结构 (B)紧凑结构和非紧凑结构

素,元素的移动次数为()。

(A)n-i+1 (B)n-i (C)i (D)i-l

题眼分析 在长度为n的顺序表中插入一个元素,有n+1个可供插入位置。设插入位置为i,当i=n+l时,不需要移动元素,即移动次数为0;当i=n时,需将位置n上的元素即表尾元素向后移动一个位置,即移动次数为l;当i=n-1时,需将n和n-1的元素依次向后移动一个位置,即移动次数为2……当i=1时,需将全部元素依次向后移动一个位置,即移动次数为n。由此可知,在第i个位置上插入一个元素,元素的移动次数为n-f+1。 答案A

【例4】在一个长度为n的顺序表中,删除第i(1≤i≤n)个元素时,需要移动的元素个数为()。 答案B (A)n-i+1 (B)n-i (C)i (D)i-l

题眼分析 分析方法同上,只不过在删除一个元素时,有n个位置可供选择。需要改变从第i+1个元素起到第n个元素的存储位置,【例5】以下描述中,不是线性表的顺序存储结构的特征的是()。 (A)不便于插入和删除 (B)需要连续的存储空间

(C)可随机访问 (D)需另外开辟空间来保存元素之间的关系 题眼分析 线性表的顺序存储是用一片连续空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻,数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻之中,因此不需另外开辟空间来保存元素之间的关系。 答案D 二、填空题分析

【例1】在线性表的顺序存储结构中,若一个元素的下标为i,则它的前件下标为(1),后件的下标为(2)。

题眼分析 在线性表的顺序存储结构中,元素之间的先后关系是通过下标来表示的。下标为i的元素,它的前件的下标为i-1,后件的下标为i+1。 答案 (1)i-1 (2)i+1

【例2】对于长度为n的顺序表进行插入运算和删除运算,可能会引起元素的移动。在等概率情况下,插入操作平均需要移动(1)个元素;删除操作平均需要移动(2)个元素。 答案(1) n/2 (2)(n-1)/2 知识点4:栈和队列 一、选择题分析

【例1】栈和队列的共同点是()。 (A)都是先进先出 (B)都是先进后出

(C)只允许在端点处插入和删除元素 (D)没有共同点 题眼分析 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”(“先进后出”)的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”(“后进后出”)的线性表。 答案 C 【例2】下列关于栈的描述中错误的是()。(2005年4月) (A)栈是先进后出的线性表 (B)栈只能顺序存储 (C)栈具有记忆作用

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

题眼分析 栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈操作都在栈项进行,它的操作特点是先进后出,因此具有记忆作用,所以选项A、C、D都是正确的。栈可以采用顺

2

序存储,也可以采用链式存储,因此选项B不正确。 答案B 【例3】栈的输入序列为l,2,3,..。,,n-1,n,输出序列的第1个元素为n,则第i个输出元素为()。

(A)n-i+1 (B)n-1 (C)n (D)哪个元素无所谓

题眼分析 栈操作原则是“后进先出”,由于输出序列的第1个元素为n,,n必定是最后进栈元素。所以一定是将序列(1,2,3,...,n-1,n)全部进栈后才有出栈,这样输出序列的第1个元素为n,第2个元素是n-1,第3个元素是n-3…,第i个元素是n-i+1。 答案A【例4】一个队列的入队序列是l、2、3、4,则队列的输出序列是 (A)4、3、2、1 (B)1、2、3、4 (C)l、4、3、2 (D)3、2、4、1 题眼分析 队列是先进先出的线性表,入队序列是l、2、3、4,出队序列只能是l、2、3、4。 答案B 二、填空题分析

【例1】所有插入和删除都在表的一端进行的线性表称为()。 【例2】因为顺序栈的空间有限,因此在插入运算时,可能会发生()。

题眼分析 当栈顶指针已经指向存储空间的最后一个位置时,说明栈空间已满,不可能再进行入栈操作,这种情况称为栈“上溢”错误。 答案:上溢

【例3】队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称做()。

题眼分析 队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。在表中,允许插入的一端称做“队尾”,允许删除的另一端称做“队头”。 答案:队尾

【例4】在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有()个元素。 答案3

题眼分析 设循环队列的最大容量为maxsize,根据循环队列的定义,循环队列的元素个数是(rear-front)%maxsize=(9-6)%15=3。 知识点5:线性链表 一、选择题分析

【例1】下列对于线性链表的描述中正确的是()。(2005年4月) (A)存储空间不一定是连续,且各元素的存储顺序是任意的

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

即从第i+1到第n个元素往前移动一个位置,共需移动n-i个元素。 答案:栈

(C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 (D)存储空间必须连续,且各元素的存储顺序是任意的

题眼分析 线性表的链式存储结构中的结点空间是动态生成的,它们在内存中地址可以是连续的,也可能是不连续。 答案A 【例2】下列描述的不是链表的优点是()。 (A)逻辑上相邻的结点物理上不必邻接 (B)插入、删除运算操作方便,不必移动结点

(C)所需存储空间比线性表节省 (D)无须事先估计存储空间的大小 题眼分析 线性表的链式存储是用一组任意的存储空间来存放数据元素,链表结点空间是动态生成的,无须事先估计存储空间的大小。链表逻辑上相邻的元素在物理位置上不一定相邻,因此需要另外开辟空间来保存元素之间的关系,花费的存储空间较顺序存储多。在链表中插入或删除结点,只需修改指针,不需要移动元素。答案C 【例3】某线性表最常用的运算是插入和删除,插入运算是指在表

尾插入一个新元素。删除运算是指删除表头第一个元素,那么采用()存储方式最节省运算时间。 答案A

(A)仅有尾指针的单向循环链表 (B)仅有头指针的单向循环链表 (C)单向链表 (D)顺序序存储

题眼分析 由于规定了插入运算是指在表尾插入一个新元素,删除运算是指删除表头第一个元素。如果使用单向链表、仅有头指针的单向循环链表,每次插入结点都要遍历整个链表,找到链尾,才能进行插入。如果采用顺序存储,每次删除表头元素时,都要移动n-1个元素。如果使用仅有尾指针的单向循环链表,插入新元素时,仅需移动尾指针就可以了;删除结点时,只需要一步操作就可以定【例4】与单向链表相比,双向链表的优点之一是()。 (A)更节省存储空间 (B)便于进行随机访问

(C)更容易访问相邻结点 (D)可以省略头指针和尾指针 题眼分析 在双向链表中每个结点设置两个指针,一个称为左指针,指向其前件结点;另一个称为右指针,指向其后件结点。与单向链表相比,双向链表的优点之一是更容易访问相邻结点。 答案C 二、填空题分析

【例1】在线性链表中,每个结点包含两个域,一个域叫数据域,另一个域叫()。 答案:指针域

题眼分析 线性表按链接方式存储时,每个数据元素的存储包括数据与指针两个部分:数据域和指针域。其中,数据域用来存放结点【例2】在带头结点的循环单链表中,最后一个结点的指针域指向()。

题眼分析 循环链表中最后一个结点的指针域不是空,而是指向表头结点。 答案:头结点

【例3】在单链表中,要删除一个指定的结点,必须要找到该结点的()。

题眼分析 单链表是一种顺序存取的存储结构,要对某结点进行存取,都必须从链表的头指针指向的结点开始,依次找到该点,因此在删除一个指定的结点,必须要找到该结点的前件。答案前件 知识点6:树与二叉树 一、选择题分析

【例1】在具有100个结点的树中,其边的数目为()。答案C (A)101 (B)100 (C)99 (D)98

题眼分析 从树的定义可知,除根结点外,其余结点都有且仅有一个前趋;树的结点,可以有零个或多个后继;除根结点外的其他结点,都存在惟一一条从根结点到该结点的路径:所以,除根结点外,【例2】结论“()”是正确的。

(A)二叉树的度为2 (B)树中结点的度可以小于2 (C)二叉树中至少有一个结点的度为2 (D)二叉树中任何一个结点的度都为2

题眼分析 二叉树有5种基本形态,可以是空二叉树,仅有一个根结点的二叉树,右子树;为空的二叉树,左子树为空的二叉树,左、右子树均非空的二又树,因此选项A、C、D都不正确。 答案B 【例3】在一棵二叉树上第8层的结点数最多是()。

3

(A)8 (B)16 (C)128 (D)256

题眼分析 根据二叉树的性质l:二叉树第k(k>1)层上,最多有2k-1个结点。于是第8层的结点数最多是25-1=128。 答案C 【例4】深度为5的二叉树至多有()个结点。 (A)16 (B)32 (C)3l (D)10

题眼分析 根据二又树性质2:深度为m的二又树最多有2m-1个结点。本题中深度为5,故二叉树最多结点数为25-1=32-1=3l。答案C 【例5】设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为()。 (A)12 (B)13 (C)14 (D)15

结点(即叶子结点)总比度为2的结点多一个。因此,这棵二叉树的度数为2的结点数为2,因此总的结点数2+8+3=13。 答案B 【例6】下面关于完全二叉树的叙述中,错误的是()。答案B (A)除了最后一层外,每一层上的结点数均达到最大值 (B)可能缺少若干个左右叶子结点 (C)完全二叉树一般不是满二义树

(D)具有结点的完全二叉树的深度为[1og2n]+l

题眼分析 满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。因此选项A是正确的,而选项B是错误的。由定义可知,此选项C是正确的叙述。选项D即二叉树性质5,也是正确的。 【例7】对于如图所示的二叉树,其后序遍历序列是()

(A)ABDECFG (B)DEBAFCG (C)DEBFGCA (D)GFCEBDA 题眼分析 题眼分析后序遍历过程是:若二叉树为空,则执行空操作;否则,①后序遍历左子树,②后序遍历右子树,③访问根结点。根据这一过程,答案选C。

位到头结点,就可以删除了,因为头结点是尾指针的下一个结点。 题眼分析 根据二叉树性质3:在任意一棵二叉树中,度数为O的

的值,指针域(亦称链域)用来存放结点的直接后继的地址(或位置)。 满二叉树肯定是完全二又树,而完全二又树一般不是满二叉树,因

【例8】设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、l。则T中的叶子结点为()。 (A)8 (B)7 (C)6 (D)5

题眼分析 设这棵树中叶子结点数为n0,度数为1的结点数为n1,度数为2的结点数为n2,度数为3的结点数为n3,度数为4的结点数为n4,总结点数为n,则 n=no+nl+n2+n3+n4 。设树的总入度为m。入,则树的总结点数为:n=m+1。又由于树中这m个进入分支分别由非叶子结点射出,其中度数为l的结点射出l,度数为2的结点射出2,依此类推,而且射出分支总数与总的进入分支数相等的,即 m=n1+2n2+3n3+4n4。由上述三个式子可以得到n0=n2+2n3+3n4+1=2+2*1+3*1+1=8。 答案A 二、填空题分析

【例1】某二叉树中度为2的结点有18个,则该二叉树中有()个叶子结点。(2005年4月)

每增加一个结点,就增加一条边,即边的数目仅比结点数少一。 由于在树中除了根结点外,其余每一个结点都有惟一的一个分支进

题眼分析 根据二叉树性质3,在任意一棵二叉树中,度数为0的结点(即叶子结点)总比度为2的结点多一个。因此该二叉树中叶子结点为18+1=19。 答案19

【例2】具有88个结点的二又树,其深度至少为()。

题眼分析 根据二叉树性质4:具有n个结点的二叉树的深度至少为[1og2n]+l,其中[1og2n]表示log2n的整数部分。在本题n=88,所以其深度至少为[1og280]+1=6+1=7。

【例3】设一棵完全二叉树共有700个结点,则在该二叉树中有()个叶子结点。

题眼分析 根据完全二叉树性质6,按从上到下,从左至右给结点编号,若中k>l,则父结点编号为INT(k/2),所以第700号结点的父结点的编号是350号。因为第700号结点是完全二叉树中最后的一个叶子结点,因此,其父结点即350号结点也一定是最后一个非叶子结点。那么从第351号至700号结点都是叶子结点。因此叶子结点数为700-350=350。

【例4】假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为()。

题眼分析 若后序序列为非空,则后序遍历序列最后一个元素应是二叉树的根。那么前半部分非空应是二叉树左子树的中序遍历序列,后半部分非空应是二叉树右子树的中序序列。若判断出左子树非空,那么在后序序列的第二个元素即是左子树的根,再结合中序序列前半部分,递归地就可把左子树判定出来。同样的方法可把右子树判定出来,那么二叉树就惟一地确定出来,这样其前序序列便可得到。

对于本题,首先根据后序遍历序列确定这棵二叉树的根结点为A,然后将根据中序遍历序列确定左右子树的结点及中序遍历序列,分别是“DBGEHJ”和“CIF”再根据左子树的后序遍历序列“DGJHEB”确定其左子树根结点为B及其左右子树的结点及中序遍历序列。依此类推,从而画出该二叉树,如图所示,从而确定其前序遍历序列为ABDEGHJCFI。

到,则停止查找,否则决定取其前一半或后一半数据元素继续查找。因此二分法查找只能用于已经排序的顺序存储结构。 答案A 【例3】对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。(2005.4)

(A)log2n (B)n/2 (C)n (D)n+l

题眼分析 线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都将与表中所有元素进行了比较,因此比较次数为n。 答案C

【例4】已知一个有序表为(13、18、24、35、47、50、62、83、90、115、134),当使用二分法查找值为90的元素时,查找成功的比较次数为()。

(A)l (B)2 (C)3 (D)9

题眼分析 根据二分法查找的查找过程,首先将90与表中中间的元素50进行比较,由于90大于50,所以线性表的后半部分查找。第二次与比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。 答案B 二、填空题分析

【例1】在长度为行的线性表中顺序查找x的元素时,查找成功的平均查找长度为()。 答案(n+1)/2

【例2】在长度为n的有序线性表中进行二分法查找,在最坏情况下需比较的次数为()。 答案log2n 知识点8:排序技术 一、选择题分析

【例1】在排序算法中,两两比较待排序的记录,当发现不满意顺序要求时,变更它们的相对位置,这就是()排序。

(A)希尔排序 (B)交换排序 (C)插入排序 (D)选择排序 题眼分析 交换排序的基本思想是:两两比较待排序元素的关键字,交换不满足排序要求的那些偶对,直到全部满足为止。冒泡排序和快速排序都属于交换类的排序方法。 答案B

【例2】设待排序关键码序列为(33、18、9、25、67、82、53、95、12、70),要按关键码值递增的顺序排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码33被放到了第()位置。

(A)3 (B)5 (C)7 (D)9

题眼分析 快速排序的基本思想是:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序。在上述序列中,比关键码33小的元素有4个,因此第一趟排序完成后关键码33被放到了第5位置。 答案B

【例3】对数据元素序列(49、72、68、13、38、50、97、27)进行排序,前3趟排序结束时的结果依次为:第一趟13、72、68、49、50、97、27;第二趟13、27、68、49、38、50、97、72;第三趟13、27、38、49、68、50、97、72。该排序采用的方法是()。 (A)简单插入排序法 (B)冒泡排序法 (C)简单选择排序法 (D)快速排序法

题眼分析 简单选择排序法的思想是扫描整个线性表,从中选出最4

知识点7:查找技术 一、选择题分析

【例1】链表适用于()查找。

(A)顺序 (B)二分法 (C)顺序,也能二分法 (D)随机 题眼分析 线性表的查找有顺序查找和二分法查找两种。由于链表不能随机访问,要访问某个结点,必须从它的直接前驱的指针域出发才能找到。因此,链式存储的线性表,即使是有序表,也只能使用顺序查找。 答案A

【例2】二分法查找()存储结构。 (A)只适合于顺序 (B)只适合于链式

(C)既适合于顺序也适合于链式 (D)既不适合于顺序也不适合于链式

题眼分析 二分法查找也称折半查找,它适合于按键值排序的存储结构。在二分法查找时,每次取中间一个数据元素进行判断,若找

小(或最大)的元素,将它交换到表的最前面;然后对剩下的子表采用同样的方法,直到子表空为止。从序列变化情况可以看出,第一趟是找出最小元素13,第二趟是找出次小元素27,第三趟是找出第三小元素38,这是典型的简单选择排序法。 答案C 【例4】以下各组序列中,属于堆的是()。

(A)19、34、26、97、56、75 (B)97、26、34、75、19、56 (C)19、56、26、97、34、75 (D)19、75、34、26、97、56 题眼分析 根据堆的定义,可以判断选项A是一个最小堆。 答案A 【例5】对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。(2005年4月) (A)冒泡排序为n/2 (B)冒泡排序为n (C)快速排序为n (D)快速排序为(n-1)/2

题眼分析 在最坏情况下,冒泡排序和快速排序的比较次数都是(n-1)/2。 答案D 二、填空题分析

【例1】在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终位置上的排序算法是()。

题眼分析 冒泡排序基本思想是:对存放原始数据的数组,按从后往前的方向进行多次扫描,每次扫时,当发现相邻两个数据的次序与排序要求的“递增(或递减)次序”不符合时,即将这两个数据进行互换。这样,较小(较大)的数据就会逐单元向前移动,这样把数据表中最大或最小元素放在其最终位置上。 答案:冒泡排序 【例2】在排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素做比较,将其放入已排序的正确位置上的方法,称为()。

题眼分析 简单插入排序法的基本思想:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。答案:插入排序 3、对于给定的一组关键字(12、2、16、30、8、28、4、10、20、6、18),按照希尔排序(增量为5)算法进行递增排序,第一趟排序后得到的结果是() 。

题眼分析 根据希尔排序的排序规则,希尔排序(增量为5)第一趟排序过程如图所示。

(A)可实现性 (B)空间复杂度 (C)时间复杂度 (D)困难度 4.下列叙述中,错误的是()。

(A)数据的存储结构与数据处理的效率密切相关 (B)数据的存储结构与数据处理的效率无关

(C)数据的存储结构在计算机中所占的空间不一定是连续的 (D)一种数据的逻辑结构可以有多种存储结构 5.在下列数据结构中,不是线性结构的是()。

(A)线性链表 (B)带链的栈 (C)带链的队列 (D)二叉链表 6.对顺序存储的线性表,设其长度为127,在任何位置上插入或删除操作都是等概率的。删除一个元素时平均要移动表中的()个元素。

(A)8 (B)63.5 C)63 (D)7

7.某线性表采用顺序存储结构,每个元素占2个存储单元,首地址为50,则第18个元素的存储地址为()。 (A)82 (B)84 (C)85 (D)86 8.下列关于栈的叙述中正确的是()。

(A)在栈中只能插入数据 (B)在栈中只能删除数据 (C)栈是先进先出的线性表 (D)栈是先进后出的线性表 9.以下不是栈的给定一个足够长的栈,若入栈元素的序列为a、b、c,则()是不可能的出栈序列。

(A)b、c、a (B)a、c、b (C)c、a、b (D)b、a、c 10.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是()。 (A)ABCED (B)DBCEA (C)CDABE (D)DCBEA

11.一个队列的入列序列是A,B,C,D,则队列的输出序列是()。

(A)A,B,C,D (B)D,C,B,A (C)A,D,C,B (D)C,B,D,A

12.若循环队列以数组Q[0..m-l]作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是()。

(A)rear-length (B)(rear-length+m)mod m (C)(1+rear+m-length)mod m (D)m-length

13.设栈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

14.线性表采用链式存储时,结点的存储地址()。 (A)必须是不连续的 (B)连续与否均可

(C)必须是连续的 (D)和头结点的存储地址相连续

单元训练及参考答案 一、选择题

1.在下列选项中,()不是一个算法一般应该具有的基本特征。 (A)完整性 (B)可行性 (C)有穷性 (D)拥有足够的情报 2.算法一般都可以用()控制结构组合而成。 (A)循环、分支、递归 (B)顺序、循环、嵌套 (C)循环、递归、选择 (D)顺序、选择、循环 3.实现算法所需的存储单元多少称为算法的()。

5

15.线性表的顺序存储结构和线性表的链式存储结构分别是()。 (A)顺序存取的存储结构、随机存取的存储结构 (B)随机存取的存储结构、顺序存取的存储结构 (C)随机存取的存储结构、随机存取的存储结构 (D)任意存取的存储结构、任意存取的存储结构 16.在单链表中,增加头结点的目的是()。

(A)方便运算的实现 (B)使单链表至少有一个结点 (C)标识表结点中首结点的位置

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

17.假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为()。

(A)ABDEGHJCFI (B)ABCDEFGHIJ (C)ABDEGHJFIC (D)ABDEGJHCFI 18.设树T的度为3,其中度为l、2、3的结点个数分别为4、2、1,则T中的叶子结点为()。

(A)4 (B)5 (C)6 (D)7

19.设根结点的层次为0,则高度为k的二叉树的最大结点数为()。 (A)2k-1 (B)2k (C)2k+1-1 (D)2k+1

20.对长度为n的线性表进行二分法查找,在最坏情况下所需要的比较次数为()。

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

21.()方法是对序列中的元素通过适当的位置交换将有关元素一次性地放置在其最终位置上。

(A)希尔排序 (B)插入排序 (C)快速排序 (D)选择排序 22.用某种排序方法对序列(26,93,21,47,12,27,68,35,18)进行排序,记录序列的变化情况如下: 12,18,24,30,47,27,68,35,93 12,18,24,26,35,27,47,68,93 12,18,24,26,27,35,47,68,93 则采取的排序方法是()。

(A)直接选择排序 (B)冒泡排序 (C)快速排序 (D)希尔排序 23.在排序方法中,将整个无序序列分割成若于小的子序列并分别进行排序的方法,称为()。

(A)希尔排序 (B)冒泡排序 (C)插入排序 (D)选择排序 二、填空题

1.执行算法所需要的计算工作量指的是算法的(1)。

2.在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间(2)的信息。

3.顺序存储方法是把逻辑上相邻的结点存储在物理位置(3)的存储单元中。

4.对于循环队列Q[M],下标从0到M-1,头尾指针分别为F和R,入队时,队尾指针循环加l可以表示为R=(4)。 5.栈称为(5)线性表。 6.队称为(6)线性表。

7.队列的插入操作在(7)进行,删除操作在(8)进行。

8.在一个容量为10的循环队列中,若头指针front=5,尾指针rear=3,则该循环队列中共有(9)个元素。

9.在单向循环链表中,若头指针为h,那么p所指的结点为尾点的条件是(10)。

10.线性表是最简单的一种数据结构,有顺序和链接二种存储方式。线性表按链接方式存储时,每个结点的存储包括(11)两部分。 11.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为3种:前序遍历、(12)遍历和后序遍历。 12.具有90个结点的完全二叉树的深度为(13)。

13.已知一棵含有n个结点的树中,只有度为k的结点和度为0的叶子结点,则该树中含有的叶子结点个数为(14)。 14.在计算机中,可以采用(15)结构来表示算术表达式。 15.二叉树第i(i≥1)层上至多有(16)个结点。

6

16.深度为i(i≥1)的二叉树至多有(17)个结点。

17.设一棵完全二叉树共有768个结点,则在该二叉树中有(18)个叶子结点。

18.如图所示的二叉树,若按前序遍历,则其输出序列为(19)。若按中序遍历,则其输出序列为(20)。若按后序遍历,则其输出序列为(21)。

19.二分查找方法仅适用于这样的表:表中的记录必须(22),其存储结构必须是(23)。

20.对具有n个元素的任意序列进行排序,在最坏的情况下,采用简单插入排序法时需要(24)次比较;采用希尔排序法进行排序时,时间复杂度为(25);采用简单选择排序法进行排序时,需要比较(26)次;采用堆排序法进行排序时需要比较的次数为(27)。 参考答案 一、选择题

1 ~ 5:ADBBD 6 ~10: CBDCD 11~15:ACABB 16~20: AABCA 21~23:CCA 二、填空题

(1)时间复杂度 (2)前后件关系 (3)相邻 (4)(1+R)%M

(5)先进后出或后进先出 (6)先进先出或后进后出 (7)队尾 (8)8 (9)8 (10)p->next=h (11)数据和指针 (12)中序 (13)7 (14)((k-1)*n+1)/k

(15)树 (16)2i-1 (17)2i-1 (18)384 (19)ABDCEFGH (20)BDAFRHGC

(21)DBFHGECA (22)有序 (23)顺序存储 (24)n(n-1)/2 (25)O(n1.5) (26) n(n-1)/2 (27)O(nlog2n)

第2章 程序设计基础

知识点1:程序设计方法与风格 一、选择题分析

【例1】对建立良好的程序设计风格,下面描述正确的是()。 (A)程序应简单、清晰、可读性好 (B)符号名的命名只要符合语法 (C)充分考虑程序的执行效率 (D)程序的注释可有可无 题眼分析 良好的程序设计风格可以减少编码错误,减少程序阅读时间,从而提高软件的开发效率。程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应强调简单和清晰,程序必须是可以理解的。A是正确答案。

符号名的命名不但符合语法要求,还应具有一定的实际含义,以便理解程序功能,所以选项B是错误的。“清晰第一,效率第二”的论点已成为当今主导的程序设计风格,在考虑程序的执行效率同时,一定保证程序清晰、可读,所以选项C是错误的。程序注释可以帮助程序员理解程序,良好的程序设计风格应该包括完整的注释,所以选项D也是错误的。 答案A

【例2】在设计程序时,应采纳的原则之一是()。

(A)程序结构应有助于读者理解 (B)不限制GOTO语句的使用 (C)减少或取消注解行 (D)程序越短越好

题眼分析 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。因此选项(A)是正确答案。程序滥用GOTO语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。 答案A

【例3】源程序的文档化不包括()。答案D

(A)符号名的命名要有实际意义 (B)正确的文档格式 (C)良好的视觉组织 (D)正确的程序注释

题眼分析 源程序的文档化主要包括:①符号名的命名应具有一定的实际含义,以便理解程序功能;②正确的程序注释;③良好的视觉组织:在程序中利用空格、空行、缩进等技巧使程序层次清晰。 二、填空题分析

【例1】从程序设计方法和技术发展的角度来说,程序设计主要经历了结构化设计和()的程序设计阶段。

题眼分析 程序设计主要经历了结构化设计和面向对象的程序设计阶段。

【例2】注释一般分为序言性注释和()注释。 题眼分析 注释一般分为序言性注释和功能性注释。 知识点2:结构化程序设计 一、选择题分析

【例1】结构化程序设计的3种基本控制结构是()。答案B (A)过程、子程序和分程序 (B)顺序、选择和重复 (C)递归、堆栈和队列 (D)调用、返回和转移

题眼分析 已经证明,程序设计语言仅仅使用顺序、选择和重复3【例2】结构化程序设计主要强调的是()。 (A)程序的规模 (B)程序的易读性 (C)程序的执行效率 (D)程序的可移植性

题眼分析 结构化程序设计主要强调的是结构化程序清晰易读,易于理解,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。 答案B

【例3】关于结构化程序设计原则和方法的描述中错误的是()。 (A)选用的控制结构只准许有一个入口和一个出口

(B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 (C)不允许使用GOTO语句

(D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 题眼分析 限制使用GOTO语句是结构化程序设计原则和方法之一,但不是绝对不允许使用GOTO语句,例如在不使用GOTO语句会使功能模糊的情况下,或在使用GOTO语句可以改善而不是损害程序可读性的情况下,都可以使用GOTO语句。因此选项C是答案,选项A、B和D都是结构化程序设计原则和方法。 二、填空题分析

【例l】结构化程序设计的原则中,“先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标”称为()。

题眼分析 结构化程序设计的原则包括自顶向下、逐步求精、模块

7

化和限制使用GOTO语句。“先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标”称为自顶向下原则。 答案自顶向下 【例2】在程序设计语言中,重复结构对应两类循环语句:一类是(1)循环结构;另一类是(2)循环结构。

题眼分析 在程序设计语言中,重复结构对应两类循环语句:(1)对先判断后执行的循环体称为当型循环结构;(2)对先执行循环体后判断的称为直到型循环结构。 答案 (1)当型 (2)直到型 知识点3:面向对象的程序设计 一、选择题分析

【例l】采用面向对象技术开发的应用系统的特点是()。 (A)重用性更强 (B)运行速度更快、 (C)占用存储量小 (D)维护更复杂

题眼分析 采用面向对象技术开发的应用系统的特点主要包括:与人类习惯的思维方法一致:稳定性好;可重用性好;易于开发大型软件产品;可维护性好,因此选项A是正确的,而选项D是错误的。采用面向对象技术开发的应用系统并不能提高系统的运行速度,也不能减少存储量,因此选项B和选项C是也错误的。答案A 【例2】面向对象的开发方法,类与对象的关系是()。

(A)具体与抽象 (B)抽象与具体 (C)整体与部分 (D)部分与整体 题眼分析 类是具有共同属性、共同操作方法的对象的集合,所以类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。所以选项B是正确答案。 【例3】消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括()。 (A)接收消息的对象的名称、消息标识符和必要的参数 (B)接收消息的对象的名称和消息标识符

(C)发送消息的对象的名称、调用的接收方的操作名和必要的参数 题眼分析 对象之间的相互作用和通信是通过消息来完成的。当对象A要执行对象B的方法时,对象A发送一个消息到对象口。接受对象需要有足够的信息,以便知道要它做什么。通常,一个消息由下述3部分组成:接收消息的对象的名称、消息标识符(消息名)、零个或多个参数。 答案A

【例4】一个对象在收到消息时,要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做对象的()。答案B (A)继承性 (B)多态性 (C)抽象性 (D)封装性 题眼分析 对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行为,该现象称为多态性。 二、填空题分析 答案对象

【例2】在面向对象程序设计中,从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的()。

题眼分析 在面向对象程序设计中,从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的封装性。 答案封装性

【例3】使用已经存在的类作为基础建立新类的定义,这种技术叫

种基本控制结构就足以表达出各种其他形式结构的程序设计方法。 (D)消息标识符

【例1】在面向对象方法中,类的实例称为()。(2005年4月)

做类的()。

题眼分析 继承是使用已有的类定义作为基础建立新类的定义技术。已有的类可当做基类来应用,则新类相应地可当做派生类来引用。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。 答案继承

【例4】一个类允许有多个父类,这种继承称为()。

题眼分析 继承分为单继承与多重继承。单继承是指一个类只允许有一个父类,即类等价为树型结构。多重继承是指一个类允许有多个父类。多重继承的类可以组合多个父类的性质构成所需要的性质。 答案多重继承 单元训练 一、选择题

1.下面关于数据说明的方法描述中错误的是()

(A)数据说明的次序规范化 (B)数据说明放在第一次使用的语句前一行

(C)说明语句中变量安排有序化 (D)使用注释来说明复杂数据的结构

1~8:BAAACBDC 二、填空题

(1)限制使用GOTO语句 (2)选择(分支) (3)继承 (4)派生 (5)封装

第3章 软件工程基础

知识点1:软件工程基本概念 一、选择题分析 【例1】软件是一种()。

(A)程序 (B)数据 (C)逻辑产品 (D)物理产品 题眼分析 计算机软件是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档。软件在开发、生产、维护和使用等方面与计算机硬件相比存在明显的差异,其中最显著的特征之一是:软件是逻辑产品,而不是物理实体,具有抽象性。 答案C 【例2】软件工程的提出起源于软件危机,而其目的是最终解决软件的()问题。

(A)生产危机 (B)生产工程化 (C)质量保证 (D)开发效率 题眼分析 软件工程是为了消除软件危机而产生的,它试图使用工程、科学和数学的原理与方法,研制、维护计算机软件的有关技术及管理方法,其目的是最终解决软件的生产工程化问题,故选项B是正确答案。生产危机、质量保证、开发效率都是软件危机的一部分,所以选项A、C和D都是错误的。 【例3】下面不属于软件工程的3个要素的是()。 (A)工具 (B)过程 (C)方法 (D)环境

题眼分析 软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制和管理。环境不是软件工程的三要素之一。 答案D

【例4】软件的生命周期可分为软件定义、软件开发和软件运行维护3个阶段。下列选项中,不属于软件开发阶段的工作的是()。 (A)维护 (B)概要设计 (C)详细设计 (D)测试 题眼分析 软件的生命周期可分为软件定义、软件开发和软件运行维护3个阶段。其中软件定义阶段的主要工作有问题定义、可行研究和需要分析等;软件开发阶段的主要工作有概要设计、详细设计、实现(程序设计)和测试等;软件运行维护阶段的主要工作有运行和维护。选项A不属于软件开发阶段的工作,它属于软件运行维护阶段的工作。 答案A

【例5】软件工程学一般包括软件开发技术和软件工程管理两方面的内容。软件工程经济学是软件工程管理的技术内容之一,它专门研究()。

(A)软件开发的方法学 (B)软件开发技术和工具 (C)软件成本效益分析 (D)计划、进度和预算

题眼分析 软件工程管理主要包括软件管理学、软件工程经济学和软件心理学等内容。软件经济学是研究软件开发中成本的估算、成本效益分析的方法和技术,用经济学的基本原理来研究软件工程开发中的经济效益问题。 答案C 【例6】下面不属于软件设计原则的是()。

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

2.下面所述中,()是编写程序时应采纳的原则之一。 (A)使用有实际意义的名字 (B)使用长度短而无实际含义的名字

(C)表达式中尽量少用括号 (D)尽量使用化简了的逻辑表达式

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

(A)使用顺序、选择和重复(循环)3种基本控制结构表示程序的控制逻辑 (B)模块只有一个入口,可以有多个出口 (C)注重提高程序的执行效率 (D)不使用GOTO语句

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)抽象性 二、填空题

1.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和(1)。

2.结构化程序设计的3种基本逻辑结构为顺序、(2)和循环。 3.在面向对象方法中,类之间共享属性和操作机制称为(3)。 4.在面向对象方法中,可以通过两种方式重复使用一个对象类,一种是创建该类的实例,另一种是从它(4)出一个满足当前需要的新类。

5.在面向对象方法中,信息隐蔽是通过对象(5)性来实现的。 参考答案 一、选择题

题眼分析 在软件设计过程中,必须遵循软件工程的基本原则。这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。 答案C

【例7】计算机辅助软件工程,简称为()。 (A)SA (B)SD (C)SC (D)CASE

题眼分析 计算机辅助软件工程的英文是Computer Aided Software Engineering,缩写为 CASE。它是将各种软件工具、用于开发的计算机和一个存放开发过程信息的中心数据库组织 起来,形成软件工程环境。 答案D 二、填空题分析

【例1】根据软件的功能,软件可分应用软件、系统软件和()3类。 题眼分析 根据软件的功能,软件可分应用软件、系统软件和支撑软件3类。其中,支撑软件介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发 维护的应用软件的工具软件。 答案支撑软件

【例2】软件工程概念的出现源自()。答案软件危机

题眼分析 软件工程是为了消除软件危机而产生的,它试图使用工程、科学和数学的原理 与方法研制、维护计算机软件的有关技术及管理方法,其目的是最终解决软件的生产工程化问题。 【例3】软件开发环境是全面支持软件开发全过程的()集合。 题眼分析 软件开发环境或称软件工程环境是全面支持软件开发全过程的软件工具的集 合。这些软件工具按照一定的方法或模式组织起来,支持软件生命周期内的各个阶段和各项任务的完成。 答案软件工具

知识点2:结构化分析方法 一、选择题分析

【例l】需求分析阶段的任务是确定()。 (A)软件开发方法 (B)软件开发工具 (C)软件开发费用 (D)软件系统功能

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

(A)阶段性报告 (B)需求评审 (C)总结 (D)都不正确 题眼分析 需求分析阶段的工作可概括为4个方面:①需求获取,②需求分析,③编写需求规格说明书,④需求审评。 答案B 【例3】结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。

(A)对象 (B)数据结构 (C)数据流 (D)目标

题眼分析 结构化分析方法SA是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 答案C 【例4】下列工具中为需求分析常用工具的是()。 (A)PAD (B)PFD (C)N-S (D)DFD

9

题眼分析 需求分析常用工具有数据流图(DFD)、数据字典、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析工具。 答案D

【例5】数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符不属于数据流图的是()。答案A (A)控制流 (B)加工 (C)数据存储 (D)源和潭 题眼分析 数据流图主要图符元素有:①加工,用圆或椭圆表示,输入数据经过加工变换产生输出;②数据流,用箭头表示,沿箭头方向传送数据的通道;③存储文件,用双杠表示,处理过程中存放各种数据文件;④源、潭,用方框表示,代表系统和环境接口。 【例6】数据字典是对数据定义信息的集合,它所定义的对象都包含在()中。

(A)程序框图 (B)数据流图 (C)软件结构 (D)方框图 题眼分析 数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。概括地说,数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释。答案B

【例7】下列叙述中,不属于软件需求规格说明书的作用的是()。 (A)便于用户、开发人员进行理解和交流

(B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 (C)作为确认测试和验收的依据 (D)便于开发人员进行需求分析

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

【例l】Jackson方法是一种面向()的结构化方法。

题眼分析 Jackson方法是一种结构化分析方法,它是一种面向数据结构的结构化方法。 答案数据结构

【例2】需求分析阶段的最后成果是(),是软件开发的重要文档之一。

题眼分析 软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。它便于用户与开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据。 答案软件需求规格说明书 知识点3:结构化设计方法 一、选择题分析

【例1】在结构化方法中,软件功能分解属于软件开发中的()阶段。 (A)详细设计 (B)需求分析 (C)总体设计 (D)编程调试 题眼分析 从工程管理角度来看,软件设计分两步完成:概要设计(又称结构设计、总体设计)和详细设计。概要设计的主要任务是:①设计软件系统结构;②数据结构和数据库设计 ③编写概要设计文档;④概要设计文档评审。设计软件系统结构的主要工作是划分模块并确定模块的层次结构。由此可见,软件功能分解属于软件开发中的总体设计阶段。 答案C

【例2】为了使模块尽可能独立,要()。(2005年4月)

(A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 (B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 (C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 (D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 题眼分析 耦合性和内聚性是衡量软件的模块独立性的两个定性的度量标准。其中,内聚 性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之问的相互联系程度。它们是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。答案B 【例3】为了提高模块的独立性,模块之间最好是()。 (A)控制耦合 (B)公共耦合 (C)内容耦合 (D)数据耦合 题眼分析 耦合性用来度量模块之间的相互联系程度。耦合有以下几种(按耦合度由高到 低排列):内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合和非直接耦合。 答案D 【例4】软件的结构化开发过程各阶段都应产生规范的文档,以下()不是在概要设计阶段应产生的文档。

(A)集成测试计划 (B)软件需求规格说明书 (C)概要设计说明书 (D)数据库设计说明书

题眼分析 在软件生命周期中,每一阶段都有阶段成果。在软件概要设计阶段的主要文件 有:概要设计说明书、数据库设计说明书和集成测试计划。软件需求规格说明书是需求分析阶段的最后成果。 答案B

【例5】软件结构设计的图形工具是()。答案B

(A)DFD图 (B)程序图 (C)PAD图 (D)N-S图

题眼分析 常用的软件结构设计工具是结构图,也称程序结构图。使用结构图可以描述软件系统的层次和分块结构关系,它反映了整个系统的功能实现以及模块与模块之间的联系与通信。DFD(数据流图)是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段使用的的图形工【例6】()工具在软件详细设计过程中不采用。 (A)判定表 (B)N-S图 (C)PDL (D)DFD图

题眼分析 软件详细设计过程中常用3类工具:图形、表格和语言。其中图形工具有程序流程图、盒图(N-S图)和问题分析图(PAD)3种。判定表是表格工具,它用来表示复杂的条件组合与应做的动作之间的对应关系。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言。因此选项A、B、D这3种都可以在软件详细设计过程中使用,而DFD则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是~种功能模型,不能在详细设计过程中使用。 答案D

【例7】程序流程图(PFD)中的箭头代表的是()。

(A)数据流 (B)控制流 (C)调用关系 (D)组成关系 题眼分析 在程序流程图中,用方框表示一个处理步骤,菱形代表一个逻辑条件,箭头表示控制流。 答案B

【例8】为了避免流程图在描述程序逻辑时的灵活性,提出了用方

10

框图来代替传统的程序流程图,通常也把这种图称为()。 (A)PAD图 (B)N-S图 (C)结构图 (D)数据流图 题眼分析 常见的过程设计工具有:程序流程图、N-S图、PAD图和HIPO图。为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图(盒图)来代替传统的程序流程图,通常也把这种图称为N-S图。 答案B 二、填空题分析

【例1】数据流图的类型有()和事务型。 题眼分析 数据流图的类型有变换型和事务型。

【例2】每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,这是指()。

题眼分析 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。 答案模块独立性

【例3】一个模块被多个模块所调用,调用这个模块的模块个数称为()。 答案扇入

题眼分析 在使用程序结构图来描述软件时,需要注意以下几个概念:①深度:表示控制的层数;②上级模块、从属模块:上、下两层模块a和b,且有a调用b,则a是上级模块,b是从属模块;③宽度:整体控制跨度(最大模块数的层)的表示;④扇入:调用一个给定模块个数;⑤扇出:一个模块直接调用的其他模块个数; 知识点4:软件测试 一、选择题分析

【例1】下列对于软件测试的描述中正确的是()。(2005年4月) (A)软件测试的目的是证明程序是否正确 (B)软件测试的目的是使程序运行结果正确 (C)软件测试的目的是尽可能地多发现程序中的错误 (D)软件测试的目的是使程序符合结构化原则

题眼分析 软件测试是为了尽可能多地发现程序中的错误,尤其是至今尚未发现的错误。答案C 试和白盒测试两种,它们()。

(A)前者属于静态测试,后者属于动态测试 (B)前者属于动态测试,后者属于静态测试 (C)都属于静态测试 (D)都属于动态测试

题眼分析 静态测试是指人工评审软件文档或程序,借以发现其中的错误;动态测试是指通常的上机测试。白盒测试方法和黑盒测试方法是动态测试的设计测试用例的两类方法。答案D 【例3】为了提高测试的效率,应该()。 (A)随机地选取测试数据

(B)取一切可能的输入数据作为测试数据 (C)在完成编码以后制定软件的测试计划 (D)选择发现错误可能性大的数据作为测试数据

题眼分析 软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据。为了提高测试的效率,测试用例应该选择发现错误可能性大的部

具。N-S图(盒图)和PAD(问题分析图)是详细设计阶段的常用工具。 【例 2】软件测试中根据测试用例设计的方法的不同可分为黑盒测

分,这样的测试结果才符合软件测试的目的。 答案D 【例4】使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。

(A)程序的内部逻辑 (B)程序的复杂结构 (C)使用说明书 (D)程序的功能

题眼分析 白盒测试是把测试对象看做一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。 答案A 【例5】软件测试的过程是()。

I.集成测试 II.验收测试 III.系统测试 Ⅳ.单元测试 (A)I、1I、III、1V (B)IV、III、II、I

(C)IV、I、II、III、 (D)II、I、Ⅳ、III

题眼分析 软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。答案C

【例6】检查软件产品是否符合需求定义的过程称为() 。 (A)系统测试 (B)集成测试 (C)验收测试 (D)单元测试 题眼分析 单元测试的目的是发现各模块内部可能存在的各种错误;集成测试是测试和组 装软件的过程;系统测试的目的是在真实的系统工作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方,因此选项A、B、D都是错误的。验收测试(也叫确认测试)的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,软件配置是否完全、正确,因此选项C是正确答案。 二、填空题分析

【例1】等价类型划分法是()测试常用的方法。

题眼分析 等价类划分法是一种典型的黑盒测试方法。它是将程序的所有可能的输入数据 划分成若干部分,然后从每个等价类中选取数据作为测试用例。 答案黑盒

【例2】单元测试阶段主要涉及的文档是()。答案详细设计说明书 题眼分析 单元测试是对软件设计的最小单位--模块(程序单元)进行正确性检验测试,其目的是发现各模块内部可能存在的各种错误。单元测试的依据是详细的设计说明书和源程序。 知识点5:程序调试 一、选择题分析

【例1】软件调试的目的是()。 (A)发现错误 (B)改正错误

(C)改善软件的性能 (D)挖掘软件的潜能

题眼分析 在对程序进行测试时会发现错误,这就要进行程序调试(排错)。 答案B

【例2】以下所述中,()是软件调试技术。

(A)错误推断 (B)集成测试 (C)回溯法 (D)边界值分析 题眼分析 软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法,而集成测试是软件测试的步骤。 答案C 二、填空题分析

【例1】诊断和改正程序中错误的工作通常称为()。(2005年4月) 题眼分析 在对程序进行成功测试之后将进行程序调试(排错)。程序

11

的调试任务是诊断和改正程序中的错误。 答案调试 【例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)PAD图 (D)数据词典 9.在程序结构图中,矩形用来表示()。

(A)模块 (B)模块间的调用关系 (C)加工 (D)存储 10.下面关于PDL不正确的说法是()。

(A)PDL描述处理过程怎么做 (B)PDL只描述加工做什么 (C)PDL也称为伪码

(D)PDL的外层语法应符合一般程序设计语言常用的语法规则 11.从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计和过程设计,其中,()是定义软件系统各主要部件之间的关系。

(A)结构设计 (B)数据设计 (C)接口设计 (D)过程设计 12.信息隐蔽的概念与下述()概念直接相关。

(A)软件结构定义(B)模块独立性 (C)模块类型划分(D)模拟耦合度 13.测试是为了发现程序中的错误而执行程序的过程,下述有关测试的论述中错误的是()。

(A)证明错误存在 (B)证明错误不存在 (C)发现程序的错误 (D)提供诊断信息 14.用白盒法技术设计测试用例的方法包括()。

(A)错误推测 (B)因果图 (C)基本路径测试 (D)边界值分析 15.白盒测试方法一般适合用于()测试。 (A)单元 (B)系统 (C)集成 (D)确认

16.软件测试方法一般有黑盒测试和白盒测试,其中黑盒测试主要是依据程序的()。

(A)结构 (B)流程 (C)功能 (D)逻辑 17.()是调试程序的主要工作之一。

(A)调度 (B)证明程序正确 (C)人员安排 (D)排错 18.软件测试和排错是两类相互联系而又性质不同的活动。以下所述中,()不是排错具有的特征。

(A)修改程序 (B)运用推理和归纳方法 (C)了解程序细节 (D)运用测试用例 二、填空题

1.软件产品从提出、实现、使用维护到停止使用的过程称为(1)。 2.软件的需求分析阶段的工作,可以概括为4个方面:需求获取、需求分析、编写需求规格说明书和(2)。 3.结构化分析方法是面向(3)进行分析的方法。

4.模块的独立程度可以由两个定性标准度量。其中(4)是度量一个模块功能强度的一个相对指标(5)则用来度量模块之间的相互联系程度。

5.一个模块直接调用的其他模块个数称为(6)。

6.在测试用例时,测试人员通过经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这种方法称为(7)。

7.在程序调试方法中,从一些线索(如错误征兆)着手,通过分析寻找到潜在的原因,从而找出错误,这种方法称为(8)。 参考答案 一、选择题

1 ~10: CBCCD DBCAB 11~18: ABCCA CDD 二、填空题

(1)软件生命周期 (2)需求评审 (3)数据流 (4)内聚性 (5)耦合性 (6)扇出 (7)错误推测法 (8)归纳法

(C)不同的数据只能被对应的应用程序所使用 (D)以上3种说法都不对

题眼分析 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。选项A、B、Cc所描述的都不是数据独立的概念。 答案D

【例3】下面列出的条目中,()是数据库系统的组成成员。 I.操作系统 II.数据库管理系统III.数据库管理员 Ⅳ.数据库

(A)II、III和IV (B)II和Ⅳ (C)I、III和IV (D)都是 题眼分析 一个完整的数据库系统包括以下几部分:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)和软件平台。 答案D

【例4】数据库系统的核心是()。

(A)数据库 (B)数据库管理系统 (C)数据模型 (D)软件工具 题眼分析 数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)和软件平台5个部分构成。其中,数据库管理系统是数据系统的核心,它负责数据库中的数据组织、数据操作、数据维护、控制及保护、数据服务等工作。所以选项B是正确答案。数据库是数据的集合,它不是数据库系统的核心;数据模型是用来抽象、表示和处理现实世界中数据和信息的工具;软件工具是用来辅助软件开发、运行、维护、管理和支持等活动的工具,所以选项A、C、D都不正确。

【例5】DBA是数据库系统的一个重要组成,有很多职责。以下选项不属于DBA职责的是()。

(A)定义数据库的存储结构和存取策略 (B)定义数据库的结构

(C)定期对数据库进行重组和重构 (D)设计和编写应用系统的程序模块

题眼分析 DBA,即数据库管理员是指对数据库进行规划、设计、维护和监视等的人员。其主要工作有数据库设计、数据库维护、改善系统性能、提高系统效率,因此选项A、B、C都是DBA职责。设计和编写应用系统的程序模块是程序设计人员的职责。 答案D 【例6】在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是()。 (A)数据库系统 (B)文件系统 (C)人工管理 (D)数据项管理 题眼分析 数据库系统的三级模式体系结构中,概念模式到内模式的映射和外模式到概念模式的映射,保证了数据独立性的实现。人工管理阶段,数据无法共享、冗余度大,完全依赖于程序。在文件系统阶段,数据共享性差、冗余度大,独立性也较差。 答案A 【例7】下述关于数据库系统的叙述中正确的是()。 (A)数据库系统减少了数据冗余 (B)数据库系统避免了一切冗余

(C)数据库系统中数据的一致性是指数据类型的一致 (D)数据库系统比文件系统能管理更多的数据

题眼分析 数据的集成性可以提高数据的共享性,减少数据冗余,但并不能避免一切数据的冗余,所以选项A是正确答案,选项B是错误的。数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一数据在系统的不同拷贝处12

第4章 数据库设计基础

知识点1:数据库系统的基本概念 一、选择题分析

【例l】在下面所列出的条目中,哪些是数据库管理系统的基本功能()

I.数据库定义 II.数据库的建立和维护

III.数据库存取 Ⅳ.数据库和网络中其他软件系统的通信 (A)I和II (B)I、II和III ( C)II和III (D)都是

题眼分析 DBMS主要功能有:数据定义;数据库操作(检索、插入、修改和删除等);数据库运行管理(数据库恢复、数据完整性控制、并发控制和数据安全性控制);数据组织、存储和管理(数据字典、用户数据、存储路径等)及数据库的建立和维护等。 答案D 【例2】数据独立性是数据库技术的重要特点之一,所谓数据独立性是指()。(2005.4)

(A)数据与程序独立存放 (B)不同的数据被存放在不同的文件中

有不同的值,所以选项C是错误的。数据库系统的功能要比文件系统强,但不是意味着数据库系统比 文件系统能管理更多的数据,所以选项D是错误的。 答案A

【例8】下面列出的条目中,哪些是数据库技术的主要特点()。 I.数据的结构化 II.数据的冗余度小 III.较高的数据独立性 Ⅳ.程序的标准化 (A) I、II和III (B)I和II (C)I、II和IV (D)都是 题眼分析 数据库技术的主要特点有:①数据的集成性;②数据的高共享性与低冗余性;③数据独立性。数据的结构化是数据的集成性的表现之一,因此选项A是正确答案。程序的标准化不是数据库技术的主要特点。 答案A

【例9】数据库中对全部数据的整体逻辑结构的描述,作为数据库的()。

(A)内模式 (B)外模式 (C)概念模式 (D)子模式 题眼分析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。 答案C

【例10】数据库的三级模式之间存在映射关系正确的是()。 (A)外模式/内模式 (B)外模式/概念模式 (C)外模式/外模式 (D)概念模式/概念模式

题眼分析 数据库的三级模式之间存在着两种映射关系,一种是概念模式到内模式的映射,这种映射将概念数据库与物理数据库联系起来;另一种是外模式到概念模式的映射,这种映射把用户数据库与概念模式数据库联系起来。因此选项B是正确答案。 二、填空题分析

【例l】数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构应用程序不必修改,称为()。 答案物理独立性

题眼分析 数据独立性一般分为物理独立性与逻辑独立性两级。物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变不影响数据库的逻辑结构,从而不致引起应用程序的变化。逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序。 【例2】数据库系统中实现各种数据管理功能的核心软件称为()。 答案数据库管理系统或DBMS

【例3】数据库三级模式体系结构的划分,有利于保持数据库的()。 题眼分析 数据库的三级模式体系结构把数据的组织管理工作进行了划分,把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,保证了数据的独立性。 答案数据独立性.

【例4】在数据库管理系统中,数据统一管理与控制主要包括数据的完整性检查、数据的安全性保护和()。

题眼分析 数据统一管理与控制是数据库系统的主要特点之一,主要包括:①数据的完整性检查,检查数据库中数据的正确性以保证数据的正确。②数据的安全性保护,检查数据库访问者以防止非法

13

访问。③并发控制,控制多个应用的并发访问所产生的相互干扰以保证其正确。 答案并发控制 知识点2:数据模型 一、选择题分析

【例1】下列说法中,不属于数据模型所描述的内容的是()。 (A)数据结构 (B)数据操作 (C)数据查询 (D)数据约束 题眼分析 数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。其中,数据结构主要描述数据的类型、内容、性质以及数据库的联系等;数据操作主要描述在相应数据结构上的操作类型与操作方式;数据约束主要描述数据结构内数据间的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效与相容。 答案C 【例2】在下面列出的数据模型中,()是概念数据模型。

(A)关系模型 (B)层次模型 (C)网状模型 (D)实体一联系模型 题眼分析 数据模型按不同的应用层次可以分成3种类型,它们是概念数据模型、逻辑数据模型、物理数据模型。其中,概念数据模型是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。实体一联系模型(E-R模型)是概念数据模型,而关系模型、层次模型和网状模型都是逻辑数据模型。所以,选项D是正确答案。 【例3】数据库的概念模型()。 答案D

(A)依赖于计算机硬件和DBMS (B)独立于计算机硬件,依赖于DBMS

(C)依赖于计算机硬件,独立于DBMS (D)独立于计算机硬件和DBMS

题眼分析 数据库的概念模型是对客观世界复杂事物的结构描述及它们之间的内在联系的描述,是一种面向客观世界、面向用户的模【例4】E-R模型可以形象地用E-R图来表示。在E-R图中用()来表示实体。

(A)三角形 (B)矩形 (C)椭圆形 (D)菱形

题眼分析 在E-R图中,用下面不同的几何图形表示E-R模型中的3个概念与两个联接关系:实体集用矩形表示,在矩形内写上该实体集的名字;属性用椭圆形表示,在椭圆形内写上该属性的名称;联系用菱形表示,在菱形内写上联系名;实体集(联系)与属性间的联接关系和实体集与联系间的联接关系都用无向线段表示。所以,选项B是正确答案。

【例5】用树形结构来表示实体之间联系的模型称是()。 (A)关系模型 (B)网状模型 (C)层次模型 (D)以上3个都是 题眼分析 关系模型是用二维表来表示实体之间联系;网状模型是用无向图来表示实体之间联系:层次模型是用树形结构来表示实体之间联系。所以,选项C是正确答案。

【例6】在关系数据库中,用来表示实体之间联系的是()。答案D (A)树结构 (B)网结构 (C)线性表 (D)二维表 题眼分析 在关系数据库中,用二维表来表示实体之间联系。 【例7】下面对于关系的描述中不正确的是()。

(A)关系中的每个属性是不可分解的 (B)在关系中元组的顺序是无关紧要的

(C)任意的一个二维表都一个关系 (D)每一个关系只有一种记录类型

型,它与具体的数据库管理系统无关,与具体的计算机平台无关。

题眼分析 关系模型采用二维表来表示。二维表一般满足下面7个性质:①二维表中元组个数是有限的——元组个数有限性;②二维

表中元组均不相同——元组的惟一性:③二维表中元组的次序可以任意交换——元组的次序无关性;④二维表中元组的分量是不可分割的基本数据项——元组分量的原子性;⑤二维表中属性名各不相同——属性名惟一性;⑥二维表中属性与次序无关,可任意交换——属性的次序无关性;⑦二维表属性的分量具有与该属性相同的值域——分量值域的同一性。根据这些性质,选项C的描述是不正确的。

【例8】关系表中的每一横行称为一个()。 (A)元组 (B)字段 (C)属性 (D)码

题眼分析 在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。 答案A

【例9】如果在一个关系中,存在多个属性(或属性组)都能用来惟一标识该关系的元组,且其任何子集都不具有这一特性。这些属性(或属性组)都被称为该关系的()。

(A)连接码 (B)主码 (C)外码 (D)候选码

题眼分析 键(Key)或码是关系模型中的一个重要概念。键具有标识元组、建立元组间联系等重要作用。在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。表A中的某属性集是某表B的键,则称该属性集为A的外键或外码。所以选项D是正确答案。 【例10】设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是()。

(A)实体完整性约束 (B)参照完整性约束 (C)用户定义完整性约束 (D)域完整性约束

题眼分析 关系模型允许定义3类数据约束,它们是实体完整性约束、参照完整性约束以及用户定义的完整性约束。其中,实体完整性规则要求关系中组成主键的属性上不能有空值。参照完整性规则要求不引用不存在的实体。用户定义完整性规则由具体应用环境决定,系统提供定义和检验这类完整性的机制。所以选项A是正确答案。

二、填空题分析

【例1】一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于()联系。 题眼分析 如果实体集A中的每一个实体,实体集B中有n(n≥0)个实体与之联系,反之,实体集B中的每一个实体,实体集A中至答案 一对多或l:n

【例2】在关系数据库中,把数据表示成二维表,每一个二维表称为(1),二维表每一行称为(2),二维表每一列称为关系的(3)。 题眼分析 在关系数据库中,关系模型采用二维表来表示,简称“表”,因此一个二维表称为关系。二维表是由表框架(关系的属性)及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组,而每一列称关系为属性。 答案 (1)关系 (2)元组 (3)属性 【例3】在关系模型中,表A中的某属性集是某表B的键,则称该属性集为A的()。 答案 外键或外码

【例4】关系模型的完整性规则是对关系的某种约束条件,包括实

14

体完整性、()和自定义完整性。 答案参照完整性 知识点3:关系代数 一、选择题分析

【例1】关系数据库管理系统能实现的专门关系运算包括()。 (A)排序、索引、统计 (B)选择、投影、连接 (C)关联、更新、排序 (D)显示、打印、制表

题眼分析 关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算和连接 运算。 答案B

【例2】按条件f对关系R进行选择,其关系代数表达式是()。

题眼分析 (A)表示自然连接运算;(B)表示连接运算;(D)表示投影运算。 答案C

【例3】设关系R和关系S具有相同的元数,且对应的属性取自相同的域。集合{t|t∈R∧t∈S }标记的是()。

(A) R∪S (B) R-S (C) R×S (D) R∩S

题眼分析 题目中所描述的其实就是“交”运算的定义,答案选D。 【例4】设关系R是4元关系,关系S是一个5元关系,关系T是R与S的笛卡尔积,即T=R×S,则关系T是()元关系。 (A)9 (B)ll (C)20 (D)40

题眼分析 根据笛卡尔积的定义,答案是4+5=9,选A。

【例5】下列关系运算中,()不要求关系R和S具有相同的属性个数。

(A)R∪S (B)R∩S (C)R-S (D)R×S

题眼分析 R∪S表示关系R和关系S的并运算,由属于关系R和关系S的元组组成的集合,要求关系R和关系S具有相同的属性个数;R∩S表示关系R和关系S的交运算,由既属于关系R也关系S的元组组成的集合,也要求关系R和关系S具有相同的属性个数;R-S表示属于关系R,但不属于关系S的元组组成的集合,也要求关系R和关系S具有相同的属性个数。R×S表示关系R和关系S笛卡尔积,由笛卡尔积定义可知,这个运算不要求关系R和关系S具有相同的属性个数。 答案D 二、填空题分析

【例1】设关系R有4个元组,关系S有5个元组,关系T是R与S的笛卡尔积,即T=R×S,则关系T的元组是() 。 题眼分析 根据笛卡尔积的定义,所以答案是5×4=20。

【例2】设关系R和关系S具有相同的元数,且对应的属性取自相同的域,则既在R内又在S内的元组可表示为()。 答案R∩S 一、选择题分析

【例l】数据库设计包括两个方面的设计内容,它们是()。 (A)概念设计和逻辑设计 (B)模式设计和内模式设计 (C)内模式设计和物理设计 (D)结构特性设计和行为特性设计 题眼分析 数据库设计可分为概念设计与逻辑设计。数据库概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。数据库逻辑设计的主要工作是将E-R图转换为指定的RDBMS中的关系模型。 答案A

【例2】在数据库设计中,将E-R图转换成关系模型的过程属于()。 (A)需求分析阶段 (B)逻辑设计阶段 (C)概念设计阶段 (D)物理设计阶段

少有一个实体与之联系,则实体集A与实体集B具有一对多关系。 知识点4:数据库设计与管理

题眼分析 数据库设计包括数据库系统的需求分析、概念设计、逻辑设计和物理设计阶段。需求分析阶段主要工作是分析用户活动,确定系统范围。概念设计阶段主要工作是建立E-R模型,确定属性间的依赖关系。逻辑设计阶段分两步进行,第一步初步设计,把E-R图转换为关系模型,第二步优化设计,对模式进行调整和改善。物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。 答案B

【例3】数据字典是数据设计需求分析阶段的最重要的工具之一,其最基本功能是()。

(A)数据库定义 (B)数据通信 (C)数据定义 (D)数据维护 题眼分析 数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析获取得的成果。它包括数据项、数据结构、数据流、数据存储和处理过程,所以说是数据结构最基本功能是数据定义。 答案c

【例4】将E-R图转换到关系模式时,实体与联系都可以表示成()。 (A)属性 (B)关系 (C)键 (D)域

题眼分析 将E-R图转换成指定RDBMS中的关系模式是数据库的逻辑设计主要工作。从E-R图到关系模式的转换,实体可以表示成关系,联系也可以表示成关系。

(A)需求分析 (B)物理设计 (C)逻辑设计 (D)概念设计 题眼分析 视图是数据库的外模式,属于逻辑设计阶段的内容,所以选项C是正确答案。需求分析是分析用户的需要和要求;概念设计主要进行E-R模型设计;逻辑设计主要进行数据库模式和外模式设计;物理设计阶段主要进行数据库的物理结构设计,即内模式设计。 答案C

【例6】视图设计一般有3种设计次序,下列不属于视图设计的是()。 答案B

(A)自顶向下 (B)由外向内 (C)由内向外 (D)自底向上 题眼分析 视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,【例7】设计数据库的存储结构属于数据库的()。

(A)需求分析 (B)概念设计 (C)逻辑设计 (D)物理设计 题眼分析 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径和确定数据的存放位置。 答案D 二、填空题分析

【例1】数据库的生命周期包括需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段和进一步修改阶段。在数据库设计中采用上面几个阶段中的前()个阶段。

题眼分析 数据库设计包括数据库系统的需求分析、概念设计、逻辑设计、物理设计阶段。 答案四或4

【例2】数据库需求分析的经常采用的方法有()和面向对象的方法。

题眼分析 结构化分析方法是数据库需求分析常用的方法,这种方

15

法使用自顶向下、逐层分解的方式分析系统。答案结构化分析方法 【例3】数据库在经过一定时间运行后,其性能会逐步下降,这时需要对数据库进行()

题眼分析 进行数据库重新整理,重新调整存储空间的工作称为数据库重组。 答案重组

【例4】当将局部E-R图集成为全局E-R图时,如果同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性,这种现象称为()冲突。

题眼分析 将局部E-R图集成为全局E-R图时,最重要的工作便是解决局部设计中的冲突。常见冲突有①命名冲突。命名冲突有同名异义和同义异名两种。②概念冲突。同一概念在一处为实体而在另一处为属性或联系。③域冲突。相同的属性在不同视图中有不同的域。④约束冲突。不同的视图可能有不同的约束。 答案概念 单元训练 一、选择题

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

(A)数据库是一个独立的系统,不需要操作系统的支持 (B)数据库设计是指设计数据库管理系统

(C)数据库技术的根本目标是要解决数据共享的问题 (D)数据库系统中数据的物理结构必须与逻辑结构一致 (A)20世纪60年代后期到现在 (B)20世纪60年代到80年代中期 (C)20世纪80年代以前 (D)20世纪70年代以前 3.数据库系统与文件系统的主要区别是()。

(A)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可解决这

类问题

(B)文件系统只能管理少量数据,而数据库系统则能管理大量数据 (C)文件系统只能管理程序文件,而数据库系统则能管理各种类型的文件 (D)文件系统简单,而数据库系统复杂

【例5】在关系数据库设计中,设计视图(View)是()阶段的工作。 2.数据库技术处于数据库系统阶段的时间段是()。

4.在数据库的三级模式结构中,外模式有()。 (A)1个 (B)2个 (c)3个 (D)任意多个

5.在关系数据库管理系统中,创建的视图在数据库三级模式结构 (A)外模式 (B)存储模式 (C)内模式 (D)概念模式 6.在关系数据库中,表(table)是三级模式结构中的()。 (A)外模式 (B)概念模式 (C)存储模式 (D)内模式 7.下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

(A)内模式 (B)外模式 (C)概念模式 (D)逻辑模式 8.数据库的物理独立性是指()。

(A)概念模式改变,外模式和应用程序不变 (B)内模式改变,外模式和应用程序不变 (C)内模式改变,概念模式不变 (D)概念模式改变,内模式不变 9.E-R模型属于()。

(A)概念模型 (B)层次模型 (C)网状模型 (D)关系模型 10.下列关于“联系”的描述,正确的是()。

(A)联系不是实体,也没有属性 (B)联系是实体,但没有属性

设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。 中属于()。

(C)联系不是实体,但有属性 (D)联系是实体,也有属性 11.在概念设计阶段可用E-R图,其中“矩形框”表示实体,()表示实体间联系。

(A)圆形框 (B)椭圆框 (C)箭头 (D)菱形框

12.用二维表结构表示实体以及实体间联系的数据模型称为()。 (A)网状模型 (B)层次模型 (C)关系模型 (D)面向对象模型 13.下列叙述中正确的是()。

(A)数据处理是将信息转化为数据的过程 (B)数据库设计是指设计数据库管理系统

(C)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 11.当将局部E-R图集成为全局E-R图时,如果相同的属性在不同视图中有不同的域,这种现象称为(12)冲突。

12.在数据库管理系统中,数据统一管理与控制主要包括数据的(13) 、数据的安全性保护和并发控制。 参考答案 一、选择题

1 ~10: CAADA BACAC 11~18: DCCAB DAB 二、填空题

(1)查询 (2)数据库

(3)物理独立性 (4)内模式或物理模式或存储模式 (5)概念模式/内模式 (6)无向图

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

14.对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为()。

(A)并运算 (B)交运算 (C)差运算 (D)积运算 15.取出关系中的某些列,并消去重复的元组的关系运算称为()。 (A)取列运算 (B)投影运算 (C)联结运算 (D)选择运算 16.数据库设计阶段分为()。

(A)物理设计阶段、逻辑设计阶段、编程和调试阶段 (B)模型设计阶段、程序设计阶段和运行阶段

(C)方案设计阶段、总体设计阶段、个别设计和编程阶段 (D)概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段 17.在数据库设计中,独立于计算机的硬件和DBMS软件的设计阶段是()。

(A)概念设计 (B)物理设计 (C)逻辑设计 (D)系统实施 18.数据库的物理设计是为一个给定的逻辑结构选取一个适合应用环境的()的过程,包括确定数据库在物理设备上的存储结构和存取方法。

(A)逻辑结构 (B)物理结构 (C)概念结构 (D)层次结构 二、填空题

1.数据库管理系统(DBMS)提供数据操纵语言(DML)及它的翻译程序,实现对数据库的操作,包括数据插入、删除、更新和(1)。 2.数据管理技术的发展经历了如下3个阶段:人工管理阶段、文件系统阶段和(2)系统阶段。

3.数据的物理结构(包括存储结构、存取方式等)的改变都不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的(3)。 4.数据的物理结构在计算机存储空间中的存放形式称为数据库的(4)。

5.数据库的三级模式中存在两种映射,有外模式/概念模式的映射和(5)的映射。

6.网状模型用(6)表示数据之间的联系。

7.如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在(7)联系。

8.关系模式的3类完整性约束条件分别是实体完整性约束、(8)和用户定义完整性约束。

9.关系模型的数据操纵即是建立在关系上的数据操纵,一般有(9)、增加、删除和修改4种操作。

lO.数据库的建立包括两部分内容,(10)的建立和(11)加载。

16

(7)一对多或1:n (8)参照完整性 (9)查询 (10)数据模式 (11)数据 (12)域 (13)完整性检查

因篇幅问题不能全部显示,请点此查看更多更全内容