国家二级(C++)机试模拟试卷220
选择题
1.下列叙述中错误的是( )。(A)
A. 算法的时间复杂度与问题规模无关
B. 算法的时间复杂度与计算机系统无关
C. 算法的时间复杂度与空间复杂度没有必然的联系
D. 算法的空间复杂度与算法运行输出结果的数据量无关
解析:算法的时间复杂度是指执行算法所需要的计算机工作量,而算法的计算机工作量是用算法所执行的基本运算次数来度量的,算法所执行的基本运算次数和问题的规模有关。算法的空间复杂度指执行这个算法所需要的内存空间。为降低算法的空间复杂度,主要应减少输入数据所占的存储空间及额外空间,通常采用压缩存储技术。由于在编程时要受到计算机系统运行环境的限制,因此,程序的编制通常不可能优于算法的设计。算法执行时所需要的计算机资源越多算法复杂度越高,因此算法的复杂度和问题规模成正比。算法设计时要考虑算法的复杂度,问题规模越大越是如此。
算法的时间复杂度与空间复杂度没有必然的联系。算法的空间复杂度与算法运行输出结果的数据量无关。故本题答案为A选项。
2.设表的长度为20。则在最坏情况下,冒泡排序的比较次数为( )。(A)
A. 190
B. 20
C. 19
D. 90
解析:对长度为n的线性表排序,在最坏情况下,冒泡排序需要比较的次数为n(n一1)/2。本题中n=20,20×(20—1)/2=190。故本题答案为A选项。
3.下列叙述中正确的是( )。(A)
A. 带链栈的栈底指针是随栈的操作而动态变化的
B. 若带链队列的队头指针与队尾指针相同,则队列为空
C. 若带链队列的队头指针与队尾指针相同,则队列中至少有一个元素
D. 带链栈的栈底指针是固定的
解析:由于带链栈利用的是计算机存储空间中的所有空闲存储结点,因此随栈的操作栈顶栈底指针动态变化。带链的队列中若只有一个元素,则首尾指针相同。故本题答案为A选项。
4.设一棵树的度为3,共有27个结点,其中度为3,2,0的结点数分别为4,1,10。该树中度为1的结点数为( )。(A)
A. 12
B. 13
C. 11
D. 不可能有这样的树
解析:在树结构中,—个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。根据题意,度为3的树第1层1个根结点,第2层3个子结点,每个子结点下各3个子结点,所以第3层共9个子结点,前3层共13个结点。第3层有一个结点度为2即有2个子结点,本层其他结点各1个子结点;即第4层共10个结点。前4层共23个结点。第4层中的两个结点下各有一个子结点,即第5层有2个结点,此2个结点下各有一个子结点。第3层有8个度为l的结点,第4层有2个度为1的结点,第5层有2个度为l的结点,8+2+2=12。故本题答案为A选项。
5.下面描述中正确的是( )。(A)
A. 好的软件设计应是高内聚低耦合
B. 内聚性和耦合性无关
C. 内聚性是指多个模块间相互连接的紧密程度
D. 耦合性是指一个模块内部各部分彼此结合的紧密程度
解析:软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。故本题答案为A选项。
6.某系统总体结构如下图所示
(A)
A. 5
B. 7
C. 4
D. 8
解析:模块的扇出是指本模块的直属下层模块的个数。或者说是由一个模块直接调用的其他模块数。模块的扇入是指有多少个上级模块调用它。题干中某系统为一个模块,其扇出数目为3,功能2模块扇出数为3,功能3模块扇出数为2,功能2.2扇出数目为2,故最大扇出数为3。功能2.2.2有2个上级模块调用,为最大扇人数。3+2=5。故本题答案为A选项。
7.下面属于应用软件的是( )。(A)
A. 人事管理系统
B. ()racle数据库管理系统
C. C++编译系统
D. ios操作系统
解析:系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,包括各种系统开发、维护工具软件。应用软件是为了应用于特定的领域而开发的软件。人事管理系统属于应用软件。Oracle数据库管理系统、C++编译系统、ios操作系统是系统软件。故本题答案为A选项。
8.下面选项中不是关系数据库基本特征的是( )。(A)
A. 不同的列应有不同的数据类型
B. 不同的列应有不同的列名
C. 与行的次序无关
D. 与列的次序无关
解析:二维表由每行数据组成,每行数据包含若干属性值,每个属性都有指定的类型和取值范围。数据行数是有限的,每行数据互不相同(元组唯一性),每行的次序可以任意交换(元组的次序无关性);表中属性名各不相同即字段名不重复,属性名(字段名)次序可任意交换。故本题答案为A选项。
9.工厂生产中所需的零件可以存放在多个仓库中,而每一仓库中可存放多种零件。则实体仓库和零件间的联系是( )。(A)
A. 多对多
B. 一对多
C. 多对一
D. 一对一
解析:零件可以存放在多个仓库中,而每一仓库中可存放多种零件,则实体仓库和零件间的联系是多对多。故本题答案为A选项。
10.学生和课程的关系模式定义为
s(S#,Sn,Sd,Dc,SA)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);
C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课);
SC(S#,C#,G)(其属性分别学号、课程号和成绩)。
关系中包含对主属性传递依赖的是( )。(A)
A. S#→Sd,Sd→Dc
B. S#→Sd
C. S#→Sd,(S#,C#)→G
D. C#→P#,(S#,C#)→G
解析:设X、Y、Z是关系R中互不相同的属性集合,存在X→Y(Y!→X),Y→Z,则称Z传递函数依赖于X。在S中S#→Sd,Sd→Dc,则Dc传递函数依赖于S#。故本题答案为A选项。
11.下列选项中,不属于C++关键字的是( )。(B)
A. for
B. then
C. inline
D. while
解析:选项A是关键字,表示for循环语句;选项C是关键字,用来定义内联函数;选项D是关键字,表示while循环语句,本题答案为B。
12.下列选项中,错误的C++表达式是( )。(D)
A. a+++1
B. ’b’==65
C. int(x)
D. x++=33
解析:选项A中,后缀自增运算符的优先级高于加法运算符,先将a的值作为表达式a++的值,参与后续+1运算,然后将a的值自增1,正确;选项B判断字符常量’b’的ASCⅡ码与整型常量65是否相等,正确;选项C是将x的值强制转换为整数类型,正确;选项D中,++=不能构成复合赋值运算符,错误,本题答案为D。
13.有如下程序段
int k=10;
do
cout<<’*’:
while(k一一)
本文档预览:3600字符,共20078字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载