一、选择题
1假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A.3B.6C.10D.20
参考答案:D
参考解析:x数组共有10个元素,在花括号内只提供3个初值,这表示只给前面的3个成员赋值,后7个元素的值为0,所以,一共有20个字节。
2有两个关系R,S如下:
由关系R通过运算得到关系s,则所使用的运算为( )。
A.选择B.投影C.插入D.连接
参考答案:B
参考解析:投影运算是指对于关系内的域指定可引入新的运算。本题中s是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B。
3对于循环队列,下列叙述中正确的是( )。
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:D
参考解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以队头指针有时可能大于队尾指针有时也可能小于队尾指针。
4下列有关函数重载的叙述中,错误的是( )。
A.函数重载就是用相同的函数名定义多个函数
B.重载函数的参数列表必须不同
C.重载函数的返回值类型必须不同
D.重载函数的参数可以带有默认值
参考答案:C
参考解析:所谓函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数参数的类型不同,还允许参数的个数不 同,但不能只有函数的返回值类型不同而参数的个数和类型相同的重载。所以本题答案为c。
5有三个关系R S和T如下.
则由关系R和S得到关系T的操作是( )。
A.自然连接B.并C.交D.差
参考答案:D
参考解析:关系T中的元组是关系R中有而关系s中没有的元组的集合,即从关系R中除去与关系s中相同元组后得到的关系T。所以做的是差的运算。
6下面关于类和对象的描述中,错误的是( )。
A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B.类和对象之间的关系是抽象和具体的关系
C.对象是类的实例,一个对象必须属于一个已知的类
D.类是具有共同行为的若干对象的统一描述体
参考答案:A
参考解析:在c++语言中,类和结构体有本质区别,类中包含数据及操作函数,而结构体只包含有数据。
7有如下程序:
#inClude
using namespaCe std;
Class test{
private:
int a;
publiC:
test( ){Cout<<”ConstruCtor”<
test(int A.{Cout<
test(Const test&_test){ a=test.a:
Cout<<”Copy ConstruCtor”<
test( ){Cout<<”destruCtor”<
};
int main( ){ test A(3); return 0;
}
执行这个程序的输出结果是( )。
A.3B.ConstruCtor
destruCtorC.Copy ConstruCtor
destruCtorD.3
destruCtor
参考答案:D
参考解析:本题考查默认构造函数和带参数的构造函数以及析构函数,本题中定义了一个对象A(3),对象带着参数,所以执行带参数的构造函数.输出3,然后执行析构溺数,输出destructor。所以本题答案为D。
8有如下函数模板:
template
T east(U u)i return u;}
其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是( )。
A.cast(i);B.cast<>(i);C.east(i);D.east(i);
参考答案:D
参考解析:本题考查函数模板的基本运用,属于基础知识。函数模板实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型代表,这个通用函数就是函数模板。函数模板可以设定默认参数,这样在调用模板函数时就可以省实参,函数模板的实例就是一个函数的定义。所以本题答案为D。
9下面程序的运行结果是( )。
#include
void fun(int *a,int *B. {
int x=*a:
*a=*b;*b=X;
cout<<*a<<*b<<””:
void main() {
int X=1,Y=2; fun(&x,&y);
cout<
}
A.12 12B.12 21C.21 12D.21 21
参考答案:D
参考解析:本题考查的是指针和引用,函数fun完成把x和Y互换的操作。
10在C++语言中,打开一个文件就是将这个文件与一个( )建立关联。
A.流B.类C.结构D.对象
参考答案:A
参考解析:c++的V0系统是通过一一种称为流的机制来实现文件和控制台的I/0操作的。简单地说,在C++中,输入/输出操作是通过流来完成的。而文件流以磁盘文件及其他可按文件方式进行管理的外部设备为输入/输出对象。每个文件流都应当与一个打开的文件相联系;关闭卟文件就是取消这种联系。