第 1 页:试题 |
第 2 页:参考答案 |
点击查看:2018年3月计算机二级C++强化练习题及答案汇总
1.下列关于成员函数特征的描述中,错误的是( )。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
2.考虑以下的函数原型:
voldA(inta,intb=5,charZ=’*’);
下面的函数调用中,不正确的是( )。
A.A(7)
B.A(3,4)
C.A(16,’#’)
D.A(0,2,’*’)
3.关于静态数据成员的描述中正确的是( )。
A.类的静态数据成员不是类的所有对象共享的数据
B.类的静态数据成员不能被类的成员函数调用
C.类的静态数据成员不能被类的构造函数调用
D.类的静态数据成员必须进行初始化
4.设有以下类和对象的定义:
ClaSSA
{public:
intm;
};
Ak1,k2,*p1,*p2;
则下面针对成员变量m的引用,错误的是( )。
A.k1.m=1
B.k2→m=2
C.p1→m=3
D.(*p2).m=4
5.有以下程序:
classDate
{
public:
Date(inty,intm,intd);
{
year=Y:
month=m;
day=d;
}
Date(inty=2000)
{
year=y;
month=10;
day=1;
}
Date(Date&d)
{
year=d.year;
month=d.month;
day=d.day;
}
voidprint( )
{
cout<}
private:
intyear,month,day;
};
Datefun(Dated)
{
Datetemp;
temp=d;
returntemp;
}
intmain( )
{
Datedatel(2000,1,1),date2(0,0,0);
Datedate3(datel);
date2=fun(date3);
return0;
}
程序执行时,Date类的拷贝构造函数被调用的次数是( )。
A.2
B.3
C.4
D.5
6.下列关于纯虚函数与抽象类的描述巾,错误的是( )。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
7.以下程序的输出结果是( )。
#include
longfun(intn)
{longs;
if(n=-1‖n==2)s=2;
elses=n-fun(n-l):
returns;
}
voidmain( ){cout
B.2
C.3
D.4
8.对于模板定义关键字class和typename说法不正确的是( )。
A.程序中的class并不能都替换为typename
B.class和typename都可互相替换
C.程序中的typename都能替换为class
D.程序中的部分class可以替换为typename
9.有如下程序:
#include(iostream>
usingnamespacestd;
classCon
{
charID;
public:
Con( ):ID(’A){cout<<1;}
Con(charID):ID(ID){cout((2;)
Con(Con8Lc):ID(c.getlD( )){cout<<3;}
chargetID( )const{returnID;}
};
voidshow(Conc){cout
{
Conc1;
show(c1);
Conc2(’B’);
show(c2);
return0;
执行上面程序的输出结果是( )。
A.13A23A
B.23A13B
C.13A23B
D.13823A
10.有如下程序
#include(iostream.h>
voidmain( )
{charch[2][5]={"6937","8254"),*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j])’\0’;j+=2)
s=10*s+p[i][j]一’0’;
cout<该程序的输出结果是( )。
A.69825
B.63825
C.6385
D.693825
11.阅读以下程序
#include(iostream.h>
voidmain( )
{
charline[10];
cin>>line;
cout<<1ine<}
如运行时输入“Thisisanexample.”,则程序的输出结果是( )。
A.This
B.Thisis
C.Thisisa
D.Thisisanexample
12.类MyClass的定义如下,若要对value赋值,则下面语句正确的是( )。
classMyClass
{
public:
MyClass( ){}
MyClass(inti){value=newint(i);}
int*value;
};
A.MyClassmy;my.value=10;
B.MyClassmy;*my.value=10;
C.MyClassmy;my.*value=10;
D.MyClassmy(10);
13.类A是类B的友元,类B是类C的友元,则下列说法正确的是( )。
A.类B是类A的友元
B.类C是类A的友元
C.类A是类C的友元
D.以上都不对
14.如有以下程序:
#include(iostream>
usingnamespacestd;
longfun(intn)
{
if(n)2)
return(fun(n-1)+fun(n-2));
else
return2;
}
intmain( )
{
cout
}
则该程序的输出结果应该是( )。
A.2
B.3
C.4
D.5
15.下列程序执行结果是( )。
#include(iostream.h)
classA
{public:
inta;
A( ):a(10){cout<};
voidmain( )
{Aobj1;
Aobj2(obj1);
cout<<""<}
A.1010
B.编译错误缺少拷贝构造函数
C.10随机数
D.随机数随机数
16.关于类和对象描述错误的是( )。
A.对象(Object)是现实世界中的客观事物,对象具有确定的属性
B.类是具有相同属性和行为的一组对象的集合
C.对象是类的抽象,类是对象的实例
D.类是对象的抽象,对象是类的实例
17.下列对重载函数的描述中,错误的是( )。
A.重载函数中不允许使用默认参数
B.重载函数中编译是根据参数表进行选择的
C.不要使用重载函数来描述毫不相干的函数
D.构造函数重载将会给初始化带来多种方式
18.以下程序的运行结果是( )。
#include(iostream.h>
voidsub(intx,inty,int*z)
{*z=y-x;}
voidmain( )
{inta,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
cout((a<<","
B.-5,-12,-7
C.-5,-12,-17
D.5,-2,-7
19.以下程序不用第3个变量实现将两个数进行对调的操作,画线处应为( )。
voidmain( )
{inta,b;
scanf("%d%d",&a,&b);
cin>>a>>b;
cout<<"a="
B.intp=a;
C."p=a;
D.p=a;
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: