国家二级(C++)机试模拟试卷521
选择题
1.以下程序的输出的结果是( )。
#include
voidmain0
{
int,k,a[10],p[3];
k=5;
for(i=0;i<9;i++)a[i]=i;
for(i=0;i<3;i++)p[i]=a[i*(i+1)];
for(i=0;i<3;i++)k+=p[i]*2;
cout<<k;
}(B )
A. 20
B. 21
C. 22
D. 23
解析:程序中首先在第一个‘for循环中将数组a每一个元素赋值为0,1,2,……。然后在第二个循环中数组p的第i元素为a中的第i*(i+1),即0,2,6,第三个循环中数组p中的每个元素值乘以2,然后加上5,累加。
2.下列运算符不能重载为友元函数的是( )。(A)
A. =()( ) ->
B. + – ++ —
C. > = <=
D. += -= *= /=
解析:关于运算符重载为友元函数有如下规定:①一般情况下,单目运算符最好重载为类的成员函数,双目运算符则最好重载为类的友元函数;②双目运算符“=、()、[]、->”不能重载为类的友元函数。所以本题答案为A。
3.若变量都已正确说明,则以下程序段的输出结果是( )
a=2;b=3;printf(a>b?”***a=%dt\\(C)
A. 没有正确的输出格式控制
B. 输出为:***a=2
C. 输出为:###b=2
D. 输出为:***a=2###b=2
解析:本题实际上是考查C语言中的格式化输入输出知识,同时本题也考查了三目表达式的知识。如果逻辑表达式为真,则执行冒号之前的,否则执行冒号之后的表达式。
4.下列关于虚函数的说明中,正确的是( )。(B)
A. 从虚基类继承的函数都是虚函数
B. 虚函数不得是静态成员函数
C. 只能通过指针或引用调用虚函数
D. 抽象类中的成员函数都是虚函数
解析:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public。如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为B。
5.以下关键字不能用来声明类的访问权限的是( )。(B)
A. public
B. static
C. protected
D. private
解析:类的成员访问权限有3种:public(公用)、protected(保护)、private(私有)。
6.有如下程序:
#include
using namespace std;
classA
{
public:
AO{cout<<\\(A)
A. ABC
B. BAC
C. ACB
D. CBA
解析:C++程序中的执行子类,首先执行基类的构造函数,然后执行数据成员类的构造函数,最后执行子类本身的构造函数,所以输出结果为ABC。
7.下列有关函数重载的叙述中,错误的是( )。(C)
A. 函数重载就是用相同的函数名定义多个函数
B. 重载函数的参数列表必须不同
C. 重载函数的返回值类型必须不同
D. 重载函数的参数可以带有默认值
解析:所谓函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数参数的类型不同,还允许参数的个数不同,但不能只有函数的返回值类型不同而参数的个数和类型相同的重载。所以本题答案为C。
8.在关系A(S,SN,E)和关系B(E,CN,NM)扣,A的主关键字是S,B的主关键字是E,则关系A的外码是( )。(D)
A. S
B. SN
C. NM
D. E
解析:外码用于建立和加强两个关系之间的连接,通过将关系中主键值的一列或多列属性添加到另一个关系中,可建立两个关系之间的联系,这个列属性称为第二关系的外码。
9.)下列程序的输出结果是( )。
#include
using namespace std;
template
T fun(r a,T b){return(a<=b)?a:b;}
intmain()
{
cout<<fun(3,6)<<’,’<<fun(3.1 4F,6.28F)<<endl;
return 0:
}(B )
A. 0,3.14
B. 3,3.14
C. 3,3
D. 3.14,3.14
解析:此函数模板的功能是输出a、b两数中较小的那个数。(3,6)输出3,(3.14F,6.28F)输出3.14。
10.在E-R图中,用来表示实体联系的图形是( )。(C)
A. 椭圆形
B. 矩形
C. 菱形
D. 三角形
解析:在E-R图中实体集用矩形,属性用椭圆,联系用菱形。
11.关系模型允许定义3类数据约束,下列不属于数据约束的是( )。(C)
A. 实体完整性约束
B. 参照完整性约束
C. 属性完整性约束
D. 用户自定义的完整性约束
解析:关系模型允许3类数据约束,它们是:
实体完整性约束:该约束要求关系的主键中属性值不能为空值,这是数据库完整性的最基本要求。
参照完整性约束:该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么就为空值。
用户定义的完整性约束:用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
12.( )使一个函数可以定义成对许多不同数据类型完成同一个任务。(A )
A. 函数模板
B. 重载函数
C. 递归函数
D. 模板函数
解析:函数模板是一系列相关函数的模型或样板,这些函数的源代码形式相同,只是所针对的数据类型不同。因此,函数模板使一个函数可以定义成对许多不I叫数据类型完成同一个任务。
13.下列有关继承和派生的叙述中,正确的是( )。(C)
A. 派生类不能访问基类的保护成员
B. 作为虚基类的类不能被实例化
C. 派生类应当向基类的构造函数传递参数
D. 虚函数必须在派生类中重新实现
解析:派生类可以访问基类的保护成员,而不能访问基类的私有成员。作为虚基类的类可以被实例化。虚函数如果没有派生类中重新实现,那么仍然使用基类的成员函数。
14.下列语句中,正确的是(B)
A. charstr=\
本文档预览:3600字符,共17757字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载