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

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

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

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

选择题

1.下列语句中,错误的是( )。(B)

A. const int buffer=256;

B. const int temp;

C. const double*point;

D. const double*rt=new double(5.5);

解析:const是一个C++语言的关键字,它限定一个变量不允许被改变。使用conat在一定程度上可以提高程序的安全性和可靠性。限定符声明变量只能被读,必须初始化。B选项中没有初始化,C选项为指向常量的指针,定义时初始化与否均可,如果是const*double point形式,则为常指针,必须在定义时进行初始化,A、C、D都正确。

2.执行语句:{cout<<setfill(’*’)<<setw(10)<<setfill(’#’)<<left<<123<<\\(B)

A. 123*******OK

B. 123#######OK

C. 123********OK********

D. 123#######OK#######

解析:cout.fill(、)用于设置或返回输出的填充字符,默认是空格,fill(、)函数的设置一直有效,直到下一个fill()函数改变该值为止。setw(int n)作用是设置输入输出的宽度,此设置只对一次输入或输出有效,在完成一次数据的输入或输出后,宽度设置自动恢复为0。注意:默认为输出数据在指定宽度内右对齐。

3.在下面的类定义中,横线处应填入的内容是( )。

class Fred

{

public:

void print(){cout<<data<<endl;)

void setData(double d) {data=d;}

static int count;

private:

double data;

};

count=0; //静态数据成员的定义(C)

A. int

B. static int

C. int Fred::

D. static int Fred::

解析:此题考查的是静态数据成员的定义。题目中count数据成员要定义成静态的,其初始化的格式为:类型类名::静态数据成员=常量。

4.某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。(C)

A. 9

B. 10

C. 11

D. 12

解析:根据二叉树的性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。

5.在类中说明的成员可以使用关键字的是( )。(A)

A. public

B. extem

C. cpu

D. register

解析:extern用于声明外部变量的,register声明寄存器类型变量,无cpu类型。它们都不能声明类成员。public声明为公有访问权限。

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

A. auto

B. extern

C. register

D. static

解析:此题考查的是存储类型。C++语言变量的存储类型分为如下几种类型:auto一一函数内部的局部变量;static一一静态存储分配:extern…全局变量;register一一变量存储在硬件寄存器中。

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

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

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

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

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

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

8.在C++中,cin是一个( )。(B)

A. 类

B. 对象

C. 模板

D. 函数

解析:本题考查流对象cin,属于基础知识,cin是输入流对象,负责从键盘获取数据,然后送到内存。本题答案为B。

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

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

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

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

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

解析:所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为C。

10.下列关于类模板的描述中,错误的是( )。(D)

A. 类模板的成员函数都是模板函数

B. 可以为类模板参数设置默认值

C. 类模板描述了一组类

D. 类模板中只允许有一个类型参数

解析:类模板是一系列相关类的模板,类成员组成相同,成员函数的源代码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值。由此可知应选D。

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

A. const int a;

B. const int a=10;

C. eonst int*point=0;

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

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

12.下面是一个模板声明的开始部分:

templatedouble…

由此可知( )。(A)

A. 这可能是一个函数模板的声明

B. 这可能是一个类模板的声明

C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明

D. 这肯定是一个错误的模板声明

解析:本题考查函数模板和类模板的基础知识,从templatedouble这里就可以看出这是一个函数模板的声明。

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

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

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

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

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

解析:此题考查的是运算符的有关概念。运算符重载是针对C++原有运算符进行的,不能通过重载创造新的运算符;除了.、.*、.>,*、::、?:这五个运算符之外,其他运算符都可以重载;在类型转换符函数的定义中不需要声明返

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号