则由关系R和S得到关系T的操作是( )。
A.自然连接B.差C.交D.并
参考答案:B
参考解析:关系T中的元组是R关系中有而S关系中没有的元组的集合,所以进行的是差的运算。
23有如下程序:
#include
using namespace std;
class VAC{
public:
intf()const{return 3;}
int f(){retum 5;}
};
int main()
{
VAC vl;
const VAC v2;
cout<
return 0;
}
执行这个程序的输出结果是( )。
A.53B.35C.55D.33
参考答案:A
参考解析:本题考查常对象及常成员函数及构造函数,常埘象只能凋用常成员函数,所以本题中,对象v1为普通对象,执行v1.f()后,会执行默认构造函数,输出5,对象v2为常列象,执行v2.f()后,会执行常构造函数,输出3。
24一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A.一对一B.一对多C.多对一D.多对多
参考答案:B
参考解析:因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
25下列关于二叉树的叙述中,正确的是( )。
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍
D.度为2的结点数是度为1的结点数的两倍
参考答案:B
参考解析:根据二叉树的基本性质3:在任意一棵:二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。
26有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)( )。
int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))
参考答案:D
参考解析:选项D第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。
27下列程序的运行结果为( )。
#include
void print(double A.
{
cout<<++a:
}
void print(int atint B.
{
cout<
}
void main()
{
print(1.2);
eout<<””:
print(3,4);
}
A.1.2 34B.2.2 34C.1.2 43D.2.2 43
参考答案:D
参考解析:本题考查的是对重载函数的掌握,因为++a是右结合的,所以a先自加1再输出,即为2.2,之后调用函数print(int a,int b)输出h和a,即43。
28存在定义int a[10],x,* pa;,若pa=&a[0],下列的( )选项和其他3个选项不是等价的。
A.x=*pa;B.x=*(a+1);C.x=*(pa+l)D.x=a[1];
参考答案:A
参考解析:本题考查的是数组和指向数组的指针之问的关系,选项A中x是被数组a的第一个元素赋值,其余的都是被数组a的第二个元素赋值。
29下列叙述中正确的是( )。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
参考答案:D
参考解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中需要队头指针与队尾指针来共同反映队列中元素的动态变化情况,所以B与C错误。
30通常拷贝构造函数的参数是( )。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
参考答案:C
参考解析:复制初始化构造函数的作用是用一个已知的对象来初始化一个被创建的同类的对象,该函数只有一个参数,并且是对同类的某个对象的引用。
31如果在表达式++x/y中,“++”是作为友元函数重载的,“/”是作为成员函数重载的,则该表达式还可为( )。
A.(operator++(x)).operator/(Y)
B.(operator++(0)).operator/(Y)
C.operator/((operator++(x,0)),Y)
D.operator/((operator++(0)),Y)
参考答案:A
参考解析: c++中用成员函数重载++X为:x.oper-ator++(),用友元函数重载++x为:0perator++(x),用成员函数重载x/y为:x.operator/(Y),用友元函数重载x/y为:operator/(X,Y)。
32一个函数功能不太复杂但要求被频繁调用,应选用( )。
A.内联函数B.重载函数C.递归函数D.嵌套函数
参考答案:A
参考解析:本题考查的是内联函数的使用,它的引入是为了,解决程序中函数调用的效率问题,在编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来替换。
33数据库应用系统中的核心问题是( )。
A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训
参考答案:A
参考解析:数据库应用系统中的核心问题是数据库的设计。
34有如下程序: Class Base{ publiC:
int data; };
Class Derivedl:publiC Base{};
Class Derived2:proteCted Base{};
int main( ) {
Derivedl dl; Derived2 d2; dl.data=0;//①