计算机软件练习题汇总

更新时间:2024-05-20 17:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程与数据库部分:

一、填空题

1. 2. 3. 4.

软件是计算机程序、方法和规则相关的 以及在计算机上运行它时所必须的数据。 软件是计算机程序、方法和规则相关的文档以及在计算机上运行它时所必须的 。 软件是 、方法和规则相关的文档以及在计算机上运行它时所必须的数据。 软件工程是从技术和 两方面研究如何更好地开发和维护计算机软件的一门学科。

5. 结构化方法由 、 、 构成,是一种面向数据流的开发方法。 6. 需求分析阶段产生的最重要的文档之一是 。 7. 数据流图中的箭头表示 。

二、单项选择题

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、数据字典(DD) D、加工

9. 在基于结构化分析与设计的软件开发方法中,系统分析人员在需求分析阶段应采用()

和数据字典来表达自己对问题域用户需求的理解。

A、程序流程图 B、数据流图(DFD) C、数据流 D、加工 10. 软件测试的目的是( )。

A、要证明程序无错误 B、发现软件中存在的错误

C、找出编程中的错误并设法改正 D、检查软件的结构设计是否合理 11. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试( )。 A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑

三、判断题

1. ( )软件就是程序。

2. ( )在设计软件测试用例时不仅需选择对被测软件的预期功能是合理的输入数据,

而且还应该选择不合理的输入数据。 3. ( )软件测试中设计测试用例时只需选择对被测软件的预期功能是合理的输入数据,

而不选择不合理的输入数据。

4. ( )软件测试分为模块测试、组装测试和确认测试三个阶段。

5. ( )黑盒测试不仅需要考虑程序的功能,还需要知道程序的内部细节、结构和实现

方式。

6. ( )黑盒测试只需要考虑程序的功能,不需要知道程序的内部细节、结构和实现方

式。

7. ( )白盒测试中的测试用例的设计需要考虑覆盖程序内部的逻辑结构。

8. ( )白盒测试中的测试用例设计只需要考虑覆盖程序内部的逻辑结构,不需要考虑

程序的预期功能。

9. ( )模块测试能发现详细设计阶段和编(码)程阶段的错误。 10. ( )组装测试能发现与模块接口有关的问题。 11. ( )确认测试主要采用白盒测试方法。

12. ( )软件总体设计的根本任务就是确定每个程序模块的内部特征,即确定模块内部

的执行过程。

13. ( )软件测试与软件调试的目的完全相同。

14. ( )信息是人们用来对客观世界直接进行描述、可在人们之间进行传递的知识。 15. ( )目前,在数据库技术中广泛应用的数据模型是层次模型。

16. ( )软件详细设计的根本任务就是确定每个模块的内部特征,即确定模块内部的执

行过程。

17. ( )软件测试的目的是发现程序中的错误,然后找出错误的原因并加以纠正。

四、简答题

1. 软件测试包括哪些步骤?说明这些步骤的测试对象是什么? 2. 数据库系统的定义是什么?它由哪几部分组成?

线性数据结构部分:

一、填空题

1. 2. 3. 4. 5.

数据结构包括数据的逻辑结构、 和数据的运算三个方面。 数据结构包括 、数据的存储结构和数据的运算三个方面。

在算法“正确”的前提下,评价算法主要有两个指标是:时间复杂度和 。 在算法“正确”的前提下,衡量算法效率的主要指标是: 及空间复杂度。 线性数据结构的逻辑特征是有且仅有一个 和一个终端结点,且所有结点都最多只有一个直接前趋和一个 。

6. 线性数据结构的逻辑特征是有且仅有一个开始结点和一个终端结点,且所有结点都最多

只有一个 和一个直接后继。

7. 数据的存储结构包含有 、 、 和 等四种基本的映像方法。 8. 数据存储结构的四种基本形式是: 存储结构、 存储结构、索引存储结构以

及散列存储结构。

9. 若频繁地对线性表进行插入与删除操作,该线性表应采用 存储结构。

10. 线性链表中数据元素的组成:一是数据元素的值,二是直接后继元素的 ,

这两部分信息组成数据元素的存储映像,即结点。

11. 带头结点的单向链表L为空的判定条件是 。

12. 在一个单链表中p所指结点之后插入s所指结点时,应执行s->next= 和

p->next= 的操作。

13. 要在一个单链表中p所指结点之后插入一个子链表,子链表第一个结点的地址为s,子

链表最后一个结点的地址为t, 则应执行操作:

和 。 14. 单链表的结点的数据类型是:

typedef struct node{

int data; /*数据部分*/

struct node *next;/*指向下一个结点的指针*/ } LinkList;

LinkList *p, *q;

如果要求将由指针变量q所指向的表外结点插入到单链表中由p所指向的结点之后,则应执行的语句是:(1) (2) 。要将p所指向的结点的数据部分修改为25,应执行的语句是: 。

15. 插入和删除只允许在表的同一端进行的线性表称为 ,它具有 的特性。 16. 将插入操作限定在表的一端而删除操作限定在表的另一端的线性表称为 ,它具

有 的特性。

17. 对于一个以顺序存储实现的循环队列Q[0..10],队头、队尾的位置指示器分别是

front,rear,初始时都被设置为-1,则在该循环队列中实现出队操作时,判空的条件是: ;入队操作时.判满的条件是: 。

18. 二维数组A[10][20]采用列序为主方式存储,每个元素占10个存储单元,且A[0][0]

的存储地址是2000,则A[6][12]的地址是 。

19. 已知二维数组A[20][10]采用行序为主方式存储,每个元素占2个存储单元,并且

A[10][5]的存储地址是1000,则A[18][9]的存储地址是 。

20. 线性表的三种基本查找方法是:顺序查找、 查找和 查找。

二、单项选择题

1. 线性表中( )称为线性表的长度。

A、元素的长度 B、数据项的数目 C、数据的长度 D、元素的个数 2. 不属于线性表基本运算的是:( )。

A、删除运算 B、指针运算 C、取结点运算 D、插入运算 3. 在下列关于线性表的叙述中,错误的是:( )。 A、采用顺序存储的线性表,必须占用一片连续的存储单元 B、采用顺序存储的线性表,便于进行插入和删除操作 C、采用链式存储的线性表,不必占用一片连续的存储单元 D、采用链式存储的线性表,便于进行插入和删除操作

4. 当线性表选择链表作为存储结构时,不具有的特点是:( )。 A、可随机访问任一元素 B、插入、删除时不需要移动大量元素

C、不必事先估计存储空间 D、所需空间与线性表的长度成正比

5. 算法具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( )。 A、可行性 B、有零个或多个输入 C、有穷性 D、有零个或多个输出 6. 衡量一个算法的质量除了正确性之外,最重要的是要考查( )。

A、可行性 B、有穷性 C、时间复杂度和空间复杂度 D、输入和输出 7. 在长度为n的线性表中,在第i个元素之前插入一个新的元素x,需要移动( )个

元素。

A、n B、n-i+1 C、n-i D、i+1 8. 假设p是指向线性表中第i个数据元素结点的指针,则p->next是指向第i+1个数据元

素结点的指针,若p->data=ai, 则p->next->data=ai+1,那么p->next->next指向的是第( )个结点。

A、i B、i+1 C、i+2 D、i+3 9. 以下哪一个不是队列的基本运算?

A、从队尾插入一个新元素 B、从队列中删除第i个元素 C、判断一个队列是否为空 D、读取队头元素的值 10. 在初始为空的队列中顺序插入元素a,b,c,d以后,紧接着作了两次删除操作,此时的队

尾元素是( )。

A、a B、b C、c D、d 11. 队列的顺序存储方式中判断循环队列为满的条件是( )。

A、front= =rear B、front= =(rear+1)%(maxsize+1) C、front= =(rear+1)% maxsize D、front= =rear % maxsize

