国家二级C++机试(选择题)模拟试卷207
选择题
1.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(B)
A. 12345ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。
2.对下列二叉树
(C)
A. DYBEAFCZX
B. YDEBFZXCA
C. ABDYECFXZ
D. ABCDEFXYZ
解析:二叉树前序遍历的简单描述:若二叉树为空,则结束返回;否则:①访问根结点;②前序遍历左子树;③前序遍历右子树。可见,前序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的结构可知前序遍历的结果是ABDYECFXZ。
3.带链队列空的条件是(A)
A. front=rear=NULL
B. front=rear=一1
C. front=NULL且rear=一1
D. front=-1且rear=NULL
解析:带链队列空的条件有两个:一个是front=tear,一个是他们都等于空。
4.下列选项中不属于面向对象程序设计特征的是( )。(C)
A. 继承性
B. 多态性
C. 类比性
D. 封装性
解析:面向对象程序设计的三个主要特征是:封装性、继承性和多态性。封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。继承性是指使用已有的类定义作为基础建立新类的定义技术。对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。
5.在软件开发中,需求分析阶段产生的主要文档是( )。(B)
A. 可行性分析报告
B. 软件需求规格说明书
C. 概要设计说明书
D. 集成测试计划
解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标与确认,叉可以作为控制软件开发进程的依据。
6.在结构化程序设计中,模块划分的原则是( )。(D)
A. 各模块应包括尽量多的功能
B. 各模块的规模应尽量大
C. 各模块之间的联系应尽量紧密
D. 模块内具有高内聚度、模块间具有低耦合度
解析:内聚性是对一个模块内部各个元素间彼此结合的紧密程度的度量。耦合性是对模块间互相连接的紧密程度的度量。在结构化程序设计中,模块划分应遵循高内聚、低耦合的原则,即减弱模块之间的耦合性和提高模块内聚性,有利于提高软件模块的独立性。
7.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )。(B)
A. —对一
B. 一对多
C. 多对一
D. 多对多
解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。
8.执行下列语句段后,输出字符“*”的个数是( )。
for(int i=50;i>1;I-=2)cout<<’*’;(B)
A. 24
B. 25
C. 26
D. 50
解析:此题考查的是for循环语句。执行循环语句,变量i从50递减,每次减2,所以循环会执行25次,输出25个‘*’。
9.己知函数FA调用FB,若要把这两个函数定义在同一个文件中,则( )。(D)
A. FA必须定义在FB之前
B. FB必须定义在FA之前
C. 若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D. 若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
解析:在C++中,在调用任何函数之前,必须确保它已有原型说明。函数原型说明通常放在程序文件的头部,以使得该文件中所有函数都能调用它们。在本题中,当函数FA调用FB时,函数FB可以定义在FA的后面,但是FB的原型必须出现在FA的定义之前,因而选项D)为正确答案。
10.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(A)
A. 内联函数
B. 重载函数
C. 递归函数
D. 函数模板
解析:C++引入内联函数的原因是用它来取代C中的预处理宏函数。两者的区别在于,宏函数是由预处理器对宏进行替换,而内联函数是通过编译器来实现的。内联函数在调用时像宏函数一样展开,所以它没有一般函数的参数压栈和退栈操作,减少了调用开销,因此,内联函数比普通函数有更高的执行效率。
11.要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是( )。
B
解析:当数组声明时没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定。对于选项B定义数组x时,没有给出数组的大小,初始化时只给出了一个元素0。所以数组x只包含一个元素为0的元素。
12.在语句“cout<<’A’:”中,cout是( )。(B)
A. 类名
B. 对象名
C. 函数名
D. C++的关键字
解析:c++有四个预定义的流对象:cin标准输,cout标准输出,CelT标准出错信息输出,clog带缓冲的标准出错信息输出。
13.有如下程序:
#include<iostream>
using namespace std;
class Sample
{
friend long>>fun(Sample s);
public:
Sample(long a){x==a;}
private:
};
long fun(Sample s)
{
if(s.x<2)return 1:
return s.X*fun(Sample(s.x-1)):
}
int main()
{
int sum=0;
for(int i=0;i<6;i++){sum+=fun(Sample(i));}
return 0;
}
运行时输出的结果是( )。(C)
A. 120
B. 16
C. 154
D. 34
解析:此题考查的是友元函数和递归函数。因为fun函数是Sample类的友元函数,所以fun函数可以直接访问Sample类对象的私有成员x。主函数调用fun函数,构造参数为0~5。当n小于2时,fun函数返回1,其余返回值为n*fun(n-1)。n取0~5的值时fun(n)依次为1,1,2,6,24,120,累加结果为154。
14.下列有关内联函数的叙述中,正确的是( )。(C)
A. 内联函数在调用时发生控制转移
B. 内联函数必须通过关键字inline来定义
C. 内联函数是通过
本文档预览:3600字符,共5995字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载