一、選擇題(每小題1分,共40分)
1、一個(gè)教師可講授多門(mén)課程,一門(mén)課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是( )。
A.1:1聯(lián)系
B.1:m聯(lián)系
C.m:1聯(lián)系
D.m:n聯(lián)系
2、 Tilil程序的運(yùn)行結(jié)果是( )。
#include void main()
{
int i=1:
while(i<=8)
if(++i%3 1=2)continue: else eout< }
A.25
B.36
C.258
D.369
3、下列關(guān)于線性鏈表的敘述中,正確的是( )。
A.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須一致
B.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)
C.進(jìn)行插入與刪除時(shí),不需要移動(dòng)表中的元素
D.以上說(shuō)法均不正確
4、對(duì)于一個(gè)類(lèi)定義,下列敘述中錯(cuò)誤的是( )。
A.如果沒(méi)有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù)
B.如果沒(méi)有定義缺省的構(gòu)造函數(shù),編譯器一定將生成一個(gè)缺省的構(gòu)造函數(shù)
C.如果沒(méi)有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷貝構(gòu)造函數(shù)
D.如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造函數(shù)
5、為了使類(lèi)中的某個(gè)成員不能被類(lèi)的對(duì)象通過(guò)成員操作符訪問(wèn),則不能把該成員的訪問(wèn)權(quán)限定義為( )。
A.public
B.protected
C.private
D.static
6、下列關(guān)于運(yùn)算符函數(shù)的描述中,錯(cuò)誤的是( )。
A.運(yùn)算符函數(shù)的名稱(chēng)總是以operator為前綴
B.運(yùn)算符函數(shù)的參數(shù)可以是對(duì)象
C.運(yùn)算符函數(shù)只能定義為類(lèi)的成員函數(shù)
D.在表達(dá)式中使用重載的運(yùn)算符相當(dāng)予調(diào)用運(yùn)算符重載函數(shù)
7、 一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是( ?。?BR> A.12345ABCDE
B.EDCBA54321
C.ABCDEl2345
D.5432lEDCBA
8、在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享好的是( ?。?BR> A.人工管理階段
B.文件系統(tǒng)階段
C.?dāng)?shù)據(jù)庫(kù)系統(tǒng)階段
D.三個(gè)階段相同
9、下面程序的運(yùn)行結(jié)果為( )。
#include
void main() {
char a=’3’: switch(8)
{
case '3':cout<<”3”:
case '2':cout<<”2”;break; default:cout<<”l”;
}
}
A.3
B.321
C.31
D.32
10、數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是( )。
A.內(nèi)模式
B.概念模式
C.外模式
D.設(shè)計(jì)模式
11、一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為( )。
A.16
B.10
C.6
D.4
12、 下列( )是C++語(yǔ)言的有效標(biāo)識(shí)符。
A.Nol
B.N0.1
C.12345
D.int
13、 下列關(guān)于運(yùn)算符重載的敘述中,錯(cuò)誤的是( )。
A.有的運(yùn)算符可以作為非成員函數(shù)重載
B.所有的運(yùn)算符都可以通過(guò)重載而被賦予新的含義
C.不得為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值
D.有的運(yùn)算符只能作為成員函數(shù)重載
14、 F列關(guān)于棧的敘述正確的是( )。
A.棧按“先進(jìn)先出”組織數(shù)據(jù)
B.棧按“先進(jìn)后出”組織數(shù)據(jù)
C.只能在棧底插入數(shù)據(jù)
D.不能刪除數(shù)據(jù)
15、 軟件生命周期中的活動(dòng)不包括( )。
A.市場(chǎng)調(diào)研
B.需求分析
C.軟件測(cè)試
D.軟件維護(hù)
16、 下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。
A.靜態(tài)數(shù)據(jù)成員是類(lèi)的所有對(duì)象共享的數(shù)據(jù)
B.類(lèi)的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員
C.類(lèi)的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值
D.靜態(tài)數(shù)據(jù)成員不能通過(guò)類(lèi)的對(duì)象調(diào)用
17、 軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( ?。?。
A.編譯程序
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.匯編程序
18、下面敘述中錯(cuò)誤的是( ?。?。
A.軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤
B.對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱(chēng)為Debug
D.軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性
19、 層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是( )。
A.己錄長(zhǎng)度
B.文件的大小
C.聯(lián)系的復(fù)雜程度
D.?dāng)?shù)據(jù)之間的聯(lián)系方式
20、 下面程序的運(yùn)行結(jié)果為( )。
#include void swap(int&a,int B. int temp;
temp=a++: a=b:
b=temp;
}
void main()
{
im a=2,b=3; swap(a,B.;
eout< }
A.2,3
B.3,2
C.2,2
D.3,3
21、 有如下程序:
#inClude using namespaCe std; Class MyClass{
publiC:
MyClass(int X):val(X){}
void Print()Const}tout<<”Const:val=”< private:
int val; };
int main(){
Const MyClass objl(10); MyClass obj2(20);
objl.Print(); obj2.Print(); retum 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.val=10 Const:val=20
B.Const:val=10 Const:val=20
C.Const:val=10 val=20
D.val=10 val=20
22、 一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間 的聯(lián)系是( )。
A.一對(duì)一
B.一對(duì)多
C.多對(duì)多
D.多對(duì)一
23、下列程序的運(yùn)行結(jié)果是( )。
#include class Loeation{
private:
int X,Y;
public: void init(int=0,int=0);
void valueX(int val){X=val;} int valueX(){returnx;}
void valueY(int val){Y=val;} int valueY(){return Y;}};
void Location::init(int initX,int initY) {X=initX;
Y=initY4}
void main(X
{Location A,B;
A.init();
B.value X(5);
cout< B.value Y(4);
eout< }
A.5
0
6
4
B.0
0
6
4
C.5
0
6
2
D.0
0
6
2
24、 下面程序的運(yùn)行結(jié)果為( )。
#include class A
static int n;
public:
A(){n=1;}
A(int num){n=hum;} void print(){cout< int A::n=2;
void main() {
A a,b(3); a.print(); b.print();
coutB.13
C.23
D.33
25、 負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢操作的數(shù)據(jù)庫(kù)語(yǔ)言是( )。
A.?dāng)?shù)據(jù)定義語(yǔ)言
B.?dāng)?shù)據(jù)管理語(yǔ)言
C.?dāng)?shù)據(jù)操縱語(yǔ)言
D.?dāng)?shù)據(jù)控制語(yǔ)言
26、 已知枚舉類(lèi)型聲明語(yǔ)句為:
enum COl,OR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};
則下列說(shuō)法中錯(cuò)誤的是( )。
A.枚舉常量YELLOW的值為1
B.枚舉常量RED的值為6
C.枚舉常量BLACK的值為10
D.枚舉常量WHITE的值為1
27、 有如下程序:
#include
using namespace std;
class Base
{
public:
void funl(){cout<<”Base\n”;}
virtual void fun2(){eout<<”Base\n”;}
};
class Derived:public Base{
public:
void funl(){eout<<”Derived、n”;}
void fura(){eout<.<”Derived\n”;}
};
void f(Base&B.}b.funl();b.ftm2();}
int main()
{
Derived obj;
f(obj);
return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.Base
Base
B.Base
Derived
C.Derived
Base
D.Derived
Derived
28、有如下類(lèi)聲明:
class SAMPLE
{
int n:
public:
SAMPLE(int i=0):n(i){}
void setValue(int nO);
};
下列關(guān)于9etValue成員函數(shù)的定義中,正確的是( ?。?。
A.SAMPLE::setValue(int nO){n=n0;}
B.void SAMPLE::setValue(int胡){n=n0;
C.void setValue(int nO){n=n0;}
D.setValue(int nO){n=n0;}
29、 下列關(guān)于c++函數(shù)的說(shuō)明中,正確的是( )。
A.內(nèi)聯(lián)函數(shù)就是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù)
B.函數(shù)體的后一條語(yǔ)句必須是return語(yǔ)句
C.標(biāo)準(zhǔn)c++要求在調(diào)用一個(gè)函數(shù)之前,必須先聲明其原型
D.編譯器會(huì)根據(jù)函數(shù)的返回值類(lèi)型和參數(shù)表來(lái)區(qū)分函數(shù)的不同重載形式
30、 有如下程序:
#inClude using namespaCe std; Class MusiC{
publiC:
void setTitle(Char*str){strCpy(title,str);} proteCted:
Char type[10]; private:
Char title[20];
Class Jazz:publiC MusiC{ publiC:
void set(Char*str){
strCpy(type,”Jazz'’);//① strCpy(title,str);//②
} }; 下列敘述中正確的是( )。
A.程序編譯正確
B.程序編譯時(shí)語(yǔ)句①出錯(cuò)
C.程序編譯時(shí)語(yǔ)句②出錯(cuò)
D.程序編譯時(shí)語(yǔ)句①和②都出錯(cuò)
31、 在公有繼承的情況下,允許派生類(lèi)直接訪問(wèn)的基類(lèi)成員包括( ?。?BR> A.公有成員
B.公有成員和保護(hù)成員
C.公有成員、保護(hù)成員和私有成員
D.保護(hù)成員
32、 有三個(gè)關(guān)系R、S和T如下:

由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為( )。
A.笛卡爾積
B.交
C.并
D.自然連接
33、有如下類(lèi)定義:
class MyClass
{
public:
private:
______________________________________
int data;
};
若要為MyClass類(lèi)重載流輸入運(yùn)算符“>>”,使得程序中可以“cin>>obj;”的形式改變MyClass類(lèi)的對(duì)象0bj中數(shù)據(jù)成員data的值,則橫線處的聲明語(yǔ)句應(yīng)為( )。
A.friend istream& operator>>(istream&is,MyClass&A.;
B.friend istream&operator>>(istream&is,MyClass A.;
C.istream&operator>>(istream&is,MyClass&A.;
D.istream&operator>>(istream&is,MyClass A.;
34、 有如下程序:
#inClude using namespaCe std; Class Sample{
friend long fun(Sample S); publiC:
Sample(10ng A.{x=a;} private:
long X;
}; long fun(Sample S){
if(S.x<2)return l;
return S.X*fun(Sample(s.x-1)); }
int main( ?。?{
int sum=0;
for(int i=0;i<6;i++) {sum+=fun(Sample(i));}
Cout< }
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.120
B.16
C.154
D.34
35、 有如下程序:
#inClude using namespaCe std; Class Book{
publiC:
Book(Char*t=””){strCpy(title,t);}
private:
Char titlel40]; };
Class Novel:publiC Book{ publiC:
Novel(Char*t=””):Book(t){}
Char*Category( )Const{return”文學(xué)”;} };
int main( ?。﹞ Book * pb; pb=new Novel( ?。?;
Cout< return 0; }
若程序運(yùn)行時(shí)輸出結(jié)果是“文學(xué)”,則橫線處缺失的語(yǔ)句是( ?。?BR> A.Char*Category( ?。?BR> B.Char*Category( ?。〤onst;
C.virtual Char*Category( )Const;
D.virtual Char*Category( ?。〤onst=0;
36、 有如下頭變件:
int f1()
StatiCintf2( ); Class MA
publiC: intf3();
1statiC int f4();
};
在所描述的函數(shù)中,具有隱含的this指針的是( )。
A.fl
B.f2
C.B
D.f4
37、下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。
A.靜態(tài)數(shù)據(jù)成員可以在類(lèi)體內(nèi)進(jìn)行初始化
B.靜態(tài)數(shù)據(jù)成員不可以被類(lèi)的對(duì)象調(diào)用
C.靜態(tài)數(shù)據(jù)成員不能受private控制符的作用
D.靜態(tài)數(shù)據(jù)成員可以直接用類(lèi)名調(diào)用
38、 設(shè)int a=10,b=11,C=12;,表達(dá)式(a+B.A.2
B.0
C.-2
D.1
39、 下列說(shuō)法正確的是( )。
A.內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
B.內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
C.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體內(nèi)定義
D.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字inline定義
40、 下面對(duì)于友元函數(shù)描述正確的是( )。
A.友元函數(shù)的實(shí)現(xiàn)必須在類(lèi)的內(nèi)部定義
B.友元函數(shù)是類(lèi)的成員函數(shù)
C.友元函數(shù)破壞了類(lèi)的封裝性和隱藏性
D.友元函數(shù)不能訪問(wèn)類(lèi)的私有成員
1、一個(gè)教師可講授多門(mén)課程,一門(mén)課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是( )。
A.1:1聯(lián)系
B.1:m聯(lián)系
C.m:1聯(lián)系
D.m:n聯(lián)系
2、 Tilil程序的運(yùn)行結(jié)果是( )。
#include void main()
{
int i=1:
while(i<=8)
if(++i%3 1=2)continue: else eout< }
A.25
B.36
C.258
D.369
3、下列關(guān)于線性鏈表的敘述中,正確的是( )。
A.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須一致
B.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)
C.進(jìn)行插入與刪除時(shí),不需要移動(dòng)表中的元素
D.以上說(shuō)法均不正確
4、對(duì)于一個(gè)類(lèi)定義,下列敘述中錯(cuò)誤的是( )。
A.如果沒(méi)有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù)
B.如果沒(méi)有定義缺省的構(gòu)造函數(shù),編譯器一定將生成一個(gè)缺省的構(gòu)造函數(shù)
C.如果沒(méi)有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷貝構(gòu)造函數(shù)
D.如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造函數(shù)
5、為了使類(lèi)中的某個(gè)成員不能被類(lèi)的對(duì)象通過(guò)成員操作符訪問(wèn),則不能把該成員的訪問(wèn)權(quán)限定義為( )。
A.public
B.protected
C.private
D.static
6、下列關(guān)于運(yùn)算符函數(shù)的描述中,錯(cuò)誤的是( )。
A.運(yùn)算符函數(shù)的名稱(chēng)總是以operator為前綴
B.運(yùn)算符函數(shù)的參數(shù)可以是對(duì)象
C.運(yùn)算符函數(shù)只能定義為類(lèi)的成員函數(shù)
D.在表達(dá)式中使用重載的運(yùn)算符相當(dāng)予調(diào)用運(yùn)算符重載函數(shù)
7、 一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是( ?。?BR> A.12345ABCDE
B.EDCBA54321
C.ABCDEl2345
D.5432lEDCBA
8、在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享好的是( ?。?BR> A.人工管理階段
B.文件系統(tǒng)階段
C.?dāng)?shù)據(jù)庫(kù)系統(tǒng)階段
D.三個(gè)階段相同
9、下面程序的運(yùn)行結(jié)果為( )。
#include
void main() {
char a=’3’: switch(8)
{
case '3':cout<<”3”:
case '2':cout<<”2”;break; default:cout<<”l”;
}
}
A.3
B.321
C.31
D.32
10、數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是( )。
A.內(nèi)模式
B.概念模式
C.外模式
D.設(shè)計(jì)模式
11、一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為( )。
A.16
B.10
C.6
D.4
12、 下列( )是C++語(yǔ)言的有效標(biāo)識(shí)符。
A.Nol
B.N0.1
C.12345
D.int
13、 下列關(guān)于運(yùn)算符重載的敘述中,錯(cuò)誤的是( )。
A.有的運(yùn)算符可以作為非成員函數(shù)重載
B.所有的運(yùn)算符都可以通過(guò)重載而被賦予新的含義
C.不得為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值
D.有的運(yùn)算符只能作為成員函數(shù)重載
14、 F列關(guān)于棧的敘述正確的是( )。
A.棧按“先進(jìn)先出”組織數(shù)據(jù)
B.棧按“先進(jìn)后出”組織數(shù)據(jù)
C.只能在棧底插入數(shù)據(jù)
D.不能刪除數(shù)據(jù)
15、 軟件生命周期中的活動(dòng)不包括( )。
A.市場(chǎng)調(diào)研
B.需求分析
C.軟件測(cè)試
D.軟件維護(hù)
16、 下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。
A.靜態(tài)數(shù)據(jù)成員是類(lèi)的所有對(duì)象共享的數(shù)據(jù)
B.類(lèi)的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員
C.類(lèi)的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值
D.靜態(tài)數(shù)據(jù)成員不能通過(guò)類(lèi)的對(duì)象調(diào)用
17、 軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( ?。?。
A.編譯程序
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.匯編程序
18、下面敘述中錯(cuò)誤的是( ?。?。
A.軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤
B.對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱(chēng)為Debug
D.軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性
19、 層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是( )。
A.己錄長(zhǎng)度
B.文件的大小
C.聯(lián)系的復(fù)雜程度
D.?dāng)?shù)據(jù)之間的聯(lián)系方式
20、 下面程序的運(yùn)行結(jié)果為( )。
#include void swap(int&a,int B. int temp;
temp=a++: a=b:
b=temp;
}
void main()
{
im a=2,b=3; swap(a,B.;
eout< }
A.2,3
B.3,2
C.2,2
D.3,3
21、 有如下程序:
#inClude using namespaCe std; Class MyClass{
publiC:
MyClass(int X):val(X){}
void Print()Const}tout<<”Const:val=”< private:
int val; };
int main(){
Const MyClass objl(10); MyClass obj2(20);
objl.Print(); obj2.Print(); retum 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.val=10 Const:val=20
B.Const:val=10 Const:val=20
C.Const:val=10 val=20
D.val=10 val=20
22、 一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間 的聯(lián)系是( )。
A.一對(duì)一
B.一對(duì)多
C.多對(duì)多
D.多對(duì)一
23、下列程序的運(yùn)行結(jié)果是( )。
#include class Loeation{
private:
int X,Y;
public: void init(int=0,int=0);
void valueX(int val){X=val;} int valueX(){returnx;}
void valueY(int val){Y=val;} int valueY(){return Y;}};
void Location::init(int initX,int initY) {X=initX;
Y=initY4}
void main(X
{Location A,B;
A.init();
B.value X(5);
cout< B.value Y(4);
eout< }
A.5
0
6
4
B.0
0
6
4
C.5
0
6
2
D.0
0
6
2
24、 下面程序的運(yùn)行結(jié)果為( )。
#include class A
static int n;
public:
A(){n=1;}
A(int num){n=hum;} void print(){cout< int A::n=2;
void main() {
A a,b(3); a.print(); b.print();
coutB.13
C.23
D.33
25、 負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢操作的數(shù)據(jù)庫(kù)語(yǔ)言是( )。
A.?dāng)?shù)據(jù)定義語(yǔ)言
B.?dāng)?shù)據(jù)管理語(yǔ)言
C.?dāng)?shù)據(jù)操縱語(yǔ)言
D.?dāng)?shù)據(jù)控制語(yǔ)言
26、 已知枚舉類(lèi)型聲明語(yǔ)句為:
enum COl,OR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};
則下列說(shuō)法中錯(cuò)誤的是( )。
A.枚舉常量YELLOW的值為1
B.枚舉常量RED的值為6
C.枚舉常量BLACK的值為10
D.枚舉常量WHITE的值為1
27、 有如下程序:
#include
using namespace std;
class Base
{
public:
void funl(){cout<<”Base\n”;}
virtual void fun2(){eout<<”Base\n”;}
};
class Derived:public Base{
public:
void funl(){eout<<”Derived、n”;}
void fura(){eout<.<”Derived\n”;}
};
void f(Base&B.}b.funl();b.ftm2();}
int main()
{
Derived obj;
f(obj);
return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.Base
Base
B.Base
Derived
C.Derived
Base
D.Derived
Derived
28、有如下類(lèi)聲明:
class SAMPLE
{
int n:
public:
SAMPLE(int i=0):n(i){}
void setValue(int nO);
};
下列關(guān)于9etValue成員函數(shù)的定義中,正確的是( ?。?。
A.SAMPLE::setValue(int nO){n=n0;}
B.void SAMPLE::setValue(int胡){n=n0;
C.void setValue(int nO){n=n0;}
D.setValue(int nO){n=n0;}
29、 下列關(guān)于c++函數(shù)的說(shuō)明中,正確的是( )。
A.內(nèi)聯(lián)函數(shù)就是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù)
B.函數(shù)體的后一條語(yǔ)句必須是return語(yǔ)句
C.標(biāo)準(zhǔn)c++要求在調(diào)用一個(gè)函數(shù)之前,必須先聲明其原型
D.編譯器會(huì)根據(jù)函數(shù)的返回值類(lèi)型和參數(shù)表來(lái)區(qū)分函數(shù)的不同重載形式
30、 有如下程序:
#inClude using namespaCe std; Class MusiC{
publiC:
void setTitle(Char*str){strCpy(title,str);} proteCted:
Char type[10]; private:
Char title[20];
Class Jazz:publiC MusiC{ publiC:
void set(Char*str){
strCpy(type,”Jazz'’);//① strCpy(title,str);//②
} }; 下列敘述中正確的是( )。
A.程序編譯正確
B.程序編譯時(shí)語(yǔ)句①出錯(cuò)
C.程序編譯時(shí)語(yǔ)句②出錯(cuò)
D.程序編譯時(shí)語(yǔ)句①和②都出錯(cuò)
31、 在公有繼承的情況下,允許派生類(lèi)直接訪問(wèn)的基類(lèi)成員包括( ?。?BR> A.公有成員
B.公有成員和保護(hù)成員
C.公有成員、保護(hù)成員和私有成員
D.保護(hù)成員
32、 有三個(gè)關(guān)系R、S和T如下:

由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為( )。
A.笛卡爾積
B.交
C.并
D.自然連接
33、有如下類(lèi)定義:
class MyClass
{
public:
private:
______________________________________
int data;
};
若要為MyClass類(lèi)重載流輸入運(yùn)算符“>>”,使得程序中可以“cin>>obj;”的形式改變MyClass類(lèi)的對(duì)象0bj中數(shù)據(jù)成員data的值,則橫線處的聲明語(yǔ)句應(yīng)為( )。
A.friend istream& operator>>(istream&is,MyClass&A.;
B.friend istream&operator>>(istream&is,MyClass A.;
C.istream&operator>>(istream&is,MyClass&A.;
D.istream&operator>>(istream&is,MyClass A.;
34、 有如下程序:
#inClude using namespaCe std; Class Sample{
friend long fun(Sample S); publiC:
Sample(10ng A.{x=a;} private:
long X;
}; long fun(Sample S){
if(S.x<2)return l;
return S.X*fun(Sample(s.x-1)); }
int main( ?。?{
int sum=0;
for(int i=0;i<6;i++) {sum+=fun(Sample(i));}
Cout< }
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.120
B.16
C.154
D.34
35、 有如下程序:
#inClude using namespaCe std; Class Book{
publiC:
Book(Char*t=””){strCpy(title,t);}
private:
Char titlel40]; };
Class Novel:publiC Book{ publiC:
Novel(Char*t=””):Book(t){}
Char*Category( )Const{return”文學(xué)”;} };
int main( ?。﹞ Book * pb; pb=new Novel( ?。?;
Cout< return 0; }
若程序運(yùn)行時(shí)輸出結(jié)果是“文學(xué)”,則橫線處缺失的語(yǔ)句是( ?。?BR> A.Char*Category( ?。?BR> B.Char*Category( ?。〤onst;
C.virtual Char*Category( )Const;
D.virtual Char*Category( ?。〤onst=0;
36、 有如下頭變件:
int f1()
StatiCintf2( ); Class MA
publiC: intf3();
1statiC int f4();
};
在所描述的函數(shù)中,具有隱含的this指針的是( )。
A.fl
B.f2
C.B
D.f4
37、下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。
A.靜態(tài)數(shù)據(jù)成員可以在類(lèi)體內(nèi)進(jìn)行初始化
B.靜態(tài)數(shù)據(jù)成員不可以被類(lèi)的對(duì)象調(diào)用
C.靜態(tài)數(shù)據(jù)成員不能受private控制符的作用
D.靜態(tài)數(shù)據(jù)成員可以直接用類(lèi)名調(diào)用
38、 設(shè)int a=10,b=11,C=12;,表達(dá)式(a+B.A.2
B.0
C.-2
D.1
39、 下列說(shuō)法正確的是( )。
A.內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
B.內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
C.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體內(nèi)定義
D.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字inline定義
40、 下面對(duì)于友元函數(shù)描述正確的是( )。
A.友元函數(shù)的實(shí)現(xiàn)必須在類(lèi)的內(nèi)部定義
B.友元函數(shù)是類(lèi)的成員函數(shù)
C.友元函數(shù)破壞了類(lèi)的封裝性和隱藏性
D.友元函數(shù)不能訪問(wèn)類(lèi)的私有成員