×

计算机二级公共基础知识选择题【答案及解析】

释放双眼,带上耳机,听听看~!

第一章 数据结构与算法

11算法

算法的基本特征:

1、算法的有穷性是(  )

A)  算法程序的运行时间是有限的

B)  算法程序所处理的数据量是有限的

C)  算法程序的长度是有限的

D)  算法只能被有限的用户使用

   参考答案:A

【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

算法的复杂度:

1、下列叙述中正确的是

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

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

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

D)  算法的时间复杂度与空间复杂度没有直接关系

   参考答案:D

【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D

2、下列叙述中正确的是

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

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

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

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

   参考答案:B

【解析】算法的效率与问题的规模和数据的存储结构都有关,A错误。算法的时间复杂度,是指执行算法所需要的计算工作量,B正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,C错误。算法的时间复杂度和空间复杂度没有直接的联系,D错误。

3、算法的空间复杂度是指(  )

A)  算法在执行过程中所需要的计算机存储空间

B)  算法所处理的数据量

C)  算法程序中的语句或指令条数

D)  算法在执行过程中所需要的临时工作单元数

   参考答案:A

【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A)

4、下列叙述中正确的是

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

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

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

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

   参考答案:B

【解析】算法的效率与问题的规模和数据的存储结构都有关,A错误。算法的时间复杂度,指执行算法所需要的计算工作量,B正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,C错误。算法的时间复杂度和空间复杂度没有直接的联系,D错误。

5、下列叙述正确的是(  )

A)  算法就是程序

B)  设计算法时只需要考虑数据结构的设计

C)  设计算法时只需要考虑结果的可靠性

D)  以上三种说法都不对

   参考答案:D

【解析】算法是解析题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构

1.2数据结构的基本概念

1、下列叙述中正确的是

A)  程序执行的效率与数据的存储结构密切相关

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

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

D)  以上说法均错误

   参考答案:A

【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

2、下列叙述中正确的是(  )

A)  有一个以上根结点的数据结构不一定是非线性结构

B)  只有一个根结点的数据结构不一定是线性结构

C)  循环链表是非线性结构

D)  双向链表是非线性结构    

参考答案:B

【解析】线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B)正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A)错误。循环链表和双向链表都是线性结构的数据结构。

1.3线性表及顺序存储结构:

1.4和队列

1、下列关于的叙述正确的是(  )

A)  先进先出组织数据

B)  先进后出组织数据

C)  只能在底插入数据

D)  不能删除数据

   参考答案:B

【解析】是按先进后出的原则组织数据的,数据的插入和删除都在栈顶进行操作。

2、一个的初始状态为空。现将元素12345ABCDE依次入,然后再依次出,则元素出的顺序是(  )

A)  12345ABCDE

B)  EDCBA54321

C)  ABCDE12345

D)  54321EDCBA

   参考答案:B

【解析】是先进后出的原则组织数据,所以入最早的最后出,所以选择B)

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

A)  是一种先进先出的线性表

B)  队列是一种后进先出的线性表

C)  与队列都是非线性结构

D)  以上三种说法都不对

   参考答案:D

【解析】是一种先进后出的线性表,队列是一种先进先出的线性表,与队列都是线性结构。

4、下列关于的叙述中,正确的是

A)  底元素一定是最后入的元素

B)  顶元素一定是最先入的元素

C)  操作遵循先进后出的原则

D)  以上说法均错误

   参考答案:C

【解析】顶元素总是后被插入的元素,从而也是最先被删除的元素;底元素总是最先被插入的元素,从而也是最后才能被删除的元素。的修改是按后进先出的原则进行的。因此,称为先进后出表,或后进先出表,所以选择C

5、一个的初始状态为空。现将元素1,2,3,A,B,C依次入,然后再依次出,则元素出的顺序是

A)  1,2,3,A,B,C

B)  C,B,A,1,2,3

C)  C,B,A,3,2,1

D)  1,2,3,C,B,A

   参考答案:C

【解析】的修改是按后进先出的原则进行的,所以顺序应与入顺序相反,故选C

6、下列数据结构中,能够按照先进后出原则存取数据的是(  )

A)  循环队列

B)  

C)  队列

D)  二叉树

   参考答案:B

【解析】是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。

