点击查看:2015年计算机二级考试C++过关练习题及答案汇总
1[单选题]
参考答案:A
2[单选题] 若有说明:inta[3][4];则对a数组元素的非法引用是( )。
A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]
参考答案:D
参考解析:数组的下标从0开始,至n-1为止,因此选项D是正确答案。
3[单选题]下列关于派生类叙述中,错误的是
A.派生类至少要有一个基类
B.派生类中包括了从基类继承的成员
C.一个派生类可以作为另一个派生类的基类
D.基类成员被派生类继承以后访问权限保持不变
参考答案:D
4[单选题]假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。
参考答案:D
参考解析:
5[单选题] 层次型、网状型和关系型数据库划分原则是( )。
A.己录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式
参考答案:D
参考解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。
6[单选题]在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
A.友元函数 B.虚函数 C.构造函数 D.析构函数
参考答案:C
7[单选题] 下列关于运算符重载的描述中,错误的是( )。
A.::运算符不能重载
B.类型转换运算符只能作为成员函数重载
C.将运算符作为非成员函数重载时必须定义为友元
D.重载口运算符应完成“下标访问”操作
参考答案:C
参考解析:除了·、*、→*、::、?:这五个运算符外,其他运算符都可以重载。=、[]、()、→以及所有的类型转换运算符只能作为成员函数重载。口作为成员函数重载时,应完成“下标访问”操作,使得向指定下标处的元素赋值或取值成为可能。
8[单选题] 由于常对象不能被更新,因此( )。
A.通过常对象只能调用它的常成员函数
B.通过常对象只能调用静态成员函数
C.常对象的成员都是常成员
D.通过常对象可以调用任何不改变对象值的成员函数
参考答案:A
参考解析:本题考查常对象的基本知识,常对象只能调用它的常成员函数,而不能调用非const函数,常对象的成员函数不一定都是常成员函数,只需保证其数据成员是常数据成员即可。所以本题选A。
9[单选题]
A.
B.
C.
D.
参考答案:A
参考解析:
10[简答题]使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,其输出的结果为
30
130
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
inta=10;
classTC
{
public:
TC()
{
a=b=0:
}
voiddisplay()
{
//******error******
cout<
}
voidfunc(inta)
{
//******error******
a+=a:
}
voidfunc2()
{
//******error******
a+=a:
}
private:
inta,b;
};
voidmain()
{
TCobj;
obj.func(3);
obj.display();
obj.func2();
obj.display();
}
参考解析:
(1)应改为“cout<
(2)应改为“this->a+=a;”。
(3)应改为“a+=::a;”。
【解析】成员函数display打印变量a和b的值,即cout输出a和b的值,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,第1处的语句应改成“cout
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |