资源描述
公共基础知识
一、数据结构与算法
1、下列叙述中正确的是( )。
A) 算法就是程序
B) 设计算法时只需要考虑数据结构的设计
C) 设计算法时只需要考虑结果的可靠性
D) 以上三种说法都不对
参考答案:D
【解析】算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
2、算法的有穷性是指( )。
A) 算法程序的运行时间是有限的
B) 算法程序所处理的数据量是有限的
C) 算法程序的长度是有限的
D) 算法只能被有限的用户使用
参考答案:A
【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
3、下列叙述中正确的是( )。
A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性
参考答案:B
【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
4、下列关于栈的叙述中,正确的是
A) 栈底元素一定是最后入栈的元素
B) 栈顶元素一定是最先入栈的元素
C) 栈操作遵循先进后出的原则
D) 以上说法均错误
参考答案:C
【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。
5、算法的空间复杂度是指( )。
A) 算法在执行过程中所需要的计算机存储空间
B) 算法所处理的数据量
C) 算法程序中的语句或指令条数
D) 算法在执行过程中所需要的临时工作单元数
参考答案:A
【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A)。
6、下列叙述中正确的是
A) 一个算法的空间复杂度大,则其时间复杂度也必定大
B) 一个算法的空间复杂度大,则其时间复杂度必定小
C) 一个算法的时间复杂度大,则其空间复杂度必定小
D) 算法的时间复杂度与空间复杂度没有直接关系
参考答案:D
【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。
7、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
A) -369
B) 369
C) 0.369
D) 整数集合{1,2,3,4,5}
参考答案:B
【解析】只有B)选项369可以用无符号整数来表示和存储。A)选项-369有负号,选项C)0.369是小数都不能用无符号整数类存储。选项D)是一个整数集合得用数组来存储。
8、下列叙述中正确的是( )。
A) 程序执行的效率与数据的存储结构密切相关
B) 程序执行的效率只取决于程序的控制结构
C) 程序执行的效率只取决于所处理的数据量
D) 以上说法均错误
参考答案:A
【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
9、下列叙述中正确的是( )。
A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D) 链式存储结构比顺序存储结构节省存储空间
参考答案:A
【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。
10、下列叙述中正确的是( )。
A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性
参考答案:B
【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
11、下列叙述中正确的是( )。
A) 线性表链式存储结构的存储空间一般要少于顺序存储结构
B) 线性表链式存储结构与顺序存储结构的存储空间都是连续的
C) 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
D) 以上说法均错误
参考答案:C
【解析】线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此C正确。
12、下列叙述中正确的是( )。
A) 栈是"先进先出"的线性表
B) 队列是"先进后出"的线性表
C) 循环队列是非线性结构
D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
参考答案:D
【解析】栈是先进后出的线性表,所以A)错误;队列是先进先出的线性表,所以B)错误;循环队列是线性结构的线性表,所以C)错误。
13、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A) 12345ABCDE
B) EDCBA54321
C) ABCDE12345
D) 54321EDCBA
参考答案:B
【解析】栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B)。
14、下列关于栈的叙述正确的是( )。
A) 栈按"先进先出"组织数据
B) 栈按"先进后出"组织数据
C) 只能在栈底插入数据
D) 不能删除数据
参考答案:B
【解析】栈是按"先进后出"的原则组织数据的,数据的插入和删除都在栈顶进行操作。
15、下列叙述中正确的是( )。
A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D) 以上说法都不正确
参考答案:C
【解析】栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C)。
16、下列关于栈叙述正确的是( )。
A) 栈顶元素最先能被删除
B) 栈顶元素最后才能被删除
C) 栈底元素永远不能被删除
D) 栈底元素最先被删除
参考答案:A
【解析】栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择A)。
17、下列叙述中正确的是( )。
A) 栈是一种先进先出的线性表
B) 队列是一种后进先出的线性表
C) 栈与队列都是非线性结构
D) 以上三种说法都不对
参考答案:D
【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。
18、下列关于栈的叙述中,正确的是( )。
A) 栈底元素一定是最后入栈的元素
B) 栈顶元素一定是最先入栈的元素
C) 栈操作遵循先进后出的原则
D) 以上说法均错误
参考答案:C
【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。
19、一个栈的初始状态为空。现将元素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。
20、下列关于栈的叙述中,正确的是
A) 栈底元素一定是最后入栈的元素
B) 栈顶元素一定是最先入栈的元素
C) 栈操作遵循先进后出的原则
D) 以上说法均错误
参考答案:C
【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。
21、下列数据结构中,能够按照"先进后出"原则存取数据的是( )。
A) 循环队列
B) 栈
C) 队列
D) 二叉树
参考答案:B
【解析】栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
22、下列与队列结构有关联的是( )。
A) 函数的递归调用
B) 数组元素的引用
C) 多重循环的执行
D) 先到先服务的作业调度
参考答案:D
【解析】队列的修改是依先进先出的原则进行的,D正确。
23、对于循环队列,下列叙述中正确的是( )。
A) 队头指针是固定不变的
B) 队头指针一定大于队尾指针
C) 队头指针一定小于队尾指针
D) 队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:D
【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。
24、下列叙述中正确的是( )。
A) 循环队列是队列的一种链式存储结构
B) 循环队列是队列的一种顺序存储结构
C) 循环队列是非线性结构
D) 循环队列是一种逻辑结构
参考答案:B
【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
25、设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。
A) 15
B) 16
C) 20
D) 0或35
参考答案:D
【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。
26、下列叙述中正确的是( )。
A) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B) 循环队列中的元素个数随队头指针的变化而动态变化
C) 循环队列中的元素个数随队尾指针的变化而动态变化
D) 以上说法都不对
参考答案:A
【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。
27、下列数据结构中,属于非线性结构的是( )。
A) 循环队列
B) 带链队列
C) 二叉树
D) 带链栈
参考答案:C
【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。
28、下列关于线性链表的叙述中,正确的是( )。
A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C) 进行插入与删除时,不需要移动表中的元素
D) 以上说法均不正确
参考答案:C
【解析】一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
29、下列链表中,其逻辑结构属于非线性结构的是( )。
A) 二叉链表
B) 循环链表
C) 双向链表
D) 带链的栈
参考答案:A
【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。
30、支持子程序调用的数据结构是( )。
A) 栈
B) 树
C) 队列
D) 二叉树
参考答案:A
【解析】栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A)。
31、某系统总体结构图如下图所示:
该系统总体结构图的深度是( )。
A) 7
B) 6
C) 3
D) 2
参考答案:C
【解析】根据总体结构图可以看出该树的深度为3,比如:XY系统--功能2--功能2.1,就是最深的度数的一个表现。
32、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
A) 10
B) 8
C) 6
D) 4
参考答案:C
【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。
33、下列关于二叉树的叙述中,正确的是( )。
A) 叶子结点总是比度为2的结点少一个
B) 叶子结点总是比度为2的结点多一个
C) 叶子结点数是度为2的结点数的两倍
D) 度为2的结点数是度为1的结点数的两倍
参考答案:B
【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B)。
34、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
A) 3
B) 4
C) 6
D) 7
参考答案:D
【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总比度为2的节点多一个,所以本题中度为2的节点为1-1=0个,所以可以知道本题目中的二叉树的每一个节点都有一个分支,所以共7个节点共7层,即深度为7。
35、一棵二叉树中共有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。
36、某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)( )。
A) 3
B) 6
C) 8
D) 12
参考答案:D
【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,n0=1,则n2=0,总节点数为12=n0+n1+n2=1+n1+0,则度为1的节点数n1=11,故深度为12,选D。
二、程序设计基础
1、下列选项中不属于结构化程序设计原则的是( )。
A) 可封装
B) 自顶向下
C) 模块化
D) 逐步求精
参考答案:A
【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。
2、结构化程序设计的基本原则不包括( )。
A) 多态性
B) 自顶向下
C) 模块化
D) 逐步求精
参考答案:A
【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。
3、下列选项中不属于结构化程序设计原则的是( )。
A) 可封装
B) 自顶向下
C) 模块化
D) 逐步求精
参考答案:A
【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。
4、结构化程序设计的基本原则不包括( )。
A) 多态性
B) 自顶向下
C) 模块化
D) 逐步求精
参考答案:A
【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。
5、结构化程序所要求的基本结构不包括( )。
A) 顺序结构
B) GOTO跳转
C) 选择(分支)结构
D) 重复(循环)结构
参考答案:B
【解析】1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
6、结构化程序设计中,下面对goto语句使用描述正确的是( )。
A) 禁止使用goto语句
B) 使用goto语句程序效率高
C) 应避免滥用goto语句
D) 以上说法均错误
参考答案:C
【解析】结构化程序设计中,要注意尽量避免goto语句的使用,故选C。
7、下列选项中属于面向对象设计方法主要特征的是( )。
A) 继承
B) 自顶向下
C) 模块化
D) 逐步求精
参考答案:A
【解析】面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A)。
8、在面向对象方法中,不属于"对象"基本特点的是( )。
A) 一致性
B) 分类性
C) 多态性
D) 标识唯一性
参考答案:A
【解析】对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A)。
9、下面对对象概念描述正确的是( )。
A) 对象间的通信靠消息传递
B) 对象是名字和方法的封装体
C) 任何对象必须有继承性
D) 对象的多态性是指一个对象有多个操作
参考答案:A
【解析】对象之间进行通信的构造叫做消息,A正确。多态性是指同一个操作可以是不同对象的行为,D错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。
10、面向对象方法中,继承是指( )。
A) 一组对象所具有的相似性质
B) 一个对象具有另一个对象的性质
C) 各对象之间的共同性质
D) 类之间共享属性和操作的机制
参考答案: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) 软件需求规格说明书
参考答案:D
【解析】需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D)。
8、下面不属于软件需求分析阶段主要工作的是( )。
A) 需求变更申请
B) 需求分析
C) 需求评审
D) 需求获取
参考答案:A
【解析】需求分析阶段的工作可概括为4个方面:①需求获取。②需求分析。③编写需求规格说明书。④需求审评。
9、在软件开发中,需求分析阶段可以使用的工具是( )。
A) N-S图
B) DFD图
C) PAD图
D) 程序流程图
参考答案:B
【解析】在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表,所以选择B)。
10、在软件设计中不使用的工具是( )。
A) 系统结构图
B) PAD图
C) 数据流图(DFD图)
D) 程序流程图
参考答案:C
【解析】系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C)。
11、下面不能作为结构化方法软件需求分析工具的是( )。
A) 系统结构图
B) 数据字典(DD)
C) 数据流程图(DFD图)
D) 判定表
参考答案:A
【解析】结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。
12、数据流图中带有箭头的线段表示的是( )。
A) 控制流
B) 事件驱动
C) 模块调用
D) 数据流
参考答案:D
【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
13、数据字典(DD) 所定义的对象都包含于( )。
A) 数据流图(DFD图)
B) 程序流程图
C) 软件结构图
D) 方框图
参考答案:A
【解析】在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选A,而B,C,D都不符合。
14、下面描述中错误的是( )。
A) 系统总体结构图支持软件系统的详细设计
B) 软件设计是将软件需求转换为软件表示的过程
C) 数据结构与数据库设计是软件设计的任务之一
D) PAD图是软件详细设计的表示工具
参考答案:A
【解析】详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A)错误。
15、软件设计中模块划分应遵循的准则是( )。
A) 低内聚低耦合
B) 高内聚低耦合
C) 低内聚高耦合
D) 高内聚高耦合
参考答案:B
【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。
下面不属于软件设计阶段任务的是
A) 软件总体设计
B) 算法设计
C) 制定软件确认测试计划
D) 数据库设计
参考答案:C
【解析】从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以A、B、D正确,C为软件测试阶段的任务。
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A) 提高耦合性降低内聚性有利于提高模块的独立性
B) 降低耦合性提高内聚性有利于提高模块的独立性
C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D) 内聚性是指模块间互相连接的紧密程度
参考答案:B
【解析】模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A)错误,B)正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C)与D)错误。
软件设计中划分模块的一个准则是( )。
A) 低内聚低耦合
B) 高内聚低耦合
C) 低内聚高耦合
D) 高内聚高耦合
参考答案:B
【解析】一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
软件详细设计生产的图如下:
该图是( )
A) N-S图
B) PAD图
C) 程序流程图
D) E-R图
程序流程图中带有箭头的线段表示的是( )。
A) 图元关系
B) 数据流
C) 控制流
D) 调用关系
参考答案:C
【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C)。
软件测试的目的是( )。
A) 评估软件可靠性
B) 发现并改正程序中的错误
C) 改正程序中的错误
D) 发现程序中的错误
参考答案:D
【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。
下面叙述中错误的是( )。
A) 软件测试的目的是发现错误并改正错误
B) 对被调试的程序进行"错误定位"是程序调试的必要步骤
C) 程序调试通常也称为Debug
D) 软件测试应严格执行测试计划,排除测试的随意性
参考答案:A
【解析】软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A)错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
下面属于黑盒测试方法的是
A) 语句覆盖
B) 逻辑覆盖
C) 边界值分析
D) 路径覆盖
参考答案:C
【解析】黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为C。而A、B、D均为白盒测试方法。
下面属于白盒测试方法的是
A) 等价类划分法
B) 逻辑覆盖
C) 边界值分析法
D) 错误推测法
参考答案:B
【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择B。其余为黑盒测试法。
在黑盒测试方法中,设计测试用例的主要根据是( )。
A) 程序内部逻辑
B) 程序外部功能
C) 程序数据结构
D) 程序流程图
参考答案:B
【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)。
下面不属于软件测试实施步骤的是
A) 集成测试
B) 回归测试
C) 确认测试
D) 单元测试
参考答案:B
【解析】软件测试主要包括单元测试、集成测试、确认测试和系统测试。
程序调试的任务是( )。
A) 设计测试用例
B) 验证程序的正确性
C) 发现程序中的错误
D) 诊断和改正程序中的错误
参考答案:D
【解析】程序调试的任务是诊断和改正程序中的错误。
四、数据库设计基础
数据库管理系统是( )。
A) 操作系统的一部分
B) 在操作系统支持下的系统软件
C) 一种编译系统
D) 一种操作系统
参考答案:B
【解析】数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。
负责数据库中查询操作的数据库语言是( )。
A) 数据定义语言
B) 数据管理语言
C) 数据操纵语言
D) 数据控制语言
参考答案:C
【解析】数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
数据库应用系统中的核心问题是( )。
A) 数据库设计
B) 数据库系统设计
C) 数据库维护
D) 数据库管理员培训
参考答案:A
【解析】数据库应用系统中的核心问题是数据库的设计。
在数据管理技术发展的三个阶段中,数据共享最好的是( )。
A) 人工管理阶段
B) 文件系统阶段
C) 数据库系统阶段
D) 三个阶段相同
参考答案:C
【解析】数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C)。
下面描述中不属于数据库系统特点的是
A) 数据共享
B) 数据完整性
C) 数据冗余度高
D) 数据独立性高
参考答案:C
【解析】数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C错误。
数据库系统的三级模式不包括( )。
A) 概念模式
B) 内模式
C) 外模式
D) 数据模式
参考答案:D
【解析】数据库系统的三级模式是概念模式、外模式和内模式,所以选择D)。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
A) 外模式
B) 内模式
C) 概念模式
D) 逻辑模式
参考答案:B
【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B)。
数据库设计中反映用户对数据要求的模式是( )。
A) 内模式
B) 概念模式
C) 外模式
D) 设计模式
参考答案:C
【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C)。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是
A) 1:1联系
B) m:1联系
C) 1:m联系
D) m:n联系
参考答案:C
【解析】两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系(1:1)、一对多联系(1:m)、多对一联系(m:1)、多对多联系(m:n)。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系(1:m),答案选C。
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
A) 一对一
B) 一对多
C) 多对一
D) 多对多
参考答案:B
【解析】A和B为一对多的联系,则对于A中的每一个实体,B中有多个实体与之联系,而B与C为一对一联系,则对于B中的每一个实体,C中之多有一个实体与之联系,则可推出对于A中的每一个实体,C中有多个
展开阅读全文