二级C++-207
(总分82,考试时间90分钟)
一、选择题
1. 已知表达式++x中的“++”是作为成员函数重载的运算符,则与++x等效的运算符函数调用形式为______。
A. operator++(1) B. operator++(x)
C. operator++() D. operator++(x)
2. 下列各组类型声明符中,含义相同的一组是______。
A. unsigned long int和long
B. signed short int和short
C. unsigned short和short
D. short int和int
3. 下面程序错误的语句是
①# include <iostream.h>
②void main( )
③{
④ int * p=new int[1];
⑤ p=9;
⑥ cout << * p << endl;
⑦ delete [ ]p;
⑧}
A. ④ B. ⑤
C. ⑥ D. ⑦
4. 下列选项中,能用作数据常量的是______。
A. o115 B. o118
C. 1.5e1.5 D. 115L
5. 下面关于对象概念的描述中,错误的是
A. C++中的对象就是C语言中的结构变量
B. 对象代表着正在创建的系统中的一个实体
C. 对象是一个状态和操作(或方法)的封装体
D. 对象之间的信息传递是通过消息进行的
6. 下列关于栈的叙述正确的是______。
A. 栈顶元素最先被删除 B. 栈顶元素最后才能被删除
C. 栈底元素永远不能被删除 D. 以上三种说法都不对
7. 下列各组类型声明符中,含义相同的一组是______。
A. unsigned long int和long
B. signed short int和short
C. unsigned short和short
D. short int和int
8. 有如下头文件:
int f1();
static int f2();
class MA {
public:
int f3();
static int f4();
};
在所描述的函数中,具有隐含的this指针的是______。
A. .f1 B. .f2
C. .f3 D. .f4
9. 下列程序的执行结果是______。
#include<iostream.h>
#include<stdlib.h>
class TestClass
{
public:
int x,y;
TestClass () {x=y=0;}
TestClass (int a,int b){x=a;y=b;}
void disp()
{
cout<<"x="<<x<<",y="<<y<<end1;
}
void main()
TestClass s1(2,3);
s1.disp();
}
A. x=2,y=2 B. x=2,y=3
C. x=3,y=2 D. x=3,y=3
10. 假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
A. MyClass&(MyClass x);
B. MyClass(MyClass x);
C. MyClass(MyClass &x);
D. MyClass(MyClass *x);
11. 下列叙述中,正确的是______。
A. false是一个字符型常量 B. false是一个字符串常量
C. 11是一个逻辑型常量 D. 1.1是一个double常量
12. C++中设置虚基类的目的是______。
A. 简化程序 B. 消除二义性
C. 提高运行效率 D. 实现数据的隐藏性
13. 下面类的定义,有____处错误。
class MyClass
{public:
void MyClass();
~MyClass(int value);
private:
int i=0;};
A. 1 B. 2
C. 3 D. 4
14. 一个栈的输入序列为1,2,3,4,下面 ______ 序列不可能是这个栈的输出序列
A. 1,3,2,4 B. 2,3,4,1
C. 4,3,1,2 D. 3,4,2,1
15. 下列有关类成员的叙述中,错误的是______。
A. 友元函数不是类的成员函数 B. 类成员的默认访问权限是私有的
C. 类成员函数必须声明为公有的 D. 类的静态数据成员可以是常成员
16. 有如下程序:
#include<iostream>
using namespace std;
class BASE{
public:
~BASE(){cout<<"BASE";)
};
class DERIVED:public BASE{
public:
~DERIVED(){cout<<"DERIVED";}
};
int main(){DERIVED x;return 0;}
执行后的输出结果是____。
A. BASE B. DERIVED
C. BASEDERIVED D. DERIVEDBASE
17. 下列表示纯虚函数的成员函数是
A. virtual int func (int);
B. void func(int)=0;
C. virtual void func=0;
D. virtual void flmc(int){}
18. 有如下程序
#include<iostream>
using namespace std;
class A{
public:
virtual void func1(){cout<<"A1";}
void func2(){cout<<"A2";}
};
class B:public A{
public:
void func1(){cout<<"B1";}
构造函数可以被重载 void func2(){cout<<"B2";}
};
int main(){
A *p=new B;
p->func1();
P->func2();
return 0;
}
运行此程序,屏幕上将显示输出______。
A. B1B2 B. A1A2
C. B1A2 D. A1B2
19. 关于抽象类下面说法正确的是
A. 抽象类就是其中有函数定义但没有实现的类 B. 抽象类是可以被实例化的
C. 派生类不能成为抽象类 D. 抽象类的子类必须实现父类中的纯虚函数
20. 为了取代C中带参数的宏,在C++中使用______。
A. 重载函数 B. 内联函数
C. 递归函数 D. 友元函数
21. 下面描述中属于软件测试目的的是
A. 改正程序中的错误 B. 发现程序中的错误
C. 表明程序没有错误 D. 验证程序的可靠性
22. 在深度为7的满二叉树中,叶子结点的个数为____。
A. 32 B. 31
C. 64 D. 63
23. 应用数据库的主要目的是
A. 解决数据保密问题 B. 解决数据完整性问题
C. 解决数据共享问题 D. 解决数据量大的问题
24. 有如下程序:
int x =3;
do {
x- =2;
cout << x;
} while(! (--x));
执行这个程序的输出结果是____。
A. 1 B. 30
C. 1-2 D. 死循环
25. 下面有关重载函数的说法中,正确的是____。
A. 重载函数必须具有不同的返回值类型 B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表 D. 重载函数名可以不同
26. 下列关于单目运算符++、--的叙述中,正确的是____。
A. 它们的运算对象可以是任何变量和常量
B. 它们的运算对象可以是char型变量和血型变量,但不能是float型变量
C. 它们的运算对象可以是int型变量,但不能是doule型变量和float型变量
D. 它们的运算对象可以是char型变量、int型变量和float型变量
27. 有如下类声明:
class Base {
protected:
int amount;
public:
Base(int n=0): amount(n) {}
int getAmount()const {return amount;}
};
class Derived: public Base {
protected:
int value;
public:
Derived(int m, int n): vahle(m), Base(f1) {}
int getData()const {return value+amount;}
};
已知x是一个Derived对象,则下列表达式中正确的是______。
A. value+x. getAmount()
B. getData()-x. getAmount()
C. getData()-x. amount
D. value+x. amount
28. 数据库系统的核心是______。
A. 数据模型 B. 数据库管理系统
C. 数据库 D. 数据库管理员
29. 设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为
A. 5 B. 6
C. 7 D. 8
30. 已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是
A. 这是运算符一的重载运算符函数 B. 这个函数所重载的运算符是一个一元运算符
C. 这是一个成员函数 D. 这个函数不改变类的任何数据成员的值
31. 以下定义语句中正确的是______。
A. int a=b=0;
B. char A=65+1,b="b";
C. float a=1,"b=&a,"c=&b;
D. double a=0.0;b=1.1;
32. 对C++编译器区分重载函数无任何意义的信息是______。
A. 参数类型 B. 参数个数
C. 返回值类型 D. 常成员函数关键字const
33. 下列运算符不能重载为友元函数的是____。
A. = () [] → B. + - ++ --
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论