国家二级(C++)机试模拟试卷252
选择题
1.下面关于数据库三级模式结构的叙述中,正确的是( )。(B )
A. 内模式可以有多个,外模式和模式只有一个
B. 外模式可以有多个,内模式和模式只有一个
C. 内模式只有一个,模式和外模式可以有多个
D. 模式只有一个,外模式和内模式可以有多个
解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。一个数据库可以有多个外模式,但只有一个模式和一个内模式。
2.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(A)
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
解析:快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。
3.有如下程序:
#include
using namespace std;
int main()
{
void function(double val);
double val;
function(val);
cout<<val;
return 0;
}
void function(double val)
{
val:3;
}
编译运行这个程序将出现的情况是( )。(D)
A. 编译出错,无法运行
B. 输出:3
C. 输出:3.0
D. 输出一个不确定的数
解析:本题考查函数调用及传值方式传递参数,执行函数function时,并没有将3的值传回来,而val义没有初始化,所以会输出一个不确定的值,D选项正确。
4.数据流图中带有箭头的线段表示的是( )。(D)
A. 控制流
B. 事件驱动
C. 模块调用
D. 数据流
解析:数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
5.有如下程序:
#include
using namespace std;
class A {
public:
virtual void func1(){cout<<\\(C)
A. B1B2
B. A1A2
C. B1A2
D. A1B2
解析:本题考查虚函数。虚函数指在基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。题中定义了一个派生类对象B,并使用类A的对象指针指向B,由于基类A中的func1为虚函数,所以会执行派生类的func1,输出B1,而基类中的func2不是虚函数,所以p->func2()会执行基类的func2,输出A2。故答案为C。
6.数据结构中,与所使用的计算机无关的是数据的( )。(C)
A. 存储结构
B. 物理结构
C. 逻辑结构
D. 线性结构
解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
7.支持子程序调用的数据结构是( )。(A)
A. 栈
B. 树
C. 队列
D. 二叉树
解析:栈支持子程序调用.。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A。
8.有以下程序,输出结果( )。
#include
using namespace std;
class Complex
{
public:
Complex(double r=0,double i=0):re(r),im(i){}
double realoconst{retum re;}
double imagOconst{return im;}
Complex operator+(Complex c)const(C )
A. 6+i
B. 2i+5
C. 6+1i
D. 1i+5
解析:由主函数入手,调用“Complex a=Complex(1,1)+Complex(5);\\
9.有如下类定义:
class AA{
int a;
Public:
AA(int n=0)-a(n){}
};
class BB:public AA{
public:
BB(int n)
};
其中横线处的缺失部分是( )。
B
解析:本题考查公用继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的成员函数来对它赋值,成员变量默认的访问权限为私有,即a为私有变量。所以本题答案为B。
10.有如下类定义:
class AA{
int a;
Public:
AA(int n=0):a(n){}
};
class BB:public AA{
public:
BB(int n)——
};
其中横线处的缺失部分是( )。
B
解析:本题考查公用继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的成员函数来对它赋值,成员变量默认的访问权限为私有,即a为私有变量。所以本题答案为B。
11.( )使一个函数可以定义成对许多不同数据类型完成同一个任务。(A )
A. 函数模板
B. 重载函数
C. 递归函数
D. 模板函数
解析:函数模板是一系列相关函数的模型或样板,这些函数的源代码形式相同,只是所针对的数据类型不同。因此,函数模板使一个函数可以定义成对许多不I叫数据类型完成同一个任务。
12.在下列关键字中,不能用来表示继承方式的是( )。(B)
本文档预览:3600字符,共16145字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载