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

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

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

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

选择题

1.在一棵二叉树上,第5层的结点数最多是( )。(D)

A. 8

B. 9

C. 15

D. 16

解析:根据二叉树的性质:二叉树第i(i>1)层上至多有2i-1个结点。得到第5层的结点数最多是16个。

2.若整型变量a、b、C、d中的值依次为:1、4、3、2。则条件表达式a<b?a:c<d?c:d的值是( )。(A)

A. 1

B. 2

C. 3

D. 4

解析:酉先把c<d?c:d算出。结果为2,表达式a<b?a:c<d?c:d变为:a<b?a:2,结果为1。

3.有如下程序:

#include<iostream>

using namespace std;

class Base

{

pfivme:

void funl()const{cout<<”funl”;}

protected:

void fun2()const{cout<<”fun2”;}

public:

void fun3()coast{cout<<”fun3”;}

};

class Derived:protected Base

{

public:

void fun4()const{cout<<”fun4”;}

};

int main()

{

Derived obj;

obj.funl();//①

obj.fun2();//②

0bj.fun3();//③

obj.fun4();//④

return 0;

}

其中有语法错误的语句是( )。(B)

A. ①②③④

B. ①②③

C. ②③④

D. ①④

解析:本题考查保护继承中派生类对基类的访问属性,受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,保护基类的所有成员在派生类中都被保护起来,在类外不能访问,所以①②③错误。

4.有如下程序:

#include

using namespace std;

class Base

{

public:

void fun1(){cout<<\\(B)

A. Base

Base

B. Base

Derived

C. Derived

Base

D. Derived

Derived

解析:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个派生类对象obj,执行f函数后,将派生类对象obj转化为基类对象,由于fun1不是虚函数,所以输出基类的fun1;而fun2是虚函数,所以输出派生类的fun2,所以本题答案为B。

5.下列运算符不能重载为友元函数的是( )。(A)

A. = () [] ->

B. + – ++ —

C. > = <=

D. += -= *= /=

解析:此题考查的是运算符重载的概念。C++语言规定,=、[]、()、->以及所有的类型转换运算符只能作为成员函数重载,如果要重载为友元函数就必须重载为非成员函数。

6.通过运算符重载,可以改变运算符原有的( )。(A)

A. 操作数类型

B. 操作数个数

C. 优先级

D. 结合性

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

7.下列程序用来判断指定文件是否能正常打开,横线处应填写的内容是( )。

#include

main()

{ FILE*fp;

if(((fp=fopen(\\(A)

A. NULL

B. 文件打开成功!

C. 未能打开文件!

D. 以上均不正确

解析:在本题中,fopen函数如果成功打开了文件,返回文件指针,否则返回NULL。

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

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

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

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

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

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

9.有如下程序段:

int i=0,j=1;

nt&r=i;//①

r=j;//②

int*p=&i;//③

*p=&r;//

其中会产生编译错误的语句是( )。(A)

A. ④

B. ③

C. ②

D. ①

解析:本题考查指针和引用。①为引用,使用正确;④中&r表示一个地址,而*p已经是一个值了,不能将一个指针赋值给一个值,所以编译错误。

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

A. 类

B. 对象

C. 模板

D. 函数

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

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

A. 循环队列

B. 带链队列

C. 二叉树

D. 带链栈

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

12.对C++编译器区分重载函数无任何意义的信息是( )。(C)

A. 参数类型

B. 参数个数

C. 返回值类型

D. 常成员函数关键字const

解析:所谓函数重载是指同一

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号