2015年计算机二级《C++》考前冲刺试卷
C.重载函数的返回值类型必须不同
D.重载函数的参数可以带有默认值
参考答案:C
参考解析:此题考查的是函数重载的概念。在C++语言中,允许定义一系列函数名相同,但形参的个数和类型不完全相同的函数,即函数的重载。重载函数对返回值类型不做要求,返回值类型也不参与区分函数的重载形式。故选项C)错误。
2两个或两个以上模块之间联系的紧密程度称为( )。
A.耦合性B.内聚性C.复杂性D.数据传输特性
参考答案:A
参考解析:耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。
【知识拓展】模块的独立程序是评价设计好坏的一个重要标准,衡量软件的模块独立性有两个定性的度量标准。其中内聚性是指一个模块内部各个元素问彼此结合的紧密程度的度量,内聚性是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度最,耦合性从整体的角度来度量模块间的联系。
3
A)n=4
n=3
B)n=1
n=2
C)n=3
n=4
D)n=5
n=6
参考答案:A
参考解析:
4已知一棵二叉树的先根序列为ABCDEFK,中根序列为DGBAFCK,则结点的后根序列为( )。
A.ACFKDBGB.GDBFKCAC.KCFAGDBD.ABCDFKG
参考答案:B
参考解析:通过两种树的遍历序列来推断第三种树的遍历时,反复利用前序和中序遍历的性质,就可以确定二叉树,具体:前序遍历的第一个结点A为树的根结点。中序遍历中A左边的结点在A的左子树中,A的右边的结点在A的右子树中。再分别对A的左右子树进行前丽步骤重复处理,直到每个结点都找到正确的位置。
具体:前序遍历的第一个结点A为树的根结点。中序遍历中A左边的结点在A的左子树中,A的右边的结点在A的右子树中。再分别对A的左右子树进行前面步骤重复处理,直到每个结点都找到正确的位置。
5下列叙述中错误的是( )。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
参考答案:C
参考解析:线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以C是错误的。
6下列的方法中,不属于软件调试技术的是( )。
A.强行排错法B.集成测试法C.回溯法D.原因排除法
参考答案:B
考解析:调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。
7下列关于派生类构造函数和析构函数的说法中,错误的是( )。
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
参考答案:D
参考解析:此题考查的是派生类的构造函数和析构函数。在撤销派生类对象时,析构函数的执行过程和构造函数严格相反,即:对派生类新增普通成员进行清理;调用成员对象析构函数,调用基类析构函数对基类进行清理。
8在C++中,实现封装性需借助于( )。
A.枚举B.类C.数组D.函数
参考答案:B
参考解析:
9下列有关指针的用法中,错误的是( )。
A.
B.
C.
D.
参考答案:B
参考解析:
10以下程序的输出的结果是( )。
A.20B.21C.22D.23
参考答案:B
参考解析:
11设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。
A.23,13,51,57,66,26,81,69,76
B.13,23,26,51,57,66,81,76,69
C.23,13,51,57,26,66,81,69,76
D.23,13,51,57,81,26,66,69。76
参考答案:C
参考解析:快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。
12数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.没有任何关系
参考答案:C
参考解析:数据库系统(DBS)由数据库(DB)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台5个部分组成,可见DB和DBMS都足DBS的组成部分。
下列函数的运行结果是( )。
A.25B.30C.20D.15
参考答案:A
参考解析:
14
A.4,6B.3,6C.4,7D.5,7
参考答案:D
参考解析:
15下面的说法中错误的是( )。
A.公有继承的基类中public成员在派生类中仍是public
B.私有继承的基类中public成员在派生类中是private
C.公有继承的基类中private成员在派生类中仍是private
D.保护继承的基类中public成员在派生类中是protected
参考答案:C
参考解析:类的继承方式有公有继承、保护继承和私有继承三种方式。对于公有继承基类中的成员访问属性不变,对于保护和私有继承基类中的成员转换为相应的访问类型。但是若基类成员的访问属性为private的,则不能被继承。
16在每个C++程序中必须有且仅有一个( )。
A.函数B.主函数C.预处理指令D.语句
参考答案:B
参考解析:
17下面关于运算符重载中正确的是( )。
A.运算符函数的返回类型不能声明为基本数据类型
B.C++的所有运算符都可以重载
C.在类型转换符函数的定义中不需要声明返回类型
D.通过运算符重载可以定义C++中没有的运算符
参考答案:C
参考解析:
18
A.232B.221C.222D.231
参考答案:B
参考解析:
19在一棵二叉树上,第4层最多有几个结点( )。
A.8B.16C.32D.15
参考答案:A
参考解析:根据二叉树的性质:二叉树第 i (i >=1)层上至多有2i-1个结点。由该性质得到 第 4 层最多有 8 个结点数。第19题 笔记记录我的笔记(0) | 精选笔记(7)选择笔记标签:试题内容(7)答案解析(0)
20
参考答案:D
参考解析:由于“\”在C++中用来定义转义字符,所以必须对文件名字符串中的“\”进行转义,所以只有选项D)不正确。第20题 笔记记录我的笔记(0) | 精选笔记(1)选择笔记标签:试题内容(1)答案解析(0)
21下列语句中,错误的是( )。
A.
B.
C.
D.
参考答案:B
参考解析:符号常量声明语句的语法格式是:const类型名符号常量=初值表达式,选项B)中未给常变量赋初值,故错误;而选项C)中定义的是一个指向浮点型常量的指针,而不是定义一个浮点型常量,所以可以不赋初值。
22
A.4,10B.4,6C.0,6D.0,4
参考答案:A
参考解析:
23算法的时间复杂度是指( )。
A.执行算法程序所需要的时间
B.算法程序的长度C.算法执行过程中所需要的基本运算次数
D.算法程序中的指令条数
参考答案:C
参考解析:
【解析】所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
24
参考答案:C
参考解析:
25下面叙述错误的是( )。
A.派生类可以使用private派生
B.对基类成员的访问必须是无二义性的
C.基类成员的访问能力在派生类中维持不变
D.赋值兼容规则也适用于多继承的组合
参考答案:C
参考解析:在建立派生类的时候,并不是简单地把基类的私有成员直接作为派生类的私有成员,把基类的公用成员直接作为派生类的公用成员。涉及如何确定基类的成员在派生类中的访问属性问题,不仅要考虑对基类成员所声明的访问属性,还要考虑派生类所声明的对基类的继承方式,根据这两个因素共同决定基类成员在派生类中的访问属性。所以本题选择C.。
26已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为( )。
A.1B.2C.3D.9
参考答案:B
参考解析:根据二分法查找法需要两次:①首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找。②第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。
27以下关于栈的描述中错误的是( )。
A.栈是先进后出的线性表
B.栈只能顺序存储
C.栈具有记忆作用
D.对栈的插入与删除操作中,不需要改变栈底指针
参考答案:B
参考解析:栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。
28以下程序的输出的结果是( )。
A.3,3B.2,2C.2,6D.2,5
参考答案:C
参考解析:
29
A.42,42B.23,23C.23,42D.42,23
参考答案:B
参考解析:
【解析】此题考查的是函数的调用以及参数值的传递。函数fun中的第一个参数是引用传值方式,是双向的;第二个参数是按值传递,是单向的。
30下面关于面向对象的程序设计方法中,正确的是( )。
A.“多态性”是指对象的状态根据运行的要求进行变化
B.“封装性”是指将不同类型的数据结合在一起作为一个整体来处理
C.在面向对象的程序设计中,结构化程序设计方法仍有着重要作用
D.基类的私有成员在派生类的对象中不可访问,也不占内存空间
参考答案:C
参考解析:
31
A.
B.
C.
D.
参考答案:A
参考解析:
32下面关于数据库三级模式结构的叙述中,正确的是( )。
A.内模式可以有多个,外模式和模式只有一个
B.外模式可以有多个,内模式和模式只有一个
C.内模式只有一个,模式和外模式可以有多个
D.模式只有一个,外模式和内模式可以有多个
参考答案:B
参考解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。一个数据库可以有多个外模式,但只有一个模式和一个内模式。
33
A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE
参考答案:D
参考解析:
34多继承的构造顺序可分为如下四步:
①所有非虚基类的构造函数按照它们被继承的顺序构造
②所有虚基类的构造函数按照它们被继承的顺序构造
③所有子对象的构造函数按照它们声明的顺序构造
④派生类自己的构造函数体
这四个步骤的正确顺序是( )。
A.④③①②B.②④③④C.②①③④D.③④①②
参考答案:C
参考解析:多继承派生类的构造顺序是:首先调用虚基类的构造函数,然后调用非虚基类的构造函数按照它们被继承的顺序构造,其次调用子对象的构造函数,最后是派生类构造函数中的内容。
35下列叙述中正确的是( )。
A.线性链表的各元素在存储空间中的位置必须是连续的
B.线性链表的头元素一定存储在其他元素的前面
C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面
D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的
参考答案:D
参考解析:在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后件关系。
二、填空题
36
参考解析:
37用树形结构表示实体之间联系的模型是__________。
参考解析:
层次模型
【解析】层次模型是最早发展起来的数据库模型。层次模型的基本结构是树形结构。
38在关系代数运算中,_____操作会消去关系中的某些列并删去重复的元组。
参考解析:
投影
【解析】对关系的投影操作是从关系中选择若干属性列组成新的关系。实际上是对关系垂直分割,删去重复的元组。
39非成员函数应声明为类的__________函数才能访问这个类的private成员。
参考解析:
友元
【解析】此题考查的是友元函数。一个类的私有成员和保护成员,只能由其本身的成员来访问,不能被其他函数访问。但是如果想让类中的数据成员可以被其他函数访问,可以通过友元函数声明来分享类中的数据资源。
40C++中只有两个逻辑常量:true和__________。
参考解析:
false
【解析】此题考查的是逻辑常量。在C++语言中只有两个逻辑常量:true和false。故本题应填入false。
41含有纯虚函数的类称为_____。
参考解析:
抽象类
【解析】C++中拥有纯虚函数的类成为抽象类,抽象类不能用来定义对象。若一个抽象类的派生类没有重定义其基类中的某个纯虚函数,则该函数在派生类中仍是纯虚函数,该类仍为抽象类。
42给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是__________。
参考解析:
43
参考解析:
44
参考解析:
将字符串首尾颠倒
45数据的逻辑结构在计算机存储空间中的存放形式称为数据的__________。
参考解析:
模式或逻辑模式或概念模式
【解析】模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
46数据管理技术的发展经历了人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是__________。
参考解析:
数据库系统
【解析】在人工管理阶段,数据无法共享、冗余度大,完全依赖于程序;在文件系统阶段,数据共享性差;而数据库系统具有三级模式及二级映射的抽象结构系统,从而保证了数据独立性的实现。
47
参考解析:
48
参考解析:
49若下面程序运行时输出结果为:
1,A,10.1
2,B,3.5
请将程序补充完整。
#include
using namespace std;
int main()
{
void test(int,char,double );
test(1,'A',10.1);
test(2,'B');
return 0;
}
void test(int a,char b,double c)
{
cout<
}
参考解析:本题考查了函数默认参数的应用。本题中第一次调用test()函数数值1,A,10.1;第二次调用少了一个实参,却要求输出 2,B,3.5,由此分析,应将test()函数的第三个参数声明为默认参数。且默认为3.5,才能达到要求的输出结果。故应填入=3.5或者c=3.5。
50
参考解析:20
【解析】主函数中定义TestClass4的对象obj。TestClass4虽然公有继承于TestClass2,但是x在其中为私有,所以无法访问。TestClass4保护继承于TestClass3,TestClass3中的x=20为公有成员数据,对象obj可以访问这个数据,即输出为20。