2015年计算机二级《C++》考前冲刺模拟试卷(2)
24
A.
B.
C.
D.
参考解析:
25有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。
A.并B.自然连接C.笛卡尔积D.交
参考答案:D
参考解析:
26
A.
B.
C.
D.
参考答案:A
参考解析:
27以下关于数据的逻辑结构的叙述中,不正确的是( )。
A.数据的逻辑结构是数据间关系的描述
B.数据的逻辑结构不仅反映数据间的逻辑关系,而且反映其在计算机中的存储方式
C.数据的逻辑结构分为线性结构和非线性结构
D.树形结构是典型的非线性结构
参考解析:数据的逻辑结构是数据间关系的描述,它仅抽象地反映数据间的逻辑关系,并不管其在计算机中的存储方式。数据的逻辑结构分为线性结构和非线性结构。若各数据元素之间的逻辑关系可以用一个线性序列简单地表示出来则称之为线性结构,否则称为非线性结构。线性表是典型的线性结构,而树形结构是典型的非线性结构。
【知识拓展】对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
28有3个结点的二叉树有( )。
A.2种形态B.4种形态C.7种形态D.5种形态
参考答案:D
参考解析:由三个结点组成的二叉树可以有五种形态,如下图所示。
29下列数据结构中,能用二分法进行查找的是( )。
A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性表
参考答案:A
参考解析:
30下面关于常成员函数的说法中正确的是( )。
A.常成员函数不能修改任何的数据成员
B.常成员函数只能修改一般的数据成员
C.常成员函数只能修改常数据成员
D.常成员函数只能通过常对象来调用
参考答案:A
参考解析:
31下列关于this指针的叙述中,正确的是( )。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
参考答案:D
参考解析:this指针是成员函数所属对象的指针,它指向类对象的地址;它隐含于每个类的非静态成员函数中;this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象;静态成员函数没有this指针,因为类中只有一个静态成员函数实例,使用this指针无意义。
32
A.
B.
C.
D.
参考解析:数组的下标是从0到数组的长度减1。
33下列关于函数模板的定义中,合法的是( )。
A.template class T abs(T z) {rerun z<0 ? -z:z;}
B.template T abs(T z) {return z<0 ? -z:z;}
C.template Tabs(T z){return z<0 ? -z:z;}
D.template T abs(T z) {return z<0 ? -z:z;}
参考解析:
解析:声明一个函数模板格式是:template<模板形参表声明><函数声明>
其中<模板形参表声明>是由一个或多个<模板形参>组成(如果是多个需要用逗号隔开)。
其中,<模板形参>可以换成 class,函数的声明部分和一般函数的声明部分类似,只有某些类型修饰符被虚拟类型参数替代。
34以下数据结构中,不属于线性数据结构的是( )。
A.队列B.线性表C.二叉树D.栈
参考答案:C
参考解析:栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,因此栈又称后进先出表或先进后出表;队列可看作是插入在一端进行,删除在另一端进行的线性表,因此队列又称先进先出表或后进后出表。二叉树不属于线性结构。 ’
35
A.yB.yxC.xyD.yy
参考答案:C
参考解析:
二、填空题
36执行以下程序后,输出结果第二行的内容是__________。
参考解析:
37
参考解析:
38
参考解析:
数据流的类型有__________和事务型。
参考解析:
40指针数组是由__________构成的数组。
参考解析:
指针或指针变量
【解析】此题考查的是指针数组的概念。指针数组是由指针组成的数组,即数组中的每一个元素都是指向同一类型对象的指针。
41数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,_____是用户的数据视图,也就是用户所见到的数据模式。
参考解析:
外模式
【解析】数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。
42
参考解析:
43关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为___。
参考解析:
44下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top 值为0。栈元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板定义。
template
class Tstack {
enum{size=1000};
T stack[size];
int top;
public;
Tstack():top(0){}
void push(const T &i){
if(top
stack[top++]=i;
}
Tpop(){
if(top==0)exit(1);//栈空时,终止运行;
return ;
}
};
参考解析:
stack[--top] 或 stack[top-=1] 或 stack[top=top-1]
解析:此题考查的是堆堆栈数据结构。分析题目,首先利用函数 void push(const T &i)将 i 压入栈,然后Tpop()将元素弹出,但由于压入栈的时候,top值已经增加1;要弹出元素,须使top先减 1,才能把栈顶元素弹出。
45Jackson方法是一种面向_____的结构化方法。
参考解析:
数据结构
【解析】Jackson方法是一种结构化分析方法,它是一种面向数据结构的方法。
46测试分为白箱法和黑箱法,__________又称为逻辑覆盖测试。
参考解析:
47
参考解析:
48与二维表中的“行”的概念最接近的概念是__________。
参考解析:
元组
【解析】在关系模型中,数据结构用单一的二维表结构来表示实体及实体间的联系。一个关系对应一个二维表。二维表中的列称为属性,属性值的取值范围称为值域。二维表中的一行称为一个元组。