7、下列与队列结构有关联的是

A)  函数的递归调用

B)  数组元素的引用

C)  多重循环的执行

D)  先到先服务的作业调度

   参考答案:D

【解析】队列的修改是依先进先出的原则进行的,D正确。

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

A)  顶元素最先能被删除

B)  底元素最后才能被删除

C)  底元素永远不能被删除

D)  底元素是最先被删除

   参考答案:A

【解析】是先进后出的数据结构,所以顶元素是最后入最先被删除。底元素最先进却最后被删除。所以选择A)。

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

A)  中,中元素随底指针与站定指针的变化而动态变化

B)  中,顶指针不变,中元素随底指针的变化而动态变化

C)  ,底指针不变,中元素随顶指针的变化而变化

D)  以上说法均不对

   参考答案:C

【解析】是先进后出的数据结构,在整个过程中,底指针不变,入与出操作均由顶指针的变化来操作,所以选择C)。

10、支持子程序调用的数据结构是(  )

A)  

B)  

C)  队列

D)  二叉树

   参考答案:A

【解析】支持子程序调用。是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合的特点,因此本题的答案为A)

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

A)  循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)  在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C)  在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D)  循环队列中元素的个数是由队头指针和队尾指针共同决定

   参考答案:D

【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)C)错误。

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

A)  循环队列是队列的一种链式存储结构

B)  循环队列是队列的一种顺序的存储结构

C)  循环队列是非线性结构

D)  循环队列是一种逻辑结构

   参考答案:B

【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式

13对于循环队列,下列叙述中正确的是(  )

A)  队头指针是固定不变的

B)  队头指针一定大于队尾指针

C)  队头指针一定小于队尾指针

D)  队头指针可以大于队尾指针,也可以小于队尾指针

   参考答案:D

【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。

14设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15rear=15,则循环队列中的元素个数为

A)  15

B)  16

C)  20

D)  035

   参考答案:D

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。

15下列叙述中正确的是

A)   循环队列中的元素个数随队头指针与队尾指针的变化而动态变化

B)  循环队列中的元素个数随队头指针的变化而动态变化

C)  循环队列中的元素个数随队尾指针的变化而动态变化

D)  以上说法都不对

   参考答案:A

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。

1.5线性链表

1、下列叙述中正确的是

A)  线性表链式存储结构的存储空间一般要少于顺序存储结构

B)  线性表链式存储结构与顺序存储结构的存储空间都是连续的

C)   线性表链式存储结构的存储空间可以是连续的,也可以是不连续的

D)  以上说法均错误

   参考答案:C

【解析】线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此C正确。

2、下列叙述中正确的是(  )

A)  顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B)  顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C)  顺序存储结构能存储有序表,链式存储结构不能存储有序表

D)  链式存储结构比顺序存储结构节省存储空间

   参考答案:A

【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。

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

A)  线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B)  线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C)  线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D)  线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

   参考答案:B

【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

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

A)  先进先出的线性表

B)  队列是先进后出的线性表

C)  循环队列是非线性结构

D)  有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

   参考答案:D

【解析】是先进后出的线性表,所以A)错误;队列是先进先出的线性表,所以B)错误;循环队列是线性结构的线性表,所以C)错误。

5、下列关于线性链表的叙述中,正确的是(  )

A)  各数据节点的存储空间可以不连续,但他们的存储顺序与逻辑顺序必须一致

B)  各数据节点的存储顺序与逻辑顺序可以不一致,但它们的存储空间不需连续

C)  进行插入数据与删除数据时,不需要异动表中的元素

D)  以上说法均不对

   参考答案:C

【解析】一般来说,在线性表的链式存储结构中,数据节点的存储序号时不连续的,并且各节点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需要改变节点的指针域即可

1.6丫树

1、下列数据结构中,属于非线性结构的是(  )

A)  循环队列

B)  带链队列

C)  二叉树

D)  带链

   参考答案:C

【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。

2、下列链表中,其逻辑结构属于非线性结构的是

A)  二叉链表

B)  循环链表

C)  双向链表

D)  带链的

   参考答案:A

【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。

3、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(  )

A)  10

B)  8

C)  6

D)  4

   参考答案:C

【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是516

3、下列关于二叉树的叙述中,正确的是(  )