12. 单链表Head中,在指针q所指结点后面插入一个由指针P所指结点,则执行( )。 A、q->next=p->next;p->next=q; B、p->next=q->next;q=p;

C、q->next=p->next;p->next=q; D、p->next=q->next;q->next=p;

13. 一个栈的输入序列是1,2,3,4,则下列序列中不可能是栈的输出序列的是( )。 A、1234 B、4321 C、2341 D、4123

14. 设在栈中,由顶向下已存放元素c,b,a,在第四个元素d入栈前,栈中元素可以出栈。

试问在d入栈后,不可能的出栈序列是:( )。

A、d c b a B、c b d a C、c a d b D、c d b a

15. 栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪

一个序列是可能的出栈序列? ( )

A、E D C B A F B、B C E F A D C、C B E D A F D、A D F E B C 16. 设一个栈的入栈序列是abcde,则在下列输出序列中不可能的出栈序列是:( ) A、e d c b a B、d e c b a C、d c e a b D、a b c d e

17. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。

当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。 A、1和5 B、2和4 C、4和2 D、5和1

18. 设有9个数据记录组成的线性表,它们的排序键码字的取值分别是(11,15,20,27,

30,35,46,88,120),已经将它们按照排序码递增有序的方式存放在一维结构数组a[0..8]中从下标0开始到下标8结束的位置,则当采用折半查找算法查找关键字值等于20的数据记录时,所需比较的元素的下标依次是:( )。(注:计算中间位置时取下整)

A、0,1,2 B、4,1,2 C、4,2 D、4,3,2 19. 采用折半查找方法进行查找的数据文件应满足的条件是:( )。

A、顺序存储

B、链式存储 C、顺序存储且已排序 D、链式存储且已排序

三、判断题

1. 2. 3. 4. 5. 6. 7. 8.

( )单链表从任何一个结点出发,都能访问到所有结点。 ( )顺序表是一种随机存取的存储结构。

( )线性表的逻辑顺序与存储顺序总是一致的。 ( )线性表的链式存储结构优于顺序存储结构。

( )数据的存储结构是数据的逻辑结构在存储单元中的表示形式。 ( )程序的执行效率与数据存储结构的选择没有直接的关系。 ( )线性表的长度是指线性表所占存储空间的大小。

( )线性表的长度决定了线性表所占存储空间的大小,但它不等于线性表所占存储空间的大小。

9. ( )在采用链式存储结构的线性表上查找某个元素的平均效率比在采用顺序存储结

构的线性表上查找的平均效率高。

10. ( )链式存储结构的线性表适用于对数据进行频繁的查找操作,而顺序存储结构的

线性表则适宜于进行频繁地插入、删除操作。

11. ( )在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p

的后面:p->next = s; s->next = p->next;

12. ( )二维数组是其数据元素为线性表的线性表。 13. ( )N(N>1)维数组可以看作是线性表的推广。 14. ( )循环队列也存在空间溢出问题。 15. ( )队列和栈都是运算受限的线性表,插入或者删除运算只允许在表的同一端进行。 16. ( )从数据元素插入、删除的规则来看,队列的本质特征是LIFO,栈的本质特征是

FIFO。

17. ( )所有插入排序算法均是稳定的。

18. ( )顺序存储方式只能用于存储线性结构。

19. ( )程序的执行效率只决定于算法设计的技巧,与程序设计中所采用的数据的表示

方式及数据逻辑模型的实际存储形式无关。

20. ( )线性表的特点是每个元素都有一个前驱结点和一个后继结点。 21. ( )链表的每个结点中都包含一个指针。 22. ( )算法一定要有输入和输出。

23. ( )顺序查找算法可以用在顺序存储结构表示的线性表上查找数据元素,但不可以

用在链式存储结构的线性表上查找数据元素。

24. ( )折半查找方法只能用在采用顺序存储结构的有序线性表中来实现对某一数据项

的快速查找。

25. ( )折半查找方法可以用在采用单向链表形式存储的有序线性表中实现对某一数据

