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

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

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

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

选择题

1.下面关于构造函数和析构函数的描述,错误的是( )。(D)

A. 析构函数中调用虚函数采用静态联编

B. 对虚析构函数的调用可以采用动态联编

C. 当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数

D. 构造函数可以声明为虚函数

解析:构造函数的主要作用是对数据成员初始化。构造函数不能声明为虚函数,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。

2.下列关于this指针的描述中,正确的是( )。(D)

A. 类的成员函数都有this指针

B. 类的友元函数都有this指针

C. 任何与类相关的函数都有this指针

D. 类的非静态成员函数都有this指针

解析:this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。另外,全局函数和静态函数都不能使用this指针。所以答案为D。

3.有如下程序:

#include

using namespaee std;

class A

{

public:

A(){cout<<\\(B)

A. BAA~A~B~A

B. ABA~B—A~A

C. BAA~B~A~A

D. ABA~A~B~A

解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数。对象释放时,先执行派生类的析构函数,再执行基类的析构函数。所以本题答案为B。

4.下列运算符中不能在C++中重载的是( )。(A)

A. ?:

B. +

C. –

D. <=

解析:此题考查的是运算符的有关概念。运算符重载是针对C++原有运算符进行的,不能通过重载创造新的运算符;除了.、.*、->*、::、?:这五个运算符之外,其他运算符都可以重载。

5.在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(A)

A. auto

B. extem

C. register

D. static

解析:变量的存储方法分为静态存储和动态存储两大类,包含4种:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extem)。变量如果没有说明存储类型,那么默认就是auto。

6.下面关于虚函数的描述中,正确的是( )。(A)

A. 基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明

B. 虚函数是非成员函数

C. 虚函数是static类型的成员函数

D. 派生类中的虚函数与基类中类型相同的虚函数具有不同的参数个数或类型

解析:虚函数是非static类型的成员函数,基类中可以利用Virtual关键字来声明虚函数,派生类中定义相同原型函数时可不必加virtual说明,直接重写基类中的函数。在派生类中的虚函数必须与基类中的虚函数具有相同的参数个数与类型。

7.下列运算符函数中肯定不属于类FunNumber的成员函数的是( )。(D)

A. int operator一(FunN,,mher);

B. FunNumber operator一();

C. FunNumber operator一(int);

D. int operator一(FunNumber,FunNumber);

解析:本题考查运算符重载的一些规则:①一般情况下,单目运算符最好重载为类的成员函数,双目运算符则最好重载为类的友元函数;②双目运算符=、()、[]、一>不能重载为类的友元函数;③类型转换函数只能定义为一个类的成员函数,而不能定义为类的友元函数;④若一个运算符的操作需要修改对象的状态,选择重载为成员函数较好;⑤若运算符所需的操作数(尤其是第一个操作数)希望有隐式类型转换,则只能选用友元函数;⑥当运算符函数是一个成员函数时,最左边的操作数(或者只有最左边的操作数)必须是运算符类的一个类对象(或者是对该类对象的引用);如果左边的操作数必须是一个不同类的对象,或者是一个内部类型的对象,该运算符函数必须作为一个友元函数来实现。所以答案为D。

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

A. long,double,int

B. long,float,int

C. int,double,long

D. int,float,long

解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或1来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。

9.有如下类定义:

class MyBase{

int k;

public:

MyBase(int n=0):k(n){}

int value()const{return k;}

};

class MyDerived:MyBase{

int j;

public:

MyDerived(int i):j(i){}

int getK()const{return k;}

int getJ()const{return j;}

};

编译时发现有一处语法错误,对这个错误最准确的描述是( )。(A)

A. 函数getK试图访问基类的私有成员变量k

B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private

C. 类MyDerived缺少一个无参的构造函数

D. 类MyDerived的构造函数没有对基类数据成员k进行初始化

解析:默认继承方式为私有继承,私有继承将基类的公用成员和保护成员都变为了私有成员,基类的私有成员依然属于基类私有,派生类不能访问基类的私有成员。所以A选项正确。

10.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(B)

A. 提高耦合性降低内聚性有利于提高模块的独立性

B. 降低耦合性提高内聚性有利于提高模块的独立性

C. 耦合性是指一个模块内部各个元素间彼此结合的紧密程度

D. 内聚性是指模块间互相连接的紧密程度

解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C与D错误。

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

<

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号