A)  叶子结点总是比度为2的结点少一个

B)  叶子结点总是比度为2的结点多一个

C)  叶子结点数是度为2的结点数的两倍

D)  度为2的结点数是度为1的结点数的两倍

   参考答案:B

【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B)

4、一棵二叉树共有25个节点,其中5是叶子节点,则度为1的节点数为(  )

A)  16

B)  10

C)  6

D)  4

   参考答案:A

【解析】根据二叉树的性质3:在任意一棵二叉树中,度数为0的叶子节点总是比度数为2的节点多一个,所以本题中度数为2的节点时5-1=4个,所以度数为1的节点的个数时25-5-4=16个。

5、某二叉树共有7个节点,其中叶子节点有1个,则该二叉树的深度为(假设根结点在第1层)(  )

A)  3

B)  4

C)  6

D)  7

   参考答案:D

【解析】根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子节点总比度为2的节点多一个,所以本题中度为2的节点为1-1=0个,所以知道本题目中的二叉树的每个节点都有一个分支,所以7个节点共7层,即度为7.

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

A)  219

B)  229

C)  230

D)  231

   参考答案:B

【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,则n2=79,总结点数为n0+n1+n2=80+70+79=229,答案为B

7、某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)

A)  3

B)  6

C)  8

D)  12

   参考答案:D

【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0n0=1,则n2=0,总节点数为12=n0+n1+n2=1+n1+0则度为1的节点数n1=11,故深度为12,选D

8、对下列二叉树

进行前序遍历的结果为

A)  DYBEAFCZX

B)  YDEBFZXCA

C)  ABDYECFXZ

D)  ABCDEFXYZ

   参考答案:C

【解析】前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:①访问根结点;②前序遍历左子树;③前序遍历右子树C正确。

1.7查找技术

1、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(  )

A)  

B)  

C)  

D)  

   参考答案:C

【解析】当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为的有序线性表,在最坏情况下,二分法查找只需要比较次,而顺序查找需要比较n次。

1.8排序技术

1、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n1)/2的排序方法是(  )

A)  快速排序

B)  冒泡排序

C)  直接插入排序

D)  堆排序

   参考答案:D

【解析】除了堆排序算法的比较次数是 ,其他的都是n(n1)/2

2、下列排序方法中,最坏情况下比较次数最少的是(  )

A)  冒泡排序

B)  简单选择排序

C)  直接插入排序

D)  堆排序

   参考答案:D

【解析】冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n1)/2次,而堆排序在最坏情况下需要比较的次数是

3、对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为

A)  9

B)  10

C)  45

D)  90

   参考答案:C

【解析】冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选C

4、对长度为n的线性表作快速排序,在最坏情况下,比较次数为

A)  n

B)  n-1

C)  n(n-1)

D)  n(n-1)/2

   参考答案:D

【解析】快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较(n-1)+(n-2)+…+1=n(n-1)/2,选D

第二章 程序设计基础

1、结构化程序设计的基本原则不包括(  )

A)  多态性

B)  自顶向下

C)  模块化

D)  逐步求精

   参考答案:A

【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)

2、下列选项中不属于结构化程序设计原则的是(  )

A)  可封装

B)  自顶向下

C)  模块化

D)  逐步求精

   参考答案:A

【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)

3、结构化程序所要求的基本结构不包括(  )

A)  顺序结构

B)  GOTO跳转

C)  选择(分支)结构

D)  重复(循环)结构

   参考答案:B

【解析】1966BoehmJacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

4、结构化程序设计中,下面对goto语句使用描述正确的是

A)  禁止使用goto语句

B)  使用goto语句程序效率高

C)  应避免滥用goto语句

D)  以上说法均错误

   参考答案:C

【解析】结构化程序设计中,要注意尽量避免goto语句的使用,故选C

5、下列选项中属于面向对象设计方法主要特征的是(  )

A)  继承

B)  自顶向下

C)  模块化

D)  逐步求精

   参考答案:A

【解析】面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A)

6、在面向对象方法中,不属于对象基本特点的是(  )

A)  一致性

B)  分类性

C)  多态性

D)  标识唯一性

   参考答案:A

【解析】对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A)

7、下面对对象概念描述正确的是

A)  对象间的通信靠消息传递

