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

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

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

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

选择题

1.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(B)

A. 12345ABCDE

B. EDCBA54321

C. ABCDE12345

D. 54321EDCBA

解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。

2.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为( )。(A)

A. 219

B. 221

C. 229

D. 231

解析:在二叉树中,叶子结点个数为n0,则度为2的结点数n2=n0一1。本题中叶子结点的个数为70,所以度为2的结点个数为69,因而总结点数=叶子结点数+度为1的结点数+度为2的结点数=70+80+69=219。

3.以下关键字不能用来声明类的访问权限的是( )。(B)

A. public

B. static

C. protected

D. private

解析:类的成员访问权限有3种:public(公用)、protected(保护)、private(私有)。

4.有如下类定义:

class MyClass{

int b;char a;double c;

public:

MyClass0:c(0.0),b(O),a(‘,’)()

};

创建这个类的对象时,数据成员的初始化顺序是( )。(C)

A. a,b,C

B. c,b,a

C. b,a,c

D. c,a,b

解析:类的成员初始化顺序与成员变量在构造函数中的位置先后顺序无关,只与成员变量在类中定义的先后顺序有关。

5.下面不能作为结构化方法软件需求分析工具的是( )。(A)

A. 系统结构图

B. 数据字典(D)

C. 数据流程图(DFD图)

D. 判定表

解析:按照DeMarco的定义,“结构化分析就是使用数据流图(DFD图)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”系统结构图不能作为结构化方法软件需求分析工具。

6.有如下程序:

#include

using namespace std;

class Test

{

public:

Test() {n+=2;)

~Test() {n一3;)

static int getNum0{return n;}

private:

static int n;

);

int Test::n=l;

int main()

{

Test*P=new Test;

delete p;

cout<<\\(A)

A. n=0

B. n=l

C. n=2

D. n=3

解析:此题考查的是静态数据成员和静态成员函数。静态数据成员是类中所有对象共享的成员,而不是某个对象的成员。题目中的静态数据成员n的运算具有叠加性,执行“n+=2”和“n一3”后n的值为0。

7.下列存储类标识符中,可见性与存在性不一致的是( )。(C)

A. 外部类

B. 自动类

C. 内部静态类

D. 寄存器类

解析:可见性是函数内部,存在整个程序中,第二次调用值不变。

8.有如下程序:

#include

using namespace std;

class TV{

public:

TV(int S=41):size(S){}

void Print(){cout<<’/<<‘N’<<size;}

void Print()coust{cout<<‘/’<<‘C’<<size;}

void Print(int 8){cout<<’/’/<<’S’<<size;}

private:

int size;

};

int main(){

TV rooml;

const TV room2(54);

rooml.Print();

rcom2.Pant();

return 0;

}

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

A. /N41/C54

B. /N41/S54

C. /CA1/N54

D. /C41/C54

解析:本题考查构造函数相关知识,本题中定义一个对象rooml,执行rooml.Print时执行构造函数给size赋值为41,然后执行void Print(){cout<<‘/’<<’N’<<size;}输出/N41。而定义const TV room2(54)时,给size赋值为54,最后输出结果为/C54,所以答案为A。

9.以下程序输出结果是( ):

#include<iostream>

using namespace std;

void add(int x,int y,int *z)

{*Z=y+x;}

int main()

{int a,b,c;

add(8,4,&a);

add(6,a,&b);

add(a,b,&c);

cout<<a<<’’,’’<<b<<’’,’’<<c<<end1;

return 0;

}(B)

A. 12,10,14

B. 12,18,30

C. 12,6,18

D. 12,14,30

解析:由主函数main入手,调用add函数,其中第三个参数为引用,即传值为地址。当add函数中第三个参数改变时,主函数中这个值也会改变。那么第一个add调用后a=12,所以第二个调用中a=12。调用后b=18。那么第三个调用后c=30。

10.若有下面的函数调用:

fun(a+b,3,max(n-1,b))

则fun的实参个数是( )。(A)

A. 3

B. 4

C. 5

D. 6

解析:此题考查的是函数的调用。C++中函数调用的一般形式为:函数名(实参表),其中实参表是用逗号分隔的一系列表达式。因此,本题中fun()函数的实参表由a+b、3和max(n-1,b)组成。

11.有如下程序:

#inc1ude<iostream>

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号