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

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

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

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

选择题

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

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

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

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

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

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

2.有如下程序:

#inehde

using nanmapace std;

class arclass{

public:

arclass(){tout<<’A’;}

MyClass(char c){tout<<c;}

~myclass(){cout<<’B’;}

};

int main(){

MyClass p1,*p2;

p2=new MyClass(’X’);

delete p2;

return 0;

}

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

A. ABX

B. ABXB

C. AXB

D. AXBB

解析:构造函数和析构函数的调用顺序为先构造的后析构,后构造的先析构。所以本题答案为D。

3.下面的描述中,正确的是( )。(A )

A. virtual可以用来声明虚函数

B. 含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类

C. 即使基类的构造函数没有参数,派生类也必须建立构造函数

D. 静态数据成员可以通过成员初始化列表来初始化

解析:在基类中用virtual声明成员函数为虚函数,所以A是正确的。纯虚函数是在声明虚函数时被“初始化”为0的虚函数。纯虚函数是一种特殊的虚函数,它没有具体的实现。静态数据成员函数只能在类外进行初始化。

4.程序流程图中的菱形框表示的是( )。(C)

A. 事实描述

B. 行动方案

C. 逻辑判断

D. 流动方向

解析:绘制流程图时,椭圆形表示事实描述、矩形表示行动方案、菱形框表示逻辑判断、箭头代表流动方向。

5.字面常量42、4.2、42L的数据类型分别是( )。(C)

A. long、double、int

B. long、float、int

C. int、double、long

D. int、float、long

解析:本题考查整型变量的类型和浮点变量的类型,42默认为int型数据,42后面加上L后,表示long型数据,4.2默认为double型数据。

6.有如下程序:

#include<iostream>

using namespace std;

class Sample {

friend long fun(Sample s);

public:

Sample(long a){x=a;}

private:

long x;

};

long fun(Sample s){

if(s.x<2) return 1;

return s.x * fun(Sample(s.x-1));

}

int main()

{

int sum=0;

for(int i=0;i<6;i++)

{sum+=fun(Sample(i));}

cout<<sum:

return 0;

}

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

A. 120

B. 16

C. 154

D. 34

解析:本题考查默认构造函数,当i=0、1时,fun(Sample(i))为1;当i=2时,fun(Sample(i))为2;当i=3时,fun(Sample(i))为6;当i=4时,fun(Sample(i))为24;当i=5时,fun(Sample(i))为120。所以总和为154。

7.C++中的模板包括( )。(C)

A. 对象模板和函数模板

B. 对象模板和类模板

C. 函数模板和类模板

D. 变量模板和对象模板

解析:本题考查函数模板和类模板,所以答案为C。

8.有如下两个类定义:

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中保护成员变鼍的个数是( )。(C)

A. 1

B. 2

C. 3

D. 4

解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,所以基类的成员x2、x3变成了保护成员,派生类中的y2也是保护成员,所以共有3个保护成员。本题答案为C。

9.下列关于this指针的叙述中,错误的是( )。(D)

A. this指针只能在类的非静态成员函数中使用

B. this指针存储着对象的地址

C. this指针不需要显式定义

D. 在构造函数中不能使用this指针

解析:C++中,静态成员函数不属于任何类对象,它独立于类的任意对象而存在,由所有类对象所共享,它没有this指针,只有类的非静态成员函数才有this指针,选项A正确;this指针存储着调用对象的地址,选项B正确;成员函数不能定义this指针,它是由编译器隐含定义的,选项C正确;在构造函数中对象还没有完成生成,但这并不意味着对象什么都没有,所以构造函数中也有this指针,通常尽量避免在构造函数中使用this指针,选项D错误;本题答案为D。

10.有如下程序:

#include

#include

using namespace std;

class Animal{

public:

virtual string GetType() const { ret

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号