B)  对象是名字和方法的封装体

C)  任何对象必须有继承性

D)  对象的多态性是指一个对象有多个操作

   参考答案:A

【解析】对象之间进行通信的构造叫做消息,A正确。多态性是指同一个操作可以是不同对象的行为,D错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。

8、面向对象方法中,继承是指(  )

A)  一组对象所具有的相似性质

B)  一个对象具有另一个对象的性质

C)  各对象之间的共同性质

D)  类之间共享属性和操作的机制

   参考答案:D

【解析】继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。

9、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是

A)  369

B)  369

C)  0.369

D)  整数集合{1,2,3,4,5}

   参考答案:B

【解析】只有B)选项369可以用无符号整数来表示和存储。A)选项-369有负号,选项C)0.369是小数都不能用无符号整数类存储。选项D)是一个整数集合得用数组来存储。

第三章 软件工程

1、构成计算机软件的是

A)  源代码

B)  程序和数据

C)  程序和文档

D)  程序、数据及相关文档

   参考答案:D

【解析】软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D

2、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(  )

A)  编译程序

B)  操作系统

C)  教务管理系统

D)  汇编程序

   参考答案:C

【解析】编译软件、操作系统、汇编程序都属于系统软件,只有C)教务管理系统才是应用软件。

3、下面描述中,不属于软件危机表现的是(  )

A)  软件过程不规范

B)  软件开发生产率低

C)  软件质量难以控制

D)  软件成本不断提高

   参考答案:A

【解析】软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A)

4、软件生命周期是指(  )

A)  软件产品从提出、实现、使用维护到停止使用退役的过程

B)  软件从需求分析、设计、实现到测试完成的过程

C)  软件的开发过程

D)  软件的运行维护过程

   参考答案:A

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

5、软件生命周期中的活动不包括(  )

A)  市场调研

B)  需求分析

C)  软件测试

D)  软件维护

   参考答案:A

【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择A)

6、软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是

A)  测试

B)  设计

C)  可行性研究

D)  实现

   参考答案:C

【解析】开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计3个阶段,实施则包括编码和测试两个阶段,C不属于开发阶段。

7、在软件开发中,需求分析阶段产生的主要文档是(  )

A)  可行性分析报告

B)  软件需求规格说明书

C)  概要设计说明书

D)  集成测试计划

   参考答案:B

【解析】A)错误,可行性分析阶段产生可行性分析报告。C)错误,概要设计说明书是总体设计阶段产生的文档。D)错误,集成测试计划是在概要设计阶段编写的文档。B)正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

8、下面不属于需求分析阶段任务的是(  )

A)  确定软件系统的功能需求

B)  确定软件系统的性能需求

C)  需求规格说明书评审

D)  制定软件集成测试计划

   参考答案:D

【解析】需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D)

9、下面不属于软件需求分析阶段主要工作的是

A)  需求变更申请

B)  需求分析

C)  需求评审

D)  需求获取

   参考答案:A

【解析】需求分析阶段的工作可概括为4个方面:①需求获取。②需求分析。③编写需求规格说明书。④需求审评。

10、在软件开发中,需求分析阶段可以使用的工具是(  )

A)  NS

B)  DFD

C)  PAD

D)  程序流程图

   参考答案:B

【解析】在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表,所以选择B)

11、下面不能作为结构化方法软件需求分析工具的是

A)  系统结构图

B)  数据字典(DD)

C)  数据流程图(DFD)

D)  判定表

   参考答案:A

【解析】结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。

12、在软件设计中不使用的工具是(  )

A)  系统结构图

B)  PAD

C)  数据流图(DFD)

D)  程序流程图

   参考答案:C

【解析】系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C)

13、数据流图中带有箭头的线段表示的是(  )

A)  控制流

B)  事件驱动

C)  模块调用

D)  数据流

   参考答案:D

【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。

14、数据字典(DD) 所定义的对象都包含于

A)  数据流图(DFD)

B)  程序流程图

C)  软件结构图

D)  方框图

   参考答案:A

【解析】在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选A,而BCD都不符合。

15、软件需求规格说明书的作用不包括

A)  软件验收的依据

B)  用户与开发人员对软件要做什么的共同理解

C)  软件设计的依据

D)  软件可行性研究的依据

   参考答案:D

【解析】软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。

软件需求规格说明书有以下几个方面的作用。①便于用户、开发人员进行理解和交流,B正确;②反映出用户问题的结构,可以作为软件开发工作的基础和依据,C正确;③作为确认测试和验收的依据,A正确。

16、下面描述中错误的是(  )

A)  系统总体结构图支持软件系统的详细设计

B)  软件设计是将软件需求转换为软件表示的过程

C)  数据结构与数据库设计是软件设计的任务之一

D)  PAD图是软件详细设计的表示工具

   参考答案:A

【解析】详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A)错误。

17、软件设计中模块划分应遵循的准则是(  )

A)  低内聚低耦合

B)  高内聚低耦合

C)  低内聚高耦合

D)  高内聚高耦合

   参考答案:B

【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

18、下面不属于软件设计阶段任务的是

A)  软件总体设计

B)  算法设计

C)  制定软件确认测试计划

D)  数据库设计

   参考答案:C

【解析】从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以ABD正确,C为软件测试阶段的任务。

19、耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(  )

A)  提高耦合性降低内聚性有利于提高模块的独立性

B)  降低耦合性提高内聚性有利于提高模块的独立性

C)  耦合性是指一个模块内部各个元素间彼此结合的紧密程度

D)  内聚性是指模块间互相连接的紧密程度

   参考答案:B

【解析】模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A)错误,B)正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C)D)错误。

20、软件详细设计生产的图如下:

该图是(  )

A)  NS

B)  PAD

C)  程序流程图

D)  ER

   参考答案:C

【解析】NS图提出了用方框图来代替传统的程序流程图,所以A)不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以B)不对。ER图是数据库中的用于表示ER模型的图示工具,所以D)不对。根据图中所示表示方法是进行软件详细设计时使用的程序流程图。

21、程序流程图中带有箭头的线段表示的是(  )

A)  图元关系

B)  数据流

C)  控制流

D)  调用关系

   参考答案:C

【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C)

22、某系统总体结构图如下图所示:该系统总体结构图的深度是(  )

A)  7

B)  6

C)  3

D)  2

   参考答案:C

【【解析根据总体结构图可以看出该树的深度为3,比如:XY系统功能2–功能2.1,就是最深的度数的一个表现。

23、下面叙述中错误的是(  )

A)  软件测试的目的是发现错误并改正错误

B)  对被调试的程序进行错误定位是程序调试的必要步骤

C)  程序调试通常也称为Debug

D)  软件测试应严格执行测试计划,排除测试的随意性

   参考答案:A

【解析】软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A)错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。

24、软件测试的目的是(  )

A)  评估软件可靠性

B)  发现并改正程序中的错误

C)  改正程序中的错误

D)  发现程序中的错误

   参考答案:D

【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。

25、下面属于黑盒测试方法的是

A)  语句覆盖

B)  逻辑覆盖

C)  边界值分析

D)  路径覆盖

   参考答案:C

【解析】黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为C。而ABD均为白盒测试方法。

26、下面属于白盒测试方法的是

A)   等价类划分法

B)  逻辑覆盖

C)  边界值分析法

D)  错误推测法

   参考答案:B

【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断条件覆盖,选择B。其余为黑盒测试法。

27、在黑盒测试方法中,设计测试用例的主要根据是(  )

A)  程序内部逻辑

B)  程序外部功能

C)  程序数据结构

D)  程序流程图

   参考答案:B

【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)

28、下面不属于软件测试实施步骤的是

A)  集成测试

B)  回归测试

C)  确认测试

D)  单元测试

   参考答案:B

【解析】软件测试主要包括单元测试、集成测试、确认测试和系统测试。

29、程序调试的任务是(  )

A)  设计测试用例

B)  验证程序的正确性

C)  发现程序中的错误

D)  诊断和改正程序中的错误

   参考答案:D

【解析】程序调试的任务是诊断和改正程序中的错误。

第四章 数据设计基础

1、数据库管理系统是(  )

A)  操作系统的一部分

B)  在操作系统支持下的系统软件

C)  一种编译系统

D)  一种操作系统

   参考答案:B

【解析】数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。

2、负责数据库中查询操作的数据库语言是(  )

A)  数据定义语言

