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

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

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

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

选择题

1.下面是重载为非成员函数的运算符的函数原型,其中错误的是( )。(C)

A. Fraction operator+(Fraction,Fraction);

B. Fraction operator-(Fraction);

C. Fraction&operator=(Fraction&,Fraction);

D. Fraction&operator+=(Fraction&,Fraction);

解析:本题考查四种运算符作为非成员函数的重载的使用方法,根据重载规则,本题答案为c,c项正确原型为:Fraction operator=(Fraction&)。

2.关于函数重载,下列叙述中错误的是( )。(C)

A. 重载函数的函数名必须相同

B. 重载函数必须在参数个数或类型上有所不同

C. 重载函数的返回值类型必须相同

D. 重载函数的函数体可以有所不同

解析:所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。

3.下面关于算法的叙述中,正确的是( )。(B)

A. 算法的执行效率与数据的存储结构无关

B. 算法的有穷性是指算法必须能在执行有限个步骤之后终止

C. 算法的空间复杂度是指算法程序中指令(或语句)的条数

D. 以上三种描述都正确

解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

4.有如下程序:

#include

using namespace std;

class Instrument {

public:

virtual void Display()=0;

};

class Piano:public Instrument {

public:

void Display(){/*函数体略*/}

};

int main(){

Instrument s;

Instrument *p=0;

//…;

return 0;

}

下列叙述中正确的是( )。(B)

A. 语句“Insturment *p=0;”编译时出错

B. 语句“Instrument s;”编译时出错

C. 类Piano中的Display函数不是虚函数

D. 类Instrument是一个虚基类

解析:本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被“初始化”为0的函数,包含纯虚函数的类为抽象类,抽象类不能被实例化,所以语句“Instrument s;”在编译时出错。

5.假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。(B)

A. MyClass(MyClass x);

B. MyClass(MyClass&x);

C. MyClass(&x);

D. MyClass(x);

解析:拷贝构造函数也是构造函数,所以函数名字为MyClass,但它只有一个参数,这个参数是本类的对象,即x;而且采用对象的引用的形式,也就是&x。所以本题答案是B)。

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

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

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

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

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

解析:重载运算符的规则如下:

①C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;

②C++不能重载的运算符只有5个;

③重载不能改变运算符运算对象的个数;

④重载不能改变运算符的优先级和结合性;

⑤重载运算符的函数不能有默认的参数;

⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是C++的标准类型。故本题答案为C。

7.以下程序的执行结果是( )。

#include

class TestC lass2

{

public:

TestClass2(){};

TestClass2(int i,int j);

void printb0;

private:

int a,b;

);

class TestClass 1

{

public:

TestClassl(){}

TestClass 1 fint i,int j);

void printa();

private:

TestClass2 c:

};

TestClass 1::TestClass I(int i,int j):c(i,j)

{}

void TestClass 1::printa()

{

c.printb0;

}

TestClass2::TestClass2(int i,int j)

{

a=i:

b=j;

}

void TestClass2::printb()

{

cout<<“a=”<<a<<\\(C )

A. a=7,b=8

B. a=8,b=7

C. a=7,b=9

D. a=8,b=9

解析:由主函数main入手,定义了restClassl的对象m,其中参数为7和9。“m.printa();”中TestClassl中printa为\\

8.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。(B)

A. 软件矛盾

B. 软件危机

C. 软件藕合

D. 软件产生

解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了入们难以控制软件发展的局面,即所谓的“软件危机”。

9.下列数据结构中,属于非线性结构的是( )。(C)

A. 循环队列

B. 带链队列

C. 二叉树

D. 带链栈

解析:树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。

10.有如下程序:

#include

using namespace std;

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号