二级C++语言程序设计标准预测试卷六
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是
A)所有形态的二叉树都只能采用链式存储结构
B)循环队列是队列的一种存储方式
C)栈只能采用顺序存储结构
D)循环队列与循环链表都属于链式存储结构
(2)下列叙述中正确的是
A)软件测试的主要目的是确定程序中错误的位置
B)软件调试的主要目的是发现程序中错误的类型
C)程序经调试后还应进行测试
D)软件的测试与调试工作最好都由程序编制者来完成
(3)下列有关程序设计的原则中错误的是
A)对所有的输入数据都要检查数据的合法性
B)输入一批数据时,最好使用数据结束标志
C)对于不好的程序,尽量重新编写,避免修补
D)输出数据要干净,避免加注释
(4)在深度为6的满二叉树中,叶子结点的个数为
A)64
B)63
C)32
D)31
(5)下列数据结构中按“先进先出”原则组织数据的是
A)线性表
B)循环队列
C)循环链表
D)双向链表
(6)将7个数据进行插入排序,在最坏情况下需要比较的次数是
A)42
B)6
C)7
D)21
(7)设有如图所示的二叉树
则对该二叉树前序遍历的结果是
A)FCADBEG
B)ACBDFGE
C)ABDCGEF
D)ACBDFEG
(8)下列关于软件设计基本原理的叙述中错误的是
A)信息隐蔽是指在一个模块内的信息要使所有的模块都能访问得到
B)模块的独立程度是评价软件设计好坏的重要标准
C)耦合性用于衡量软件的模块独立性
D)内聚性用于衡量软件的模块独立性
(9)数据库概念设计中,由分散到集中的设计方法是
A)油忌杓?
B)视图集成设计
C)集中式模式设计
D)分数式模式设计
(10)在下列关系运算中,可能改变关系中属性个数的是
A)并
B)差
C)投影
D)交
(11)关于常成员函数,下列说法中错误的是
A)常成员函数无法更新对象的数据成员,但可以访问其他类的公用数据成员或全局变量
B)常成员函数无法更新对象的数据成员,但是可以更新该对象的常数据成员
C)常成员函数既可以被常对象调用,也可以被一般对象调用
D)常成员函数不仅要在声明中用到const修饰符,在定义时也必须使用const修饰符
(12)解决类继承中产生的二义性的方法不包括
A)使用作用域运算符限定访问的成员函数
B)在派生类中定义同名函数,且参数表必须和基类的保持一致
C)在派生类中定义同名函数,且参数表可以和基类的不同
D)采用虚基类解决多重继承中的共同基类产生的二义性
(13)一个类的友元函数能够访问该类的
A)私有成员
B)保护成员
C)公用成员
D)所有成员
(14)执行下列语句后,输出结果为steven的是
char*str=”steven”:
cout.write(slr);
A)strlen(str)
B)sizeof(str)
C)strlen(str+1)
D)sizeof(str—1)
(15)对于拷贝构造函数和赋值操作的关系,正确的是
A)拷贝构造函数和赋值操作是完全一样的操作
B)进行赋值操作时,会调用类的构造函数
C)当调用拷贝构造函数时,类的对象正在被建立并被初始化
D)拷贝构造函数和赋值操作不能在同一个类中被同时定义
(16)下面描述中体现了抽象类特性的语句是
A)可以说明虚函数
B)可以进行构造函数重载
C)可以定义友元函数
D)不能说明其对象
(17)下面说法正确的是
A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C)类的内联函数必须在类体内定义
D)类的内联函数必须在类体外通过加关键字inline定义
(18)已知一个运行正常的的程序中有下面两个语句:
int *p1,*p2=&a:
pl=b;
由此可知,变量a和h的类型分别是
A)int和int
B)int *和int
C)int和int *
D)int *和int *
(19)若有以下定义和语句
int a=4,b=3,*p,*q,*w;
p=&a;q=&b;w=q;q=NULL;
则以下选项中错误的语句是
A)*q=0;