B)  数据管理语言

C)  数据操纵语言

D)  数据控制语言

   参考答案:C

【解析】数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

3、数据库应用系统中的核心问题是(  )

A)  数据库设计

B)  数据库系统设计

C)  数据库维护

D)  数据库管理员培训

   参考答案:A

【解析】数据库应用系统中的核心问题是数据库的设计。

4、在数据管理技术发展的三个阶段中,数据共享最好的是(  )

A)  人工管理阶段

B)  文件系统阶段

C)  数据库系统阶段

D)  三个阶段相同

   参考答案:C

【解析】数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C)

5、下面描述中不属于数据库系统特点的是

A)  数据共享

B)  数据完整性

C)  数据冗余度高

D)  数据独立性高

   参考答案:C

【解析】数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C错误。

6、数据库系统的三级模式不包括(  )

A)  概念模式

B)  内模式

C)  外模式

D)  数据模式

   参考答案:D

【解析】数据库系统的三级模式是概念模式、外模式和内模式,所以选择D)

7、数据库设计中反映用户对数据要求的模式是(  )

A)  内模式

B)  概念模式

C)  外模式

D)  设计模式

   参考答案:C

【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C)。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

8、在下列模式中,能够给出数据库物理存储结构与物理存取方法是(  )

A)  外模式

B)  内模式

C)  概念模式

D)  逻辑模式

   参考答案:B

【解析】数据库系统的三级模式时概念模式,外模式和内模式。概念模式时数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据物理存储结构与物理存取方法,所以选择B)

9、软件功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(  )

A)  学生成绩管理系统

B)  C语言编译程序

C)  UNIX操作系统

D)  数据库管理系统

   参考答案:A

【解析】软件按功能分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。所以B)C)D)都是系统软件,只有A)时应用软件。

10、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是

A)  11联系

B)  m1联系

C)  1m联系

D)  mn联系

   参考答案:C

【解析】两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系(1:1)、一对多联系(1:m)、多对一联系(m:1)、多对多联系(m:n)。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系(1:m),答案选C

11、若实体AB是一对多的联系,实体BC是一对一的联系,则实体AC的联系是

A)  一对一

B)  一对多

C)  多对一

D)  多对多

   参考答案:B

【解析】AB为一对多的联系,则对于A中的每一个实体,B中有多个实体与之联系,而BC为一对一联系,则对于B中的每一个实体,C中之多有一个实体与之联系,则可推出对于A中的每一个实体,C中有多个实体与联系,所以为一对多联系。

12、在关系数据库中,用来表示实体间联系的是

A)  属性

B)  二维表

C)  网状结构

D)  树状结构

   参考答案:B

【解析】关系模型实体间的联系采用二维表来表示,简称表。选项C为网状模型实体间的联系,选项D为层次模型实体间的联系,选项A属性刻画了实体

13、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )

A)  一对一

B)  一对多

C)  多对一

D)  多对多

   参考答案:B

【解析】因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。

14、一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(  )

A)  一对一

B)  一对多

C)  多对多

D)  多对一

   参考答案:C

【解析】因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

15、一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是(  )

A)  11联系

B)  1m联系

C)  m1联系

D)  mn联系

   参考答案:D

【解析】因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授,所以它们之间是多对多的关系,可以表示为mn

16、ER图中,用来表示实体联系的图形是(  )

A)  椭圆形

B)  矩形

C)  菱形

D)  三角形

   参考答案:C

【解析】ER图中实体集用矩形,属性用椭圆,联系用菱形。

17、层次型、网状型和关系型数据库划分原则是(  )

A)  记录长度

B)  文件的大小

C)  联系的复杂程度

D)  数据之间的联系方式

   参考答案:D

【解析】层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。

18、有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为

A)  公司号,职员号

B)  职员号,工资

C)  职员号

D)  公司号,职员号,工资

   参考答案:A

【解析】由于职员可以再多加公司兼职,表W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。

19、在关系模型中,每一个二维表称为一个

A)  关系

B)  属性

C)  元组

D)  主码(键)

   参考答案:A

【解析】关系模型采用二维表来表示,即每个二维表称为一个关系。

20、在满足实体完整性约束的条件下(  )

A)  一个关系中应该有一个或多个候选关键字

