2019年3月计算机二级C++选择题强化练习026
(1)有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)( )。
int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A)a[P-a]
B)*(&a[i])
C)P[i]
D)*(*(a+i))
答案:D
(2)有以下程序:
#includefloat tun(int X,int Y) {return(X+Y);} void main()
{int a=2,b=5,c=8;
cout<<FUN((INT)FUN(A+C,B),A—C);< p>
程序运行后的输出结果是( )。
A)编译出错
B)9
C)21
D)9.0
答案:B
(3)不能作为重载函数的调用的依据是( )。
A)参数个数
B)参数类型
C)函数类型
D)函数名称
答案:D
(4)下列程序的输出结果为( )。
#include<IOSTREAM.H) p n)< fune(int int>
{
if(n<1)return l;
else return n+time(n一1); return 0;
}
void main() {
cout<<FUNC(5)<<ENDL;< p>
}
A)0
B)10
C)15
D)16
答案:D
(5)在c++语言中,数据封装要解决的问题是( )。
A)数据的规范化
B)便于数据转换
C)避免数据丢失
D)防止不同模块之间数据的非法访问
答案:D
(6)以下程序中,错误的行为是( )。
①#include②class A
③{
④public: ⑤ int n=2;
⑥ A(int val){cout<<VAL<<ENDL;} p -A(){};< ⑦>
⑧};
⑨void main() ⑩{
⑩ A a(O); ⑥}
A)⑤
B)⑥
C)⑦
D)⑥
答案:A
(7)如果在表达式++x/y中,“++”是作为友元函数重载的,…/”是作为成员函数重载的,则该表达式还可为( )。
A)(operator++(x)).operator/(Y)
B)(operator++(0)).operator/(Y)
C)operator/((operator++(x,0)),Y)
D)operator/((operator++(0)),Y)
答案:A
(8)下列程序的运行结果是( )。
#includeclass Loeation{
private:
int X,Y;
public: void init(int=0,int=0);
void valueX(int val){X=val;} int valueX(){returnx;}
void valueY(int val){Y=val;} int valueY(){return Y;}};
void Location::init(int initX,int initY) {X=initX;
Y=initY4}
void main(X
{Location A,B;
A.init();
A.value X(5);
cout<<A.VALUE p B.init(6,2);< Y()<<endl; X()<<endl<
B.value Y(4);
eout<<B.VALUE p Y()<<endl;< X()<<endl<
}
A)5
0
6
4
B)0
0
6
4
C)5
0
6
2
D)0
0
6
2
答案:A
(9)对类的构造函数和析构函数描述正确的是( )。
A)构造函数可以重载,析构函数不能重载
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载
D)构造函数不能重载,析构函数也不能重裁
答案:A
(10)下面程序的运行结果为( )。
#includeclass A
{
int hum;
public:
A(int i){nuln=i;}
A(A&a){num=a.num十+;} void print(){eout(<HUM;} p };<>
void main()
A a(1),b(a); a.print();
b.print();
A)11
B)12
C)21
D)22
答案:C
编辑推荐:
下载Word文档
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>