首页 > 全部 > 二级C++ > 国家二级(C++)机试模拟试卷289

国家二级(C++)机试模拟试卷289

本单篇文档共16301字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 模拟试卷 7717人下载
价格: 2.00 原价:¥7.00
收藏

国家二级(C++)机试模拟试卷289

选择题

1.已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是( )。(C)

A. ABCDE

B. ECABD

C. EACDB

D. CDEAB

解析:由于后序遍历的最后一个元素为E,所以E为根结点,所以它的前序遍历的首个元素为E,故排除A)和D)选项。由于中序遍历中,元素B在元素根结点E的后面,所以B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为B,故选项C)为正确选项,即该二叉树的前序遍历序列是EACDB。

2.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。(A)

A. 外模式/模式

B. 内模式/夕}、模式

C. 模式/内模式

D. 内模式/模式

解析:数据库有两层映像,即外模式/模式和模式/内模式映像。模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。

3.以下程序的执行结果为( )。

#include

class Sample

{

int n;

public:

Sample(int i){n=i;}

operator++(){n++;} //前缀重载运算符

operator++(int){n+=2;} //后缀重载运算符

void disp()

{

cout<<\\(A)

A. n=4

n=3

B. n=1

n=2

C. n=3

n=4

D. n=5

n=6

解析:此题考查的是“++”运算符的重载。为了区分前缀和后缀运算符,规定:重载后缀运算符时必须多一个虚拟参数:int。本题中, A(2)首先给n赋值2,语句A++,调用的是后缀运算符重载语句,使得n加2变为4。B(2)首先给n赋值2,然后语句++B,调用前缀运算符重载函数,使得n加1。因此最终的输出结果是n=4 n=3。

4.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。(B)

A. C,A,D,B

B. B,D,C,A

C. C,D,A,B

D. 任意顺序

解析:栈的操作原则为后进先出。选项B)中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。

5.在学校中,“班级”与“学生”两个实体集之间的联系属于( )关系。(B)

A. 一对一

B. 一对多

C. 多对一

D. 多对多

解析:一个班可以有多名学生,而一名学生只能属于一个班级,所以“班级”与“学生”两个实体集之间的联系属于一对多关系。

6.下列有关运算符重载的叙述中,正确的是( )。(A)

A. 运算符重载是多态性的一种表现

B. C++中可以通过运算符重载创造新的运算符

C. C++中所有运算符都可以作为非成员函数重载

D. 重载运算符时可以改变其结合性

解析:重载运算符的规则如下:①C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;②C++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是C++的标准类型。故本题答案为A。

7.关于运算符重载,下列表述中正确的是( )。(C)

A. C++已有的任何运算符都可以重载

B. 运算符函数的返回类型不能声明为基本数据类型

C. 在类型转换符函数的定义中不需要声明返回类型

D. 可以通过运算符重载来创建C++中原来没有的运算符

解析:重载运算符的规则如下:①C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;②C++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是C++的标准类型。故本题答案为C。

8.有如下程序:

#include

using namespaee std;

class CD{

public:

~CD(){cout<<’C’;}

private:

char name[80];

};

int main(),{

CD a,*b,a[2];

return 0;

}

执行这个程序的输出结果是( )。(B)

A. CCCC

B. CCC

C. CC

D. C

解析:本题考查类的析构函数,题目中定义了类的一个对象a,对象指针*b,对象数组d[2],当程序执行完后,析构函数执行了3次,输出“CCC”,对象指针不会执行析构函数。所以本题答案为B。

9.下列关于类模板的模板参数的叙述中,错误的是( )。(D)

A. 模板参数可以作为数据成员的类型

B. 模板参数可以作为成员函数的返回类型

C. 模板参数可以作为成员函数的参数类型

D. 模板参数不能作为成员函数的局部变量的类型

解析:本题考查类模板的概念和定义,模板参数可以作为成员函数的局部变量的类型。

10.有如下程序:

#include

using namespaee std;

class MyClass{

public:

MyClass(int x):val(x){}

void Print()eonst{eout<<’’eonst:val=’’<<val<<’\t’;}

void Print(){eout<<’’val=’’<<val<<’\t’;}

private:

int val;

};

int main(){

eonst lyClass obj1(10);

MyClass obj2(20);

obj1.Print();

obj2.Print();

return 0;

}

执行这个程序的输出结果是( )。(C)

A. val=10 const:val=20

B. const:val=10 const:val=20

C. const:val=10 val=20

D. val=10 val=20

解析:本题考查常对象、常成员函数及构造函数。常对象只

本文档预览:3600字符,共16301字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C++)机试模拟试卷289

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号