下半年全国计算机二级C++考试预测卷附答案(2)
2015下半年全国计算机二级C++考试预测卷(附答案)
23.下列选项中,与实现运行时多态性无关的是( )。
A.重载函数
B.虚函数
C.指针
D.引用
【答案】A
24.对类的构造函数和析构函数描述正确的是( )。
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
【答案】A
25.下面程序的运行结果为( )。
#include
class A
{
int num;
public:
A(int i){num=i;}
A(A &A.{num=a. num++;}
void print(){cout<
};
void main()
{
A a1(),b(A);
a. print();
b.print();
A.11
B.12
C.21
D.22
【答案】C
26.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( )。
A.一元成员运算符
B.二元成员运算符
C.一元友元运算符
D.选项B和选项C都可能
【答案】D
27.下列关于模板的说法正确的是( )。
A.模板的实参在任何时候都可以省略
B.类模板与模板类所指的是同一概念
C.类模板的参数必须是虚拟类型的
D.类模板中的成员函数全部都是模板函数
【答案】D
28.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
【答案】C
29.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、
c(派生类的构造函数)这3种构造函数的调用顺序为( )。
A.abc
B.acb
C.cab
D.cba
【答案】A
30.下面关于虚函数的描述,错误的是( )。
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
【答案】B
31.定义派生类时,若不使用关键字显示地规定采用何种继承方式,则默认方式为( )。
A.私有继承
B.非私有继承
C.保护继承
D.公有继承
【答案】A
32.在位运算中,操作数每右移一位,其结果相当于( )。
A.操作数乘以2
B.操作数除以2
C.操作数乘以4
D.操作数除以4
【答案】B
33.有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是( )。
struct node
{ char data;
struct node*next;
}a,b,*p=&a,*q=&b;
A.a. next=q;
B.p. next=&b;
C.p->next=&b;
D.(*p).next=q;
【答案】B
34.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是( )。
A.cout
35.有如下程序:
#include
using namespace std;
class ONE{
int c;
public:
ONE():c(0){cout<<1;}
ONE(int n):c(n){cout<<2;}
};
class TWO{
ONE onel;
ONE one2;
public:
TWO(int m):one2(m){cout<<3;}
};
int main(){
TWO t4()
return 0
}
运行时的输出结果是( )。
A.3
B.23
C.123
D.213
【答案】C
二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
注意:以命令关键字填空的必须拼写完整。
1.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【1】 。
【答案】数据库系统
2.软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 【2】 测试。
【答案】黑盒
3.符合结构化原则的三种基本控制结构是:选择结构、循环结构和 【3】 。
【答案】顺序结构
4.一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。
【答案】32
5.数据结构分为逻辑结构和存储结构,循环队列属于 【5】 结构。
【答案】存储
6.有如下程序段:
int x=1,Y=2,z=3;
x=x^z;
y=y^z;
z=x^y;
cout<执行这个程序段的输出是 【6】 。
【答案】100
7.若要访问指针变量p所指向的数据,应使用表达式 【7】 。
【答案】*P
8.已知一个函数的原型是:
int fn(double x);
若要以5.27为实参调用该函数,应使用表达式 【8】 。
【答案】fn(5.27)
9.通过使用new和delete两个运算符进行的分配为 【9】 存储分配。
【答案】【9】动态
10.如果类B继承了类A,则称类A为类B的基类,类B称为类A的 【10】 。
【答案】【10】派生类多态性与虚函数
11.将x+y中的+运算符用友元函数重载应写为 【11】 。
【答案】【11】 operator+(x,y)
12.请将下列类定义补充完整。
class Base { public: void fun( ){ cout<<"Base::fun"<
class Derived : public Base {
public:
void fun( ) {
【12】 //显式调用基类的fun函数
cout<<"Derived::fun"<}};
【答案】【12】Base::fun()
13.多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但[ ]运算符只能作为类的 【13】 函数重载。
【答案】【13】成员
14.表达式operator+(x,y)还可以表示为 【14】 。
【答案】【14】x+y
15.C++语言中的多态性分为编译时的多态性和 【15】 时的多态性。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。