项的快速查找。

26. ( )判断某个排序方法的稳定性可以通过一次或几次输入数据序列,看排序结果是

否改变了原始待排数据序列中关键字值相同的数据是否发生了相对次序的改变,从而作出该排序算法是否稳定的结论。

四、简答题

1. 什么是算法?具有哪些特性?如何衡量一个算法的好坏?算法与程序有何不同? 2. 线性表顺序存储结构的优缺点是什么?

点及右孩子结点的编号分别为( )。

A、2,14 B、2,15 C、3,14 D、3,15 14. 图示二叉树的中序遍历序列是:( ) a

b c

d g

e

f

A、abcdgef B、dfebagc C、dbaefcg D、defbagc 15. 图示二叉树的后序遍历序列是:( )

A

B C

E D

G F

H

A、ABCDEFGH B、BDAFEHGC C、DBFHGECA D、HGFEDCBA

16. 邻接表是图的一种( )。

A、顺序存储结构 B、链式存储结构 C、索引存储结构 D、散列存储结构 17. 给定有向图如右图所示,则该图的一个强连通分量是:( )。 A、{A,B,C,F} B、{B,C,F} C、{B,C,D,F} D、{C,D,E,F}

18. 已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应该: A、将邻接矩阵的第i行删除 B、将邻接矩阵的第i行元素全部置为0 C、将邻接矩阵的第i列删除 D、将邻接矩阵的第i列元素全部置为0

三、判断题

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

( )非线性数据结构可以顺序存储,也可以链接存储。

( )非线性数据结构只能用链接方式才能表示其中数据元素的相互关系。 ( )完全二叉树一定是满二叉树。

( )在平衡二叉树中,任意结点左右子树的高度差(绝对值)不超过1。 ( )若一棵二叉树的任意一个非叶子结点的度为2,则该二叉树为满二叉树。 ( )度为1的有序树与度为1的二叉树是等价的。

( )二叉树的先序遍历序列中,任意一个结点均排列在其孩子结点的前面。 ( )已知一棵二叉树的先序序列和后序序列,就一定能构造出该二叉树。 ( )在霍夫曼树中,权值最小的结点离根结点最近。 ( )对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先遍历可访问到该图的每个顶点。

11. ( )线性数据结构可以采用顺序存储结构或链式存储结构,而非线性数据结构只能

采用链式存储结构。

12. ( )二叉树中的叶子结点就是二叉树没有左、右子树的结点。 13. ( )如果一棵树中某结点的度为1,则该结点仅有一棵子树。

14. ( )在有向图中,若存在有向边,则一定存在有向边

15. ( )对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先遍历后,并

不一定能访问到该图的每个顶点。

16. ( )用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间

大小只与图中结点个数有关,而与图的边数无关。

四、简答题

1. 什么叫有序树?什么叫无序树?有序树和二叉树的差别是什么? 2. 什么叫完全二叉树?什么叫满二叉树?它们之间的关系是什么?

3. 什么情况下二叉排序树的查找性能较好?什么情况下二叉排序树的查找性能最差?

五、综合题

1. 如图所示的两棵二叉树,分别给出它们的顺序存储结构。

A B C

D E

F G

I J K

第1棵树

D

A B C E F I J 第2棵树

2. 已知一棵二叉树的中序、后序序列分别如下:

中序:D C E F B H G A K J L I M 后序:D F E C H G B K L J M I A 要求:⑴ 画出该二叉树;

⑵ 写出该二叉树的先序序列。

3. 一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格

处的内容,并画出该二叉树。 先序:_ B _ F _ I C E H _ G 中序:D _ K F I A _ E J C _ 后序:_ K _ F B H J _ G _ A

4. 将下图中的树转化为二叉树,并写出转换后的二叉树的后序遍历序列。

A

B C D E F G H

5. 将下图所示的树转换成二叉树,并写出转换后二叉树的先序、中序、后序遍历结果。

33

12 3 54 15 2 44 9G 2I 2H 35 15

