1、【
单选题
】
有3个关系R、S和T如下表所示:
其中关系T由关系R和s通过某种操作得到,该操作为( )。
[1分]
答案:
2、【
单选题
】
下列关于this指针的叙述中,正确的是( )。
[1分]
、
任何与类相关的函数都有this指针
、
类的成员函数都有this指针
、
类的友元函数都有this指针
、
类的非静态成员函数才有this指针
答案:
3、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
一个逻辑数据结构只能有一种存储结构
、
逻辑结构属于线性结构,存储结构属于非线性结构
、
一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
、
一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
答案:
4、【
单选题
】
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为( )。
[1分]
答案:
5、【
单选题
】
下列程序的输出结果是( )。#include
voidmain()
(char*str="12123434";
intx1=0,x2=0,x3=0,x4=0,i;
for(i=0;str[i]!='\0';i++)
switch(str[i])
{case'1':x4++;
case'2':x3++;
case'3':x2++;
case'4':x1++;
}
cout<<x1<<","<<x2<:<","<<x3<
< ","<
}
[1分]
、
8,6,4,1
、
8,6,3,2
、
8,8,4,1
、
8,6.4,2
答案:
6、【
单选题
】
有如下程序:
#include
usingnamespacestd;
voidfunction2(intn);
voidfunctionl(intn):{
if(n<=0)return;
function2(n-2);
}
voidfunction2(intn){
if(n<=O)return;
functionl(n-1);
}
intmain(){
functionl(5);
return0;
}
下列关于程序运行情况的描述中,正确的是( )。
[1分]
、
functionl运行1次,function2运行2次
、
functionl运行2次,function2运行l次
、
functionl运行2次,function2运行3次
、
functionl运行2次,function2运行2次
答案:
7、【
单选题
】
下列关于模板的描述中,错误的是( )。
[1分]
、
类模板的成员函数都是模板函数
、
函数模板是一种参数化类型的函数
、
满足一定条件时可以省略模板实参
、
模板形参只能由关键字typename声明
答案:
8、【
单选题
】
以三级模式为框架形成的三种数据库中,真实存在于计算机外存的数据库是( )。
[1分]
、
概念数据库
、
用户数据库
、
物理数据库
、
逻辑数据库
答案:
9、【
单选题
】
实现运行时的多态性要使用( )。
[1分]
、
重载函数
、
析构函数
、
构造函数
、
虚函数
答案:
10、【
单选题
】
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。
[1分]
、
ios_base::cur
、
ios_base::beg
、
ios_base::0ut
、
ios_base::end
答案:
11、【
单选题
】
已知chara;intb;floatC;doubled;则表达式a*b+c-d的结果为( )。
[1分]
、
double
、
int
、
float
、
char
答案:
12、【
单选题
】
下列关于运算符重载的描述中,错误的是( )。
[1分]
、
可以通过运算符重载在C++中创建新的运算符
、
赋值运算符只能重载为成员函数
、
运算符函数重载为类的成员函数时,第一操作参数就是该类对象
、
重载类型转换运算符时不需要声明返回类型
答案:
13、【
单选题
】
设计数据库的存储结构属于( )。
[1分]
、
需求分析
、
概念设计
、
逻辑设计
、
物理设计
答案:
14、【
单选题
】
下列关于虚函数的描述中,正确的是( )。
[1分]
、
虚函数是一个static类型的成员函数
、
虚函数是一个非成员函数
、
基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明
、
派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型
答案:
15、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
、
对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
、
对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
、
对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
答案:
16、【
单选题
】
下列关于运算符重载的描述中,错误的是( )。
[1分]
、
可以通过运算符重载在C++中创建新的运算符
、
赋值运算符只能重载为成员函数
、
运算符函数重载为类的成员函数时,第一操作参数就是该类对象
、
重载类型转换运算符时不需要声明返回类型
答案:
17、【
单选题
】
下列关于构造函数的描述中,错误的是( )。
[1分]
、
构造函数名与类名相同
、
构造函数可以有返回值
、
构造函数可以重载
、
每个类都有构造函数
答案:
18、【
单选题
】
有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是( )。
[1分]
答案:
19、【
单选题
】
如有以下程序:
#include(iostream>
usingnamespacestd;
longfun(intn)
{
if(n)2)
return(fun(n-1)+fun(n-2));
else
return2;
}
intmain( )
{
cout<<fun(3)<
return0;
}
则该程序的输出结果应该是( )。
[1分]
答案:
20、【
单选题
】
下列选项中正确的语句是( )。
[1分]
、
chars[3];s="BOOK!";
、
char*s;s={"BOOK!"};
、
chars[10];s="BOOK";
、
char*S;s="BOOK!";
答案:
21、【
单选题
】
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000,若要求将a的高4位取反,低4位不变,所要执行的运算是( )。
[1分]
答案:
22、【
单选题
】
对于循环队列,下列叙述中正确的是( )。
[1分]
、
队头指针是固定不变的
、
队头指针一定大于队尾指针
、
队头指针一定小于队尾指针
、
队头指针可以大于队尾指针,也可以小于队尾指针
答案:
23、【
单选题
】
已知一函数的形参说明为intarr[5][6],则与此等效的形参说明为( )。
[1分]
、
intarr[][]
、
int[5][]
、
int*a[6]
、
int(*a)[6]
答案:
24、【
单选题
】
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。
[1分]
答案:
25、【
单选题
】
设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。
[1分]
、
auto
、
register
、
static
、
auto或register
答案:
26、【
单选题
】
派生类对象对其基类中的什么成员是可访问的?( )
[1分]
、
公有继承的私有成员
、
私有继承的公有成员
、
私有继承的保护成员
、
保护继承的保护成员
答案:
27、【
单选题
】
下列关于关系运算的叙述中正确的是( )。
[1分]
、
投影、选择、连接是从二维表的行的方向来进行运算
、
并、交、差是从二维表的列的方向来进行运算
、
投影、选择、连接是从二维表的列的方向来进行运算
、
以上三种说法都不对
答案:
28、【
单选题
】
有如下类声明:
classXA{
intx:
public:
XA(intn){x=n;}
};
classXB:publicXA{
inty;
oublic:
XB(inta,intb);
};
在构造函数XB的下列定义中,正确的是( )。
[1分]
、
XB::XB(inta,intb):x(a),y(b){}
、
XB::XB(inta,intb):XA(a),y(b){}
、
XB::XB(inta,intb):x(a),XB(b){}
、
XB::XB(inta,intb):XA(a),XB(b){}
答案:
29、【
单选题
】
打开文件时可单独或组合使用下列文件打开模式:
①ios_base::aop
②ios_base::binary
③ios_base::
④ios_base::out
若要以二进制读方式打开一个文件,需使用的文件打开模式为( )。
[1分]
答案:
30、【
单选题
】
下列程序的运行结果是( )。
#include
classA
{
inta;
public:
A(){a=0;}
A(){intaa}
{a=aa;
cout<
}
};
voidmain()
{
Ax,y(2),z(3);
cout<
}
[1分]
答案:
31、【
单选题
】
实体是信息世界中广泛使用的一个术语,它用于表示( )。
[1分]
、
有生命的事物
、
无生命的事物
、
实际存在的事物
、
一切事物
答案:
32、【
单选题
】
可以用P.a的形式访问派生类对象P的基类成员a,其中a是( )。
[1分]
、
私有继承的公有成员
、
公有继承的私有成员
、
公有继承的保护成员
、
公有继承的公有成员
答案:
33、【
单选题
】
有如下程序:
#include
usingnamespacestd;
classBase{
public:
Base(intx=O){cout<<x;}
};
classDerived:publicBase{
public:
Derived(intx=O){cout<<="" p="">
private:
Baseval;
};
intmain(){
Derivedd(1);
return0;
}
程序执行后的输出结果是( )。
[1分]
答案:
34、【
单选题
】
下列程序的执行结果是( )。
#include(iostream.h>
#include
classTestClass
{
public:
intX,y;
TestClass( ){x=y=0;}
TestClass(inta,intb){x=a;y=b;}
voiddisp( )
{
cout<<"x="<<x<<",y="<y<
}
};
voidmain( )
{
TestClasss1(2,3);
s1.disp( );
}
[1分]
、
x=2,y=2
、
x=2,y=3
、
x=3,y=2
、
x=3,y=3
答案:
35、【
单选题
】
算法的有穷性是指( )。
[1分]
、
算法程序的运行时间是有限的
、
算法程序所处理的数据量是有限的
、
算法程序的长度是有限的
、
算法只能被有限的用户使用
答案:
36、【
单选题
】
类MyClass的定义如下:
classMvClass
{
public:
MyClass(){value=0;}
SetVariable(inti){value=i;}
private:
intvalue;
};
则对下列语句序列正确的描述是( )。
[1分]
、
语句p=&my;是把对象my赋值给指针变量P
、
语句MyClass*P,my;会调用两次类MyClass的构造函数
、
对语句*P.SetVariable(5)的调用是正确的
、
语句p->SetVariable(5)与语句my.SetVariable(5)等价
答案:
37、【
单选题
】
下面排序算法中,平均排序速度最快的是( )。
[1分]
、
冒泡排序法
、
选择排序法
、
交换排序法
、
堆排序法
答案:
38、【
单选题
】
一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是:( )。
[1分]
、
1:1联系
、
1:m联系
、
m:1联系
、
m:n联系
答案:
39、【
单选题
】
下列选项中正确的语句是( )。
[1分]
、
chars[];s="BOOK!";
、
char*s;S={"BOOK!");
、
chars[10];s="BOOK";
、
char*S;s="BOOK!";
答案:
40、【
单选题
】
下列关于继承方式的描述中,错误的是( )。
[1分]
、
如果不显式地指定继承方式,默认的继承方式是私有(private)
、
采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员
、
采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员
、
采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员
答案: