国家二级C++机试(选择题)模拟试卷444
选择题
1.下列描述中正确的是( )。(A)
A. 线性链表是线性表的链式存储结构
B. 栈与队列是非线性结构
C. 双向链表是非线性结构
D. 只有根结点的二叉树是线性结构
解析:线性表的链式存储结构称为线性链表。线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一结点的指针HEAD称为头指针,当HEAD=NULL时称为空表。栈、队列和双向链表是线性结构,树是一种简单的非线性结构。在树这种数据结构中,所有数据元素的关系具有明显的层次特征。二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。
2.下列与队列结构有关联的是( )。(D)
A. 函数的递归调用
B. 数组元素的引用
C. 多重循环的执行
D. 先到先服务的作业调度
解析:队列中最先插入的元素将最先被删除,最后插入的元素将最后被删除。
3.关于运算符重载,下列表述中正确的是( )。(C)
A. C++已有的任何运算符都可以重载
B. 运算符函数的返回类型不能声明为基本数据类型
C. 在类型转换符函数的定义中不需要声明返回类型
D. 可以通过运算符重载来创建C++中原来没有的运算符
解析:重载运算符的规则如下:①c++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;②C++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是C++的标准类型。故本题答案为C。
4.下列选项中不属于结构化程序设计方法的是( )。(D)
A. 自顶向下
B. 逐步求精
C. 模块化
D. 可复用
解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。自顶向下是指程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。可复用性是指软件元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不属于结构化程序设计方法。
5.下列描述中正确的是( )。(A)
A. 软件交付使用后还需要再进行维护
B. 软件工具交付使用就不需要再进行维护
C. 软件交付使用后其生命周期就结束
D. 软件维护是指修复程序中被破坏的指令
解析:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。
6.有如下程序:
#include
using namespace std;
class Point{
int x,y;
public:
Point(int x1=0,int y1=0):x(x1),y(y1){}
int get(){return x+y;}
};
class Circle{
Point center;
int radius;
public:
Circle(int CX,int cy,int r):center(cx,cy),radius(r){}
int get(){return center.get()+radius;}
};
int main(){
Circle c(3,4,5);
cout<<c.get()<<end1;
return ();
}
运行时的输出结果是( )。(D)
A. 5
B. 7
C. 9
D. 12
解析:根据类Point和类Circle的定义可知,类Circle的实例c(3,4,5)的成员函数c.get()返回值为3+4+5=12。
7.在数据库系统中,用户所见的数据模式为( )。(B)
A. 概念模式
B. 外模式
C. 内模式
D. 物理模式
解析:用户所见到的数据模式是外模式也称用户模式。它是用户的数据视图,它由概念模式导出。一个概念模式可以有若干个外模式,每个用户只关心与它有关的外模式,这样不仅可以屏蔽大量无关信息,而且有利于数据维护。
8.有三个关系R、S和T如下:
(D)
A. 并
B. 自然连接
C. 笛卡尔积
D. 交
解析:关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组组成的,记为R∩S。
9.有三个关系R、S和T如下:
(A)
A. 自然连接
B. 交
C. 投影
D. 并
解析:在实际应用中,最常用的连接是一个叫自然连接的特例。它满足下面的条件:两关系间有公共域;通过公共域的相等值进行连接。通过观察三个关系R,S.T的结果可知关系T是由关系R和S进行自然连接得到的。
10.有如下类声明:
class MyBASE
{int k;
public:
void set(int n){k=n;}
int get()const{return k;}
};
class MyDERIVED:protected MyBASE
{protected:
int j;
public:
void set(int m,int n){MyBASE::set(m);j=n;}
int get()const{return MyBASE::get()+j;}
};
则类MyDERIVED中保护的数据成员和成员函数的个数是( )。(B)
A. 4
B. 3
C. 2
D. 1
解析:因为在保护继承的情况下,基类中的公有成员void set(int n)和int get()const在派生类中是保护
本文档预览:3600字符,共8229字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载