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

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

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

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

选择题

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

A. 12345ABCDE

B. EDCBA54321

C. ABCDE12345

D. 54321EDCBA

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

2.对如下二叉树

(D)

A. ABCDEF

B. DBEAFC

C. ABDECF

D. DEBFCA

解析:所谓后序遍历是指在访问根据结点、遍历左子树与遍历右予树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。其简单描述为:若二叉树为空,则结束返回;否则,先后序遍历左子树,然后后序遍历右子树,最后访问根结点。对于后序遍历,第一个访问的结点一定是最左下的结点,最后一个访问的结点一定是根结点,所以选项D为正确答案。

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

A. public

B. static

C. protected

D. private

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

4.若已定义

int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是( )。(D)

A. a[p-a]

B. *(&a[i])

C. p[i]

D. a[10]

解析:数组有N个元素,则数组元素引用为a(0)~a(N.1),共计N个,没有a(10)这个元素,最后的元素是a(9)。

5.结构化程序所要求的基本结构不包括( )。(B)

A. 顺序结构

B. GOTO跳转

C. 选择(分支)结构

D. 重复(循环)结构

解析:结构化程序的基本结构有;顺序结构、选择结构和循环结构,没有GOTO跳转结构。

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

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

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

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

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

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

7.假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。(B)

A. MyClass(MyClass x);

B. MyClass(MyClass &x);

C. MyClass(&x);

D. MyClass(x);

解析:拷贝构造函数也是构造函数,所以函数名字为MyClass,但它只有一个参数,这个参数是本类的对象,即x;而且采用对象的引用的形式,也就是&x。所以本题答案是B。

8.下列枚举类型的定义中,包含枚举值3的是( )。

A

解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量。枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:

①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。

②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n-1对应。

③若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1,m+2…对应,直到下一个赋了值的枚举值或结束。因此,为枚举值赋的整型常量值应从左到右递增。

④枚举类型的声明也可作为组声明若干整型符号常量的方法。也就是说,把每个要声明的符号常量作为一个枚举值,将各个枚举值合在一起定义成一个枚举类型。

对于本题来说,在选项A)中,对4个枚举值没有赋常量值,所以它们从左到右与整数0,1,2,3相对应。因而选项A)为正确选项。

9.计算斐波那契数列第n项的函数定义如下:

int fib(int n){

if(n==0)return 1;

else if(n=1) return 2;

else retum fib(n一1)+fib(n一2);

}

若执行函数调用表达式fib(2),函数fib被调用的次数是( )。(B)

A. 1

B. 2

C. 3

D. 4

解析:斐波那契数列是递归函数,所以fib(2)=fib(1)+fib(0)=2+1=3。因而执行函数调用表达式fib(2)时,函数fib被调用的次是2次。

10.若需要为XV类重载乘法运算符,运算结果为XV类型,在将其声明为类的成员函数时,下列原型声明正确的是( )。(D)

A. XV operator*(XV,XV);

B. XV*(XV);

C. operator*(XV);

D. XV operator*(XV);

解析:*是一个二元运算符,在作为成员函数重载时参数表中只有一个参数,对应于第二个操作数,而第一个操作数就是对象本身,仅以一this指针的形式隐藏在参数表中。

11.有如下程序:

#include<iostream>

using namespace std;

int main()

{

char str [100],*p;

cout<<’’Please input a string:’’;

cin;str;

p=str;

for(int i=0;*p!=’\0’;p++,i++);

cout<<’’i’’<<end1;

return 0;

}

运行这个程序时,若输入字符串为:

abcdefg abcd

则输出结果是( )。(A)

A. 7

B. 12

C. 13

D. 100

解析:此题考查的是默认输入格式。本题输入数据类型为char,因此输入的数据是“从第一个非空白字符开始到下一个空白字符结束”,而输入数据为abcdefg abed,其中abcdefg后有空格。所以输入后str中的字符串为\\

12.下列定义语句中,错误的是( )。(A)

A. int px*;

B. char*acp[10];

C. char(

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号