第 1 页:选择题1-10题答案 |
第 2 页:10-20题答案 |
(1) 算法的空间复杂度是指______。
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
[答案]D
[考点]程序设计基础
[评析]
时间复杂度:在运行算法时所耗费的时间为f(n)(即 n的函数)。
空间复杂度:实现算法所占用的空间为g(n)(也为n的函数)。
算法为什么会占用存储存空间?
主要是内存空间,因为算法中的变量、地址等等通常保存在内存中(如果在虚存、缓存,甚至已在CPU中运行,也算占用了存储空间)。
(2) 下列关于栈的叙述中正确的是______。
A. 在栈中只能插入数据
B. 在栈中只能删除数据
C. 栈是先进先出的线性表
D. 栈是先进后出的线性表
[答案]D 考试大(www.Examda。com)
[考点]数据结构与算法
[评析]
此题为基本概念,必记,注意:队列是先进先出的线性表,结合起来记不要搞混。
(3) 在深度为5的满二叉树中,叶子结点的个数为______。
A. 1
B. 11
C. 16
D. 15
[答案]C
[考点]数据结构与算法
[评析]
首先搞清楚满二叉树与完全二叉树之间的区别,前面已解释过。
依次从上到下,可得出:
第1层结点数为1;
第层结点数为*1=;
第1层结点数为*=4;
第n层结点数为的n-1次幂,如图所示
(4) 对建立良好的程序设计风格,下面描述正确的是______。
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
[答案]A
[考点]程序设计基础
[评析]
结构化程序设计中力求程序的可读性(如代码清晰,结构明了,附加注释……),故D错;
如果程序写的都是错的,谈何风格?如果符号名的命名不符合语法,编译会报错,也是很基本的错误,B错;
追求程序的可读性要高于执行效率,C错。
(5) 下面对对象概念描述错误的是______。
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
[答案]A
[考点]程序设计基础
[评析]
此题为基本概念,必记!这里举几个例子说明以助大家理解:
比如
VB:
Command按纽类是个类,在窗体上画一个名为Command1的按纽即是创建该类的一个实例,也可创建另外一个实例如Command,他们的属性可以调置为不同的,但是都是Command类的实例。Command1,Command都是对象,它们封装了属性和方法,都是封装体,比如Name属性,Caption属性……宏观上可说Command1的Move操作是动态属性,对象间的通读靠消息传递,比如在Command1的单击事件中写上:
Picture1.Print "消息传递"
Picture1是一个图片框对象,我们还可以调用Form_Load事件等等,都是通过消息传递的,即对象A向对象B发出消息,对象B执行怎样的操作。
C++:
class Base
{
Public:
Base(){}
~Base(){}
...
};
class Derive:Public Base
{
Public:
...
Print()
{
Cout<<"打印函数!"< }
};
void main()
{
Derive a;
Base *p;
...
}
Base为基类,Derive为基类上的派生类,它继承了基类的一些属性和方法等,a为创建的实例,即是一个对象,它封装了类Derive的所有性性和方法,特别是私有的属性和方法,直接调用它们会失败,这就是类的封装性。对象间的通讯是靠消息传递的,比如我们在内存中删除p所指的一个对象,用delete p语句,会调用类Base的析构函数~Base();我们也可用a.Print()语句来调用Derive类的Print()函数,对象a具有类Derive的属性和方法(在C++中一般用函数来实现,比如Print(),我们可以说这操作是对象a的动态属性)
(6) 下面不属于软件工程的1个要素的是______。
A. 工具
B. 过程
C. 方法
D. 环境
[答案]D
[考点]软件工程基础
[评析]
这里阐述一下,以上答案为原稿的答案,有的书上答案应该为B,解释如下:
软件工程包括的三要素是:软件开发方法学、工具和环境支持,而其主体内容是软件开发方法学。
1、软件开发方法,比如根据瀑布模型有结构化分析与设计方法,有原型化开发方法
、软件开发工具各个瀑存模型阶段都有相关工具,比如需求分析阶段有DFD数据流程图,详细设计阶段有HIPO图或PAD图,编码工具有VC、VB……
1、软件开发环境是全面支持软件开发全过程的软件工具集合。
如果你有权威且详尽的解释,还请邮给茂叶: dj859@sina.com 或去我主页上留言
此题的争论,意义性不大,燃眉之急是应负考试。 :)
软件工程三要素工具、方法、过程,请大家记一下。
(7) 程序流程图(PFD)中的箭头代表的是______。
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
[答案]B
[考点]软件工程基础
[评析]
如果A,那么B,否则C,这是我们二级中很熟悉的程序流程方式,我们可以画成相应的PFD图或N-S图。易知箭头控制应该是哪条语句执行,即B答案。
(8) 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。
A. 数据库系统
B. 文件系统
C. 人工管理
D. 数据项管理
[答案]A
[考点]数据库设计基础
[评析]
关于数据管理技术的三个阶段如下表:
1.人工管理阶段
人工管理数据的特点是:
(1)数据不保存。
()数据无专门软件进行管理。
(1)数据不共享。
(4)数据不具有独立性。
.文件系统阶段
该阶段的数据管理具有如下特点:
(1)数据可以长期保存。
()由文件系统管理数据。文件系统管理数据存在如下缺点:
(1)数据共享性差,数据冗余度大。
()数据独立性差。
1.数据库系统阶段
与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:
(1)数据结构化
()数据共享性高、冗余度小、易扩充
(1)数据独立性高
(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:
(1)数据的安全性(security)保护。
()数据的完整性(integrity)控制。
(1)数据库恢复(recovery)。
(4)并发(concurrency)控制。
(5)事务(transaction)支持。
(9) 用树形结构来表示实体之间联系的模型称为______。
A. 关系模型
B. 层次模型
C. 网状模型
D. 数据模型
[答案]B
[考点]数据库设计基础
[评析]
层次模型结构是一棵有向树,树中的每个结点代表一种记录类型,这些结点满足:有且仅有一个结点无双亲(根结点),其它结点有且仅有一个双亲结点。
网状模型则相当于一个有向图,与层次模型结构不同的是:一个结点可以有多个双亲结点,且多个结点可以无双亲结点。
关系模型则是二维表,一张表即为一个关系,这个很常见,如学生关系(学号,姓名,出生年月,性别),就像我们的办公软件中电子表格那样的表格。
D项的数据模型不是数据库的基本模型。
(10) 关系数据库管理系统能实现的专门关系运算包括______。
A. 排序、索引、统计
B. 选择、投影、连接
C. 关联、更新、排序
D. 显示、打印、制表
[答案]B
[考点]数据库设计基础
[评析]
此题为数据库的基本概念,如果你完全没学过数据库,可以对照办工软件的电子表格进行如下理解:
选择:我们根据某条件选择出一行或多行元组(一个元组即为二维表中的一行)
投影:按字段(也称属性,比如学生关系(学号,姓名,出生年月,性别),学号、姓名……都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。
连接:个或个以上的表连接组成一张新的表,通常有条件连接。比如学生关系(学号,姓名,系号),又有一张系表(系号,系名,主任),张表可以合并为一张这样的表(学号,姓名,系号,系名,主任)
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |