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

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

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

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

选择题

1.在软件开发中,需求分析阶段产生的主要文档是( )。(B)

A. 可行性分析报告

B. 软件需求规格说明书

C. 概要设计说明书

D. 集成测试计划

解析:A错误,可行性分析阶段产生可行性分析报告。c错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,软件需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

2.支持子程序调用的数据结构是( )。(A)

A. 栈

B. 树

C. 队列

D. 二叉树

解析:栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,要首先保存主函数当前的状态,然后转去执行子函数,把子函数的运行结果返回到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。

3.下列关于线性链表的叙述中,正确的是( )。(C)

A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C. 进行插入与删除时,不需要移动表中的元素

D. 以上都不正确

解析:线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

4.某系统总体结构图如下图所示:

(C)

A. 7

B. 6

C. 3

D. 2

解析:这个系统总体结构图是一棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共3层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为3。

5.设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为( )。(B)

A. 8

B. 7

C. 6

D. 5

解析:深度为m二叉树其总结点数为2 m -1=2 4 -1=15。总结点数减去度为1,2,3,4的结点个数就是叶子结点数。15-4-2-1-1=7。

6.设一棵完全二叉树共有700个结点,则此二叉树中的叶子结点数为( )。(D)

A. 85

B. 120

C. 250

D. 350

解析:①具有n个结点的完全二叉树的深度为[long 2 n]+1,计算出该完全二叉树的深度为10。

②设度为0的结点(即叶子结点)为n 0 ,度为1的结点为n 1 ,度为2的结点为n 2 ,总结点数为n,深度为k。n=n 1 +n 2 +n 0 ,由于n 0 =n 2 +1则n 2 =n 0 -1,故n=n 1 +n 0 -1+n 0 =n 1 +2n 0 -1。由于完全二叉树中度为1的结点数只有两种可能:0或1。

③假设度为1的结点数为0即满二叉树,根据满二叉树的定义,其2 m -1个结点,根据以上计算所得的深度10来计算,应有2 10 -1=1024-1=1023个结点,显然与题目中700个结点不符。因此,度为1的结点数必然为1。

故n=n 1 +2n 0 -1=1+2n 0 -1=2n 0 ,则n 0 =n/2=700/2=350。

7.设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。该树中度为3的结点数为(B)

A. 1

B. 2

C. 3

D. 不可能有这样的树

解析:树的度是指一棵树中,最大的结点的度称为树的度。本题中树的度为3,那么树中最少有一个结点的度为3。而树中没有度为2的结点,叶子结点数为5,度为1的结点下面只有一个叶子结点。因此,该树中含2个度为3的结点满足题目要求。

8.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。

B

解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A)和选项C),选项D)是整数集合,所以也排除。

9.有如下程序:

#include<iostream.h>

void main()

{

char str[2][5]={’’1234’’,’’5678’’},*p[2];

int i,j,s=0;

for(i=0;i<2;i++)p[i]=str[i];

for(i=0;i<2;i++)

for(j=0;p[i][j]>’\0’;j+=2)

s=10*s+p[i][j]-’0’;

cout<<s;

}

该程序的输出结果是( )。(A)

A. 1357

B. 2468

C. 3556

D. 23678

解析:程序中的“for(i=0;i<2;i++)p[i]=str[i];”语句将str中的值赋值给指针数组p。在接下来的二重for循环中,跳取“j+=2”,p指针指向的值即“1”,“3”,“5”,“7”。在分别对字符到整型的转换,即减去字符’0’,然后依次转换为千位,百位,十位,个位“10*s”操作输出整型s,即“1357”。

10.有三个关系R、S和T如下:

(B)

A. 自然连接

B. 差

C. 交

D. 并

解析:由三个关系R、S和T的结构可以知道,关系T是由关系R、S经过差运算得到的。

11.)有如下程序

#include

using namespace std;

class A{

public:

virtual void func1(){cout<<\\(C)

A. B1B2

B. A1A2

C. B1A2

D. A182

解析:此题考查的是虚函数的概念。此题中,func1是虚函数,func2是一般成员函数,而且在派生类与基类中都存在两个这样的函数。在主函数中,语句A*p=new B;定义了一个基类的指针p,并让它指向一个派生类对象。所以通过该指针调用func1时,运行的是派生类的版本,而通过该指针调用func2运行的是基类的版本

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号