B)  一个关系中只能有一个候选关键字

C)  一个关系中必须有多个候选关键字

D)  一个关系中可以没有候选关键字

   参考答案:A

【解析】实体完整性约束要求关系的主键中属性值不能为空值,所以选择A)

21、有三个关系RST如下:

由关系RS通过运算得到关系T,则所使用的运算为(  )

A)  

B)  自然连接

C)  笛卡尔积

D)  

   参考答案:D

【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)

22、有三个关系RST如下:

由关系RS通过运算得到关系T,则所使用的运算为(  )

A)  笛卡尔积

B)  

C)  

D)  自然连接

   参考答案:D

【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知RS进行的是自然连接操作。

23、有两个关系RS如下:

由关系R通过运算得到关系S,则所使用的运算为(  )

A)  选择

B)  投影

C)  插入

D)  连接

   参考答案:A

24、有三个关系RST如下:

则关系T是由关系RS通过某种操作得到,该操作为(  )

A)  选择

B)  投影

C)  

D)  

   参考答案:D

【解析】在关系T 中包含了关系RS中的所有元组,所以进行的是并的运算。

25、有三个关系RST如下:

则由关系RS得到关系T的操作是(  )

A)  自然连接

B)  

C)  

D)  

   参考答案:B

【解析】关系T中的元组是R关系中有而S关系中没有的元组的集合,所以进行的是差的运算。

26、有三个关系RST如下:

则由关系RS得到关系T的操作是( )

A)  自然连接

B)  

C)  投影

D)  

   参考答案:A

【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T中元组可以判断RS做的是自然连接操作。

27、有两个关系RS如下:

则由关系R得到关系S的操作是

A)  选择

B)  投影

C)  自然连接

D)  

   参考答案:A

【解析】由关系R到关系S为一元运算,排除CD。关系S是关系R的一部分,是通过选择之后的结果,因此选A

28、有三个关系RST如下:

则由关系RS得到关系T的操作是

A)  自然连接

B)  

C)  投影

D)  

   参考答案:A

【解析】关系R和关系S有公共域,关系T是通过公共域的等值进行连接的结果,符合自然连接,选A

29、有三个关系RST如下:

则由关系RS得到关系T的操作是

A)  选择

B)  

C)  

D)  

   参考答案:B

【解析】关系T是关系R的一部分,并且是关系R去掉RS相同的元素,符合差操作。

30、有三个关系RST如下:

则由关系RS得到关系T的操作是(  )

A)  自然连接

B)  

C)  

D)  

   参考答案:C

【解析】如果TR/S,则T称为R除以S的商。在除运算中T的域由R中那些不出现在S中的域所组成,对于T中的任一有序组,由它与关系S中每个有序组所构成的有序组均出现在关系R中。所以本题选择C)

31、一般情况下,当对关系RS进行自然连接时,要求RS含有一个或者多个共有的

A)  记录

B)  

C)  属性

D)  元组

   参考答案:C

【解析】自然连接是一种特殊的等值连接,它满足下面的条件:①两关系间有公共域;②通过公共域的等值进行连接,选C

32、下列关于数据库设计的叙述中,正确的是(  )

A)  在需求分析阶段建立数据字典

B)  在概念设计阶段建立数据字典

C)  在逻辑设计阶段建立数据字典

D)  在物理设计阶段建立数据字典

   参考答案:A

【解析】数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

33、数据库设计过程不包括

A)  概念设计

B)  逻辑设计

C)  物理设计

D)  算法设计

   参考答案:D

【解析】数据库设计过程主要包括需求分析、、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为D选项。

34、在数据库设计中,将ER图转换成关系数据模型的过程属于(  )

A)  需求分析阶段

B)  概念设计阶段

C)  逻辑设计阶段

D)  物理设计阶段

   参考答案:C

【解析】ER图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

35、ER图转换为关系模式时,实体和联系都可以表示为(  )

A)  属性

B)  

C)  关系

D)  

   参考答案:C

【解析】ER图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,ER图中属性也可以转换成关系的属

36、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)(  )

A)  课号,成绩

B)  学号,成绩

C)  学号,课号

D)  学号,姓名,成绩

   参考答案:C

【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新消息 消息中心
有新私信 私信列表
搜索