首页 > 全部 > 二级C++ > 国家二级C++机试(选择题)模拟试卷230

国家二级C++机试(选择题)模拟试卷230

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

国家二级C++机试(选择题)模拟试卷230

选择题

1.若有定义“hat x=4,y=5;”,则表达式“y>x++?x--:y++”的值为( )。(C)

A. 3

B. 4

C. 5

D. 6

解析:在表达式“y>x++?x–:y++”中,由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值前自加1,等于5,此时表达式y>x不成立,所以整个表达式的值等于y++的值,由于y++是后自加运算,所以其值等于5。

2.若有以下程序:

#include<iostream>

using namespace std;

class A

{

public:

A(int i,int j)

{

a=i:

b=j;

}

void move(int x,int y)

{

a+=x;

b+=y;

}

void show()

{

cout<<a<<\\(C)

A. 3,4

B. 6,8

C. 6,9

D. 4,3

解析:此题的执行过程如下:首先Bd(3,4);语句调用B类的构造函数:B(int i,int j),B的构造函数中调用基类A的构造函数,使得a=3,b=4;d.fun()会调用函数move(3,5),使得(3,4)和(3,5)的对应部分分别相加,最后输出6,9。

3.字符串“a+b=12\n\t”的长度为( )。(C)

A. 12

B. 10

C. 8

D. 6

解析:题目给出的字符串含有7个字符,再加字符串的结束字符,所以共8个字符。

4.对下列二叉树

(C)

A. DYBEAFCZX

B. YDEBFZXCA

C. ABDYECFXZ

D. ABCDEFXYZ

解析:二叉树前序遍历的简单描述:若二叉树为空,则结束返回;否则:①访问根结点;②前序遍历左子树;③前序遍历右子树。可见,前序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的结构可知前序遍历的结果是ABDYECFXZ。

5.下列关于C++流的描述中,错误的是( )。(A)

A. cout>>‘A’表达式可输出字符A

B. eof( )函数可以检测是否到达文件尾

C. 对磁盘文件进行流操作时,必须包含头文件fstream

D. 以ios―base::out模式打开的文件不存在时,将自动建立一个新文件

解析:本题考查c++流,想要输出字符“A,则应该是cout<<“A”,所以本题答案为A。

6.在软件设计中不使用的工具是(C)

A. 系统结构图

B. PAD图

C. 数据流图

D. 程序流程图

解析:在软件开发的各个阶段经常会使用到一些图形工具,如在需求分析阶段使用数据流图(DFD图),在概要设计阶段使用系统结构图,在详细设计阶段使用程序流程图、N-S图或者PAD图等。

7.有如下类说明:

class TestClass{

int x:

public:

TestClass(int n){x=n;}

};

class TestClass1:public TestClass{

int y;

public:

TestClass1(int a,int b);

};

在构造函数TestClass1的下列定义中,正确的是( )。

B

解析:题目中程序TestClass为基类,TestClass1为派生类,派生类构造函数的一般形式为:派生类构造函数名(总参数类表):基类构造函数名(参数列表){派生类中新增数据成员初始化语句}。派生类TestClass1的基类函数名为TestClass,总参数为int a,int b,所以选择B)。

8.数据库系统的三级模式不包括( )。(D)

A. 概念模式

B. 内模式

C. 外模式

D. 数据模式

解析:数据库系统的三级模式包括概念模式、外模式和内模式(物理模式)。

9.有如下类定义:

class TV{

public:

Tv(int S=41,string br=“TCL”):size(s),brand(br){}

一Tv(){}

private:

int size;

string brand;

};

若执行语句

TV li,*net[2],company[3];

则Tv类的构造函数被调用的次数是( )。(B)

A. 6次

B. 4次

C. 3次

D. 2次

解析:本题考查构造函数和析构函数,题中定义了一个对象以及对象数组,那么构造函数需要执行4次,而,*net[2]并不执行构造函数,所以答案为B。

10.有如下程序:

#include<iostream>

using namespace std;

int main(){

int sum;

for(int i=0;i<6;i+=3){

sum=1;

for(int j=i;j<6;j++)sum+=j;

}

cout<<sum<<endl;

return 0;

}

运行时的输出结果是( )。(D)

A. 3

B. 10

C. 12

D. 15

解析:由题干可以知道,外层循环会进行两次,且第一次的结果我们可以不去理会和计算,读者仔细观察能发现,在第一次的循环以后sum和j都会被重新赋值,所以外层第二次循环如下:

此时i=3,sum=3内层循环开始如下:j=3,j<6,sum=6;i=4,j<6,sum=10,j=5,j<6,sum=15,j=6退出内层循环。得到sum=15。

11.下面关于虚函数的描述中正确的是( )。(D)

A. 虚函数是一个静态成员函数

B. 虚函数是一个非成员函数

C. 虚函数既可以在函数说明时定义,也可以在函数实现时定义

D. 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

解析:在基类中用vinual声明成员函数为虚函数,所以AB错误。在派生类中重新定义此函数,要求函数名、函数类型、函数参数个数和类型全部与基类的虚函数相同。

12.生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。(A)

A. 无需任何条件

B. 基类中显示定义了构造函数

C. 派生类中显式定义了构造函数

D. 派生类构造函数明确调用了基类构造函数

解析:因为派生类从基类中继承,它含有基类中的数据成员和函数成员,所以当生成派生类对象

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号