15.下面的哪个选项不能作为函数的返回类型?( )
A.void
B.int
C.new
D.long
【参考答案】C
16.下列程序的输出结果为( )
#include
intfunc(intn)
{if(n<1)return1;
elsereturnn+func(n-1);
return0;}
voidmain( )
{cout<
A.0
B.10
C.15
D.16
【参考答案】D
17.以下程序中,错误的行为( )
1.#include
2.classA
3.{
4.public:
5.intn=2;
6.A(intval){cout<
7.~A( ){}
8.{;
9.voidmain( )
10{
11.Aa(0);
12.}
A.5
B.6
C.7
D.11
【参考答案】A
18.下面程序的运行结果为( )
#include
classA
{
intnum;
public:
A(inti){num=i;}
A(A&a){num=a.num++;}
voidprint( ){cout<
};
voidmain( )
{
Aa(1),b(a);
a.print( );
B.print( );
}
A.11
B.12
C.21
D.22
【参考答案】C
19.如果类A被说明成类B的友元,则( )
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
【参考答案】D
20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )
A.abc
B.acb
C.cab
D.cba
【参考答案】A
21.下面关于模板的描述,错误的是( )
A.函数模板和类模板的参数可以是任意的数据类型
B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C.函数模板不能直接使用,需要实例化为模板函数后才使用
D.类模板的成员函数都是模板函数
【参考答案】A
22.下面程序的运行结果是( )
#include
voidmain( )
{
intnum=1;
int&ref=num;
ref=ref+2;
cout<
num=num+3;
cout<
}
A.13
B.16
C.36
D.33
【参考答案】C
23.下列程序的运行结果为( )
#include
inti=0;
classA{
public:
A( ){i++;}
};
voidmain( )
{Aa,b[3],*c;
c=b;
cout<
A.2
B.3
C.4
D.5
【参考答案】C
24.下列字符串中可以用C++语言标识符的是( )
A._1234
B.foo~~bar
C.virtua
D.34var
【参考答案】A
25.下列语句的输出结果( )
cout<
A.5
B.14
C.8
D.输出项不合法,无正常输出
【参考答案】A
26.若有如下语句( )
#include
voidmain( )
{intx=3;
do{
x=x-2;
cout<
}while(!(--x));
}
则上面程序段
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
【参考答案】B
27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )
#include
voidmain( )
{int*p,*q,a,b;
p=&a;
cout<<″inputa:″;
cin>>p;}
A.*p表示的是指针变量P的地址
B.p表示的是变量a的地址,而不是变量a的值
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
【参考答案】B
28.有以下程序
#include
voidfun(inta,intb,intc)
{a=456,b=567,c=678;}
voidmain( )
{intx=10,y=20,z=30;
fun(x,y,z);
cout<
输出结果是( )
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
【参考答案】B
29.下列定义中p指向的地址可更改,但*p不能够更改的是( )
A.constint*P
B.int*constp;
C.constint*constp;
D.int*p;
【参考答案】A
30.下面程序的结果是( )
#include
classA
{
inta;
public:
A( ):a(1){}
voidshowa( ){cout<
};
classB
{
inta;
public:
B( ):a(2){}
voidshowa( ){cout<
};
classC:publicA,publicB
{inta;
public:
C( ):a(3){}
voidshowa( ){cout<
};
voidmain( )
{Cc;
c.showa( );}
A.1
B.2
C.3
D.程序有错误
【参考答案】C
31.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为( )
A.operator+(operator*(x,y),z)
B.x.operator+(operator*(x,y),z)
C.y.operator*(operator+(x,y),z)
D.x.operator+(operator*(x,y))
【参考答案】A
32.对于语句cout<
A.*********1*2
B.********12
C.*******1*2
D.12********
【参考答案】A
33.有如下程序
#include
intfunc(inta,intb)
{return(a+b);}
voidmain( )
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
cout<
该程序的输出的结果是( )
A.12
B.13
C.14
D.15
【参考答案】D
34.下列描述中,抽象类的特性是( )
A.可以说明虚函数
B.可以定义友元函数
C.可以进行构造函数重载
D.不能说明其对象
【参考答案】D
35.下列程序的运行结果是( )
#include
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;
}
voidmain( )
{inta=3,b=6,*x=&a,*y=&b;
fun(x,y);
cout<
}
A.63
B.36
C.编译出错
D.00
【参考答案】B
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |