国家二级C++机试(选择题)模拟试卷234
选择题
1.下列叙述中正确的是(C)
A. 线性表链式存储结构的存储空间一般要少于顺序存储结构
B. 线性表链式存储结构与顺序存储结构的存储空间都是连续的
C. 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
D. 以上都不正确
解析:线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的。而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
2.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(D)
A. 3
B. 4
C. 6
D. 7
解析:根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,故该二叉树为7层,每层只有一个结点。
3.下列有关继承和派生的叙述中,正确的是( )。(D)
A. 如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员
B. 派生类的成员函数可以访问基类的所有成员
C. 基类对象可以赋值给派生类对象。
D. 如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
解析:如果派生类私有继承基类,不能访问基类中的私有成员,所以A)、B)是错误的。派生类是对基类的具体化,所以C)错误的。如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类,即选择D)。
4.有以下程序,输出结果( )。
#include<iostream>
using namespace std;
class Complex
{
public:
Complex(double r=0,double i=0):re(r),im(i){}
double realoconst{return re;}
double imagoconst{return im;}
Complex operator+(Complex c)const{returnComplex(re+c.re,im+c.im);}
private:
double re,im;
};
int main()
{
Complex a=Complex(1,1)+Complex(5);
cout<<a.real()<<’+’<<a.imag()<<’i’<<endl;
return0:
}(C)
A. 6+i
B. 2i+5
C. 6+1i
D. 1i+5
解析:由主函数入手,调用“Complex a=Complex(1,1)+Complex(5);”,实际是“Complex a=Complex(1,1)+Complex(5,0);”,调用“returnComplex(re+c.re,im+c.im):”结果为:6+1i。
5.下面不属于软件需求分析阶段主要工作的是( )。(A)
A. 需求变更申请
B. 需求分析
C. 需求评审
D. 需求获取
解析:在软件开发的过程中,应该尽早的制定测试计划,其中在需求分析阶段制定系统测试计划,在概要设计阶段制定集成测计划,在详细设计阶段制定单元测试计划。
6.下面不属于软件设计原则的是( )。(C)
A. 抽象
B. 模块化
C. 自底向上
D. 信息隐藏
解析:软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性和可验证性。
7.下列选项中不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
8.有三个关系R、S和T如下:
(C)
A. 自然连接
B. 交
C. 除
D. 并
解析:从关系R、S和T的结构可以得出关系T是由关系R、S经过除运算后得到的。
9.下列符号中,正确的C++标识符是( )。(D)
A. enum
B. 100bit
C. s—1
D. _int
解析:此题考查的是C++语言中标识符的概念。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符:标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。
10.软件测试的目的是(A)
A. 发现程序中的错误
B. 修改程序中的错误
C. 避免程序中的错误
D. 发现和修改程序中的错误
解析:软件测试的目的是:发现一些可以通过测试避免的开发风险;实施测试来降低所发现的风险;确定测试何时可以结束;在开发项目的过程中将测试看作是一个标准项目。
11.关键字unsigned不能修饰的类型是( )。(C)
A. char
B. int
C. float
D. long int
解析:实型常量指的是float和double两种数据类型,而signed和unsigned只对整型数起作用,用于确定它们的数据范围(例如16位系统中,一个signed int是-32768~32767,而unsigned int是0~65535)。unsigned对浮点数是无意义的。
12.在一个抽象类中,一定包含有( )。(B)
A. 虚函数
B. 纯虚函数
C. 模板函数
D. 重载函数
解析:拥有纯虚函数的类叫做抽象类,所以抽象类中必然包含有虚函数。
13.有如下程序:
#include
using namespace std;
class A{
public:
virtual void f(){cout<<1;}
void g(){cout<<2;}
};
class B:public A{
public:
virtual void f(){cout<<3;}
void g(){cout<<4;}
};
void show(A&a){a.f();a.g();}
int main(){
B b;
show(b);
return 0;
}
<本文档预览:3600字符,共7712字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载