(1) 下列关于栈和队列的描述中,正确的是()
A) 栈是先进先出
B) 队列是先进后出
C) 队列允许在队友删除元素
D) 栈在栈顶删除元素
答案:D
解析:栈实际也是线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。
(2) 已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是()
A)ABCDE
B)ECABD
C)EACDB
D)CDEAB
答案:C
解析:由于后序遍历的最后一个元素为E,所以E为根结点,所以它的前序遍历的首个元素为E,故排除A)和D)选项。由于中序遍历中,元素B在元素根结点E的后面,所以B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为B,故选项C)为正确选项,即该二叉树的前序遍历序列是EACDB。
(3)在数据流图中,带有箭头的线段表示的是()
A)控制流
B)数据流
C)模块调用
D)事件驱动
答案:B
解析:数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
(4)结构化程序设计的3种结构是()
A)顺序结构,分支结构,跳转结构
B)顺序结构,选择结构,循环结构
C)分支结构,选择结构,循环结构
D)分支结构,跳转结构,循环结构
答案:B
解析:程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。
(5)下列方法中,不属于软件调试方法的是()
A)回溯法
B)强行排错法
C)集成测试法
D原因排除法
答案:C
解析:软件调试主要采用以下三种方法:
强行排错法:作为传统的调试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。
回溯法:该方法适合于小规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。
原因排除法:原因排除法是通过演绎和归纳,以及二分法来实现。
(6) 下列选项中,不属于模块间耦合的是()
A)内容耦合
B)异构耦合
C)控制耦合
D)数据耦合
答案:B
解析:耦合可以分为下列几种,它们之间的耦合度由高到低排列:
内容耦合--若一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。
公共耦合--若一组模块都访问同一全局数据结构,则称为公共耦合。
外部耦合--若一组模块都访问同一全局数据项,则称为外部耦合。
控制耦合--若一模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能,则称为控制耦合。
标记耦合--若两个以上的模块都需要其余某一数据结构的子结构时,不使用其余全局变量的方式而全使用记录传递的方式,这样的耦合称为标记耦合。
数据耦合--若一个模块访问另一个模块,被访问模块的输入和输出都是数据项参数,则这两个模块为数据耦合。
非直接耦合--若两个模块没有直接关系,它们之间的联系完全是通过程序的控制和调用来实现的,则称这两个模块为非直接耦合,这样的耦合独立性最强。
(7) 下列特征中不是面向对象方法的主要特征的是()
A)多态性
B)标识唯一性
C)封装性
D)耦合性
答案:D
解析:面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。
(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于()
A)需求分析阶段
B)概念设计阶段
C)逻辑设计阶段
D)物理设计阶段
答案:C
解析:逻辑结构设计的任务:概念结构是各种数据模型的共同基础,为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。它包括从E-R图向关系模式转换和逻辑模式规范化及调整、实现。
(9)在一棵二叉树上,第5层的结点数最多是()
A)8
B)9
C)15
D)16
答案:D
解析:根据二叉树的性质:二叉树第i(i≥1)层上至多有2i-1个结点。得到第5层的结点数最多是16个。
(10) 下列有关数据库的描述,正确的是()
A)数据库设计是指设计数据库管理系统
B)数据库技术的根本目标是要解决数据共享的问题
C)数据库是一个独立的系统,不需要操作系统的支持
D)数据库系统中,数据的物理结构必须与逻辑结构一致
答案:B
解析:数据库设计的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价