国家二级C++机试(选择题)模拟试卷383
选择题
1.假定My Class为一个类,那么下列的函数说明中,( )为该类的析构函数。(D)
A. void~MyClass();
B. ~MyClass(int n);
C. MyClass();
D. ~MyClass();
解析:C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass()。
2.若有以下定义,说法错误的是( )。
int a=100,*p=&a;(D)
A. 声明变量p,其中*表示p是一个指针变量
B. 变量P经初始化,获得变量a的地址
C. 变量p只可以指向一个整型变量
D. 变量o的值为100
解析:p是一个指针,用来存储a变量的地址,而100是存储在该地址的一个值用p表示的为*p。
3.下列选项中不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。
4.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。(A)
A. ios―base::cur
B. ios―base::beg
C. ios―base::out
D. ios―base::end
解析:streamoff定义于iostream.h中,定义有偏移量offset所能取得的最大值,seek―dir表示移动的基准位置,是一个有以下值的枚举:ios::beg:(文件开头)、ios::cur:(文件当前位置)、ios::end:(文件结尾)。
5.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(A)
A. 学生成绩管理系统
B. C语言编译程序
C. UNIX操作系统
D. 数据库管理系统
解析:学生成绩管理系统为应用软件。
6.下列结构中为非线性结构的是(A)
A. 树
B. 向量
C. 二维表
D. 矩阵
解析:线性结构是一个有序数据元素的集合。常用的线性结构有:线性表,栈,队列,双队列,数组,串。常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。
7.软件需求规格说明书的作用不包括( )。(D)
A. 软件验收的依据
B. 用户与开发人员对软件要做什么的共同理解
C. 软件设计的依据
D. 软件可行性研究的依据
解析:软件规格说明书主要有三个作用:①用户和软件开发人员之间的合同;②开发人员进行设计和编程的依据;③软件工程项目验收的依据。
8.下列描述中正确的是( )。(A)
A. 软件测试的主要目的是发现程序中的错误
B. 软件测试的主要目的是确定程序中错误的位置
C. 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D. 软件测试是证明软件没有错误
解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。
9.关于this指针的说法不正确的是( )。(D)
A. 不能在程序中修改this指针
B. this指针可以给其他指针赋值,但不能修改this指针
C. 静态成员函数中没有this指针
D. this指针可以被赋值
解析:this指针不能在程序中修改,不能被幅值;静态成员没有this指针,因为类中只有一个静态成员函数实例,使用this指针无意义。
10.若PAT是一个类,则程序运行时,语句“PAT{*ad)[3];”调用PAT的构造函数的次数是( )。(A)
A. 0
B. 1
C. 2
D. 3
解析:语句“PAT(*ad)[3]”定义了含有3个元素的指向类PP/T类型的指针数组ad。
11.在数据库系统中,用户所见的数据模式为( )。(B)
A. 概念模式
B. 外模式
C. 内模式
D. 物理模式
解析:用户所见到的数据模式是外模式也称用户模式。它是用户的数据视图,它由概念模式导出。一个概念模式可以有若干个外模式,每个用户只关心与它有关的外模式,这样不仅可以屏蔽大量无关信息,而且有利于数据维护。
12.有三个关系R、S和T如下:
(B)
A. 自然连接
B. 差
C. 交
D. 并
解析:由三个关系R、S和T的结构可以知道,关系T是由关系R、S经过差运算得到的:
13.有三个关系R、S和T如下:
(D)
A. 自然连接
B. 并
C. 交
D. 差
解析:由关系T中的数据可以看出,其数据由属于关系R但是不属于关系S的数据组成。所以关系T是由关系R和S通过差运算得到的。
14.下列关于虚函数的叙述中,正确的是( )。(A)
A. 虚函数不得是静态成员函数
B. 从虚基类继承的函数都是虚函数
C. 只能通过指针或引用调用虚函数
D. 抽象类中的成员函数都是虚函数
解析:本题考查虚函数,在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数称为虚函数,虚函数必须是基类的非静态成员函数,非类的成员函数不能定义为虚函数,类的成员函数中静态成员函数和构造函数,不能定义为虚函数,但可以将析构函数定义为虚函数。所以,A选项正确。
15.下列关于this指针的叙述中,正确的是( )。(D)
A. 任何与类相关的函数都有this指针
B. 类的成员函数都有this指针
C. 类的友元函数都有this指针
D. 类的非静态成员函数才有this指针
解析:this指针是成员函数所属对象的指针,它指向类对象的地址:它隐含于每个类的非静态成员函数中;this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象;静态成员函数没有this指针,因为类中只有一个静态成员函数实例,使用this指针无意义。
16.有如下程序段:
int i=4; int j=1;
int main(){
int i=8, j=i;
cout<<i<<j<<end1;
}
运行时的输出结果是( )。(C)
A. 44
B. 41
C. 88
D. 81
解析
本文档预览:3600字符,共10652字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载