6. 将下列一棵二叉树进行前序遍历、中序遍历、后序遍历,并转化为树。

22 3

33 16

1 56 58

52 2 34 4 9 7. 写出下面二叉树的先序、中序、后序遍历结果,并将它转换为树。 A B E C D F

G

H

I

8. 分别写出下图所示二叉树的先序、中序和后序遍历序列。

A

B

D C

F E

G H

9. 写出下图中的二叉树先序和后序遍历序列。

10. 输入一个正整数序列{100,50,302,450,66,200,30,260},建立一棵二叉排序树,

要求:⑴ 画出该二叉排序树;

⑵ 画出删除结点302后的二叉排序树。

11. 按给出的一组权值{4,5,7,8,11},建立一个霍夫曼树,并请计算出该树的带权路径

长度WPL。

12. 以{5,9,15,18,22}作为叶子结点的权值构造一棵Huffman树,并计算其带权路径长度

(WPL)。

13. 以{4,7,10,15,23}作为叶子结点的权值构造一棵Huffman树,并求出其带权路径长度。 14. 以{5,6,7,8,9,10,15,18,22}作为叶子结点的权值构造一棵Huffman树,并计算其带权

路径长度(WPL)。

15. 以{10,12,16,21,30}作为叶子结点的权值构造一棵Huffman树,并计算其带权路径长度

(WPL)。

16. 如右所示的有向图,请给出它的:

(1) 每个顶点的a e 入度和出度;

(2) 邻接矩阵;

f (3) 邻接表; (4) 强连通分量。 b d c

17. 已知一棵二叉树的中序和先序序列如下,求该二叉树的后序序列,并将它转换为树。 先序结果:A,B,E,F,C,D,G,H,I 中序结果:E,F,B,C,G,H,I,D,A

18. 已知一棵二叉树的中序和后序遍历结果如下所示,求该二叉树的先序遍历序列。 中序结果:E,F,B,C,G,H,I,D,A 后序结果:F,E,I,H,G,D,C,B,A

19. 请给出按自左向右的顺序依次将关键字为{30,5,20,23,9,27,6,14,45,22}的

记录插入到一个初始时为空的二叉排序树后所建立的二叉排序树。

20. 请将序列51,17,60,32,6,10,23,3,80,40,44,7排列为二叉排序树。 21. 请将序列28,55,06,33,161,81,91,11,25,56,57,02排列为二叉排序树。 22. 构造插入序列为{10,18,3,8,12,2,7,13}的二叉排序树,(要求过程)。 23. 请给出下面的二叉树的先序、中序和后序遍历结果。

A

B C D E F G

24. 请给出下面的有向图的邻接矩阵、邻接表形式的存储结构,并计算出每个顶点的入度和

出度。

A B

C D

F

25. 已知某无向图的邻接表存储结构如下图所示,(1)请画出此无向图,(2)给出无向图的

邻接矩阵表示。

A VA

B A A B C A C D E F F C ∧ ∧ ∧ F F D ∧ ∧ E ∧ B VB

C VC

D VD

E VE

F

VF

20. 请将序列51,17,60,32,6,10,23,3,80,40,44,7排列为二叉排序树。 21. 请将序列28,55,06,33,161,81,91,11,25,56,57,02排列为二叉排序树。 22. 构造插入序列为{10,18,3,8,12,2,7,13}的二叉排序树,(要求过程)。 23. 请给出下面的二叉树的先序、中序和后序遍历结果。

A

B C D E F G

24. 请给出下面的有向图的邻接矩阵、邻接表形式的存储结构,并计算出每个顶点的入度和

出度。

A B

C D

F

25. 已知某无向图的邻接表存储结构如下图所示,(1)请画出此无向图,(2)给出无向图的

邻接矩阵表示。

A VA

B A A B C A C D E F F C ∧ ∧ ∧ F F D ∧ ∧ E ∧ B VB

C VC

D VD

E VE

F

VF

本文来源:https://www.bwwdw.com/article/f5h7.html

Top