D)2
(18)下列叙述中,错误的是
A)false是一个逻辑型常量
B)"b"是一个字符型常量
C)365是一个int常量
D)3.1415926是一个double常量
(19)若x和y是程序中的两个整型变量,则下列if语句中正确的是
A)if(x==0) y=1; else y=2;
B)if(x==0) then y=1 else y=2;
C)if(x==0) y=1 else y=2;
D)if x==0 y=1; else y=2;
(20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是
A)int x[3]={0,0,0};
B)int x[]={0};
C)static int x[3]={0};
D)int x[]={0,0,0};
(21)关于函数中的<返回类型>,下列表述中错误的是
A)<返回类型>中有可能包含关键字int
B)<返回类型>中有可能包含自定义标识符
C)<返回类型>中有可能包含字符*
D)<返回类型>中可能包含[]
(22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是
A)MyClass p=MyClass;
B)MyClass p=new MyClass;
C)MyClass &p=new MyClass;
D) MyClass a,&p=a;
(23)有如下两个类定义
class XX{
private:
double x1;
protected:
double x2;
public:
double x3;
};
class YY:protected XX{
private:
double y1;
protected:
double y2;
public:
double y3;
};
在类YY中保护成员变量的个数是
A)1
B)2
C)3
D)4
(24)下列关于运算符重载的描述中,错误的是
A)可以通过运算符重载在C++中创建新的运算符
B)赋值运算符只能重载为成员函数
C)运算符函数重载为类的成员函数时,第一操作数是该类对象
D)重载类型转换运算符时不需要声明返回类型
(25)下列关于类模板的描述中,错误的是
A)类模板的成员函数都是模板函数
B)可以为类模板参数设置默认值
C)类模板描述了一组类
D)类模板中只允许有一个类型参数
(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是
A)setprecision
B)setw
C)setfill
D)showpoint
(27)下列程序段中包含4个函数,其中具有隐含this指针的是
int fun1();
class Test{
public:
int fun2();
friend int fun3();
static int fun4();
};
A)fun1
B)fun2
C)fun3
D)fun4
(28)有如下程序
#include
using namespace std;
class Test{
public:
Test(){ }
Test(const Test &t) {cout<<1;}
};
Test fun(Test &u) {Test t=u; return t;}
int main(){Test x,y; x=fun(y); return 0;}
运行这个程序的输出结果是
A)无输出
B)1
C)11
D)111
(29)有如下程序
#include
using namespace std;
class A{
public:
A(int i=0):r1(i) { }
void print() {cout<<'E’<<<'-';}< p>
void print() const {cout<<'C'<<<'-';}< p>
void print(int x) {cout <<'P'<<<'-';}< p>
private:
int r1;
};
int main() {
A a1;
const A a2(4);
a1.print(2);
a1.print();
return 0;
}
运行时的输出结果是
A)P8-E4
B)P8-C16-
C)P0-E4-
D)P0-C16-
(30)下列代码声明了3个类
class Person{};
class Student:public Person{};
class Undergraduate:Student{};