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

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

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

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

选择题

1.结构化程序设计的基本原则不包括( )。(A)

A. 多态性

B. 自顶向下

C. 模块化

D. 逐步求精

解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

2.下列关于this指针的描述中,正确的是( )。(D)

A. 类的成员函数都有this指针

B. 类的友元函数都有this指针

C. 任何与类相关的函数都有this指针

D. 类的非静态成员函数都有this指针

解析:mis作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。另外,全局函数和静态函数都不能使用this指针。所以答案为D。

3.下列叙述中正确的是( )。(B)

A. 循环队列是队列的一种链式存储结构

B. 循环队列是队列的一种顺序存储结构

C. 循环队列是非线性结构

D. 循环队列是一种逻辑结构

解析:本题主要考查循环队列的概念,循环队列作为队列的一种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。

4.下列链表中,其逻辑结构属于非线性结构的是( )。(A)

A. 二叉链表

B. 循环链表

C. 双向链表

D. 带链的栈

解析:二叉链表作为树的存储结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。

5.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。(A)

A. 16

B. 10

C. 6

D. 4

解析:根据二叉树的性质,在任意二叉树中,度为O的结点(即叶子结点)总是比度为2的结点多一个,故此度为l的结点个数=总结点数.叶子节点数.度为2的节点数=25.5-4=16。

6.下列有关内联函数的叙述中,正确的是( )。(C)

A. 内联函数在调用时发生控制转移

B. 内联函数必须通过关键字inline来定义

C. 内联函数是通过编译器来实现的

D. 内联函数函数体的最后一条语句必须是return语句

解析:此题考查的是内联函数的概念。在调用时,内联函数会像宏函数一样的展开,将调用表达式用内联函数体来替换所以它没有一般函数的参数压栈和和退栈操作,所以选项A错误:即使没有使用inline说明,编译器也会将在类的说明部分定义的函数认定为内联函数,所以选项B错误:内联函数只是比普通函数有更高的执行效率,所以选项D错误。

7.下面不属于需求分析阶段任务的是( )。(D)

A. 确定软件系统的功能需求

B. 确定软件系统的性能需求

C. 需求规格说明书评审

D. 制定软件集成测试计划

解析:需求分析阶段的工作可分为4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。

8.软件测试的目的是( )。(D)

A. 评估软件可靠性

B. 发现并改正程序中的错误

C. 改正程序中的错误

D. 发现程序中的错误

解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。

9.违背数据流图(DFD)构造规则的是(A)

A. “数据存储”间有数据流

B. “数据流”应标识数据流名

C. “加工”应既有输入又有输出

D. 父图子图是指相邻上下两层的数据流图

解析:数据流图原则:①一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同;②保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据;③每个加工必须既有输入数据流,又有输出数据流;④所有的数据流必须以一个外部实体开始,并以一个外部实体结束;⑤外部实体之问不应该存在数据流。

10.在C++中,用于实现运行时多态性的是( )。(D)

A. 内联函数

B. 重载函数

C. 模板函数

D. 虚函数

解析:此题考查的是虚函数的概念。C++语言的多态性有两种:函数重载和虚函数。虚函数只有红运行时才能被确定,称为运行时多态。编译时的多态是通过函数重载和模板实现的。

11.已知在一个类体中包含如下函数原型:VOLUME operator.(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。(B)

A. 这是运算符一的重载运算符函数

B. 这个函数所重载的运算符是一个一元运算符

C. 这是一个成员函数

D. 这个函数不改变类的任何数据成员的值

解析:此题考查的是运算符的重载。运算符“一”有一元和二元两种,在本题中它作为一个二元运算符,所以它不能更新对象的数据成员,也不能调用该类中没有const修饰的成员函数。

12.有如下程序:

#inc1ude<iostream>

using namespace std;

class XA{

int a:

public:

static int b:

XA(int aa):a(aa){b++;).

int getA() {return a,)

};

int XA::b=0;

int main(){

XA d1(4),d2(5);

cout<<dl.getA()+d2.getA()+XA::b+d1.b<<endl;

return 0;

}

运行这个程序的输出结果是( )。(C)

A. 9

B. 11

C. 13

D. 15

解析:在类XA的构造函数中,定义了用成员变量a的值初始化变量aa,同时静态成员变量b值加1。所以当在主main函数中定义类XA的对象d1(4)后,变量b的等于1,定义对象d2(5)后,变量b的值等于2,所以表达式dl.getA()+d2,getA()+XA::b+d1.b等于4+5+1+2+1=13.

13.有如下类定义:

c1ass AA

{

int a;

public:

int getRef()const{ retum &a;} // ①

int getValue()const{ retuma;} // ②

void set(int n)const{ a=n;} // ③

friend void show(AA aa)const{ cout<<a;}// ④

};

其中的四个函数定义中正确的是( )。(B)

A. ①

B. ②

C. ③

D. ④

解析:此题考查了常成员函数和友元函数的概念。选项A中,getRef()函数的返回值和函数函数类型不符,故错误;C选项中set()常成员函数改变了数据成员的值,这是不允许的;D

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号