计算机等级网权威发布2016计算机二级考试题库:《C++》选择题练习,更多2016计算机二级考试题库相关信息请访问计算机等级考试网。
一、选择题
1在E—R图中,用来表示实体联系的图形是( )。
A.椭圆形B.矩形C.菱形D.三角形
参考答案:C
参考解析:在E—R图中实体集用矩形.属性用椭圆,联系用菱形。
2有如下程序:
#jnClude
using namespaCe std; Class Part{
publiC:
Part(int x=0):val(X){Cout<
private:
int val; t };
Class Whole{ publiC:
Whole(int x,int Y,int z=0):p2(x),pl(y),val(z){Cout<
private:
Part pl,p2; int val;
};
int main() {
Whole obj(1,2,3); return 0;
}
执行这个程序的输出结果是( )。
A.123321B.213312C.213D.123123
参考答案:B
参考解析:本题考查带参数的构造函数。本题中定义了一个对象obj,那么执行其构造函数,初始化p1,p2的顺序是由声明这两个成员的顺序决定的,而不是由参数化列表顺序决定,所以本题中,会先执行p1,输出2,然后执行p2输出1,然后输出3,最后一次输出312。所以本题答案为8。
3没有定义int x;float Y;,则10+x+y值的数据类型是( )。
A.intB.doubleC.floatD.不确定
参考答案:C
参考解析:由算术运算符组成的表达式中,若含有不同类型的操作数,则系统隐含地将低类型转化为高类型,由低至高的顺序为int→float→double。
4有如下类定义:
class Point{
private:
static int how_many;
};
___________how_many=0;
要初始化Point类的静态成员how_many,下画线处应填入的内容是( )。
A.intB.static intC.int Point::D.static int Point::
参考答案:C
参考解析:本题考查静态数据成员,静态数据成员可以初始化,但只能在类体外进行初始化,其一般形式为:数据类型类名::静态数据成员名=初值。所以本题答案为C。
5有如下类定义:
class Test
{
public:
Test(){a=0;c=0;}//①
int f(im A.const{this->a=a;}//②
static int g(){return a;f//③
void h(int B.{Test:.b=b;};//④
private:
int a;
static int b;
const int C;
};
int Test::b=0:
在标注号码的行中,能被正确编译的是( )。
A.①B.②C.③D.④
参考答案:D
参考解析:只能通过构造函数的参数初始化列表对常数据成员进行初始化,本题中常数据成员为C。①通过默认构造函数初始化c,所以不正确。常成员函数只能引用本类中数据成员,而不能修改它,所以②不正确。静态成员函数由于没有this指针,所以不能访问本类中的非静态成员,所以
③错误。
6某系统总体结构图如下图所示:
该系统总体结构图的深度是( )。
A.7B.6C.3D.2
参考答案:C
参考解析:根据总体结构图可以看出陔树的深度为3,比如:XY系统——功能2——功能2.1,就是最深的度数的一个表现。
7有如下类定义:
Class AA{ int a; publiC: AA(int n=0):a(n){}
};
Class BB:publiC AA{ publiC:
BB(int n)—— };
其中横线处缺失的部分是( )。
A.:a(n){}B.:AA(n)|}C.{a(n);}D.{a=n;}
参考答案:B
参考解析:本题考查公用继承对基类成员访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的成员函数来对它赋值,所以本题答案为B。
8有如下类定义:
class MyClass{
int value;
public:
MyClass(int n):value(n){}
int getValue()const{retum value;}
};
则类MyClass的构造函数的个数是( )。
A.1个B.2个C.3个D.4个
参考答案:B
参考解析:本题考查类的默认构造函数和自定义的构造函数、本题中MyClass(int n):value(n){}为自定义的构造函数,加上默认构造函数,一共有2个构造函数。
9下列关于派生类构造函数和析构函数的说法中,错误的是( )。
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
参考答案:D
参考解析:在销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数。
10下列叙述中正确的是( )。
A.栈是一种先进先出的线性表
B.队列是一种后进先出的线性表
C.栈与队列都是非线性结构
D.以上三种说法都不对
参考答案:D
参考解析:栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。
相关热词搜索: