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

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

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

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

选择题

1.运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出( )。(C)

A. “/”和“++”都是作为成员函数重载的

B. “/”和“++”都是作为非成员函数重载的

C. “/”是作为成员函数重载的, “++”是作为非成员函数重载的

D. “/”是作为非成员函数重载的, “++”都是作为成员函数重载的

解析:运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即yoperator*(z)或者operator*(y,z);另一种是通过运算符构成表达式,即y*z。因为“++”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀“++”时必须多一个虚拟参数:int。

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

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

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

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

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

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

3.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。(A)

A. ios_base::cur

B. ios base::beg

C. ios_base::out

D. ios base::end

解析:streamoff定义于iostream.h中,定义有偏移量offset所能取得的最大值,seek_dir表示移动的基准位置,是一个有以下值的枚举:ios::beg:(文件开头)、ios::cur:(文件当前位置)、ios::end:(文件结尾)。

4.下列排序方法中,最坏情况下比较次数最少的是(  )。(D)

A. 冒泡排序

B. 简单选择排序

C. 直接插入排序

D. 堆排序

解析:冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是

5.在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是( )。(B)

A. fail

B. eof

C. bad

D. good

解析:可以用文件流对象的成员函数来判别文件流当前的状态:fail,刚进行的操作失败时返回true,否则返回false;eof,进行输入操作时,若文件到达文件尾返回true,否则返回false:bad,如果进行了非法操作返回true,否则返回false;good,刚进行的操作成功时返回true,否则返回false。

6.关于this指针的说法不正确的是( )。(D)

A. 不能在程序中修改this指针

B. this指针可以给其他指针赋值,但不能修改this指针

C. 静态成员函数中没有this指针

D. this指针可以被赋值

解析:this指针不能在程序中修改,不能被幅值;静态成员没有this指针,因为类中只有一个静态成员函数实例,使用this指针无意义。

7.)下面程序的输出结果是( )。

#include

#include“string.h”

void main()

{char a[]=\\(B )

A. Hello

B. Test

C. Hello Test

D. Hello Test HelloTest

解析:程序中首先定义字符数组a和b,其值分别为“Hello Test”和“Test”。然后利用strcpy复制函数,将b的值复制给a,所以输出a的结果为’lest。

8.有如下头文件:

int n();

static im f2();

class MA{

public:

int f3();

static int f4();

};

在所描述的函数中,具有隐含的this指针的是( )。(C)

A. n

B. f2

C. f3

D. f4

解析:只有类的非静态成员函数才隐含this指针,其作用域是类内部,当类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数,而不必一定写上this。所以本题答案为C。

9.有如下程序:

#include

using namespace std;

class B{

public:

virtual void show(){cout<<\\(C)

A. BBB

B. BBD

C. DBB

D. DBD

解析:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*p=new D以及类D的对象d;执行funl会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。

10.下列语句中错误的是( )。(A)

A. const int a;

B. const int a=10;

C. const int * point=0;

D. const int * point=new int(10);

解析:const是一个C++语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。限定符声明变量只能被读,必须初始化。A选项没有初始化,B、C、D选项都正确。

11.有如下程序段:

int i=1;int j=4;

int main() {

int i=8, j=i;

cout<<i<<j<<endl;

}

运行时的输出结果是(C)

A. 14

B. 81

C. 88

D. 18

解析:全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明,本题中定义了两个全局变量i,j,所以主函数中对全局变量重新赋值输出后为88,所以答案为C。

12.有如下程序:

#include

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号