2016年計算機二級考試C++測試題及答案

C++是在C語言的基礎上開發的一種面向對象編程語言,C++語言程序設計是計算機二級考試科目之一,下面本站小編爲大家搜索整理了關於二級考試C++測試題及答案,歡迎參考練習,希望對大家備考有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!

2016年計算機二級考試C++測試題及答案

1[填空題]使用class定義的表中,成員的默認訪問權限是 (1) 的;由struct定義的類中,成員的默認的訪問權限是 (2) 的。

參考答案:(1)私有、(2)公有

2[單選題] 若有說明:inta[3][4];則對a數組元素的非法引用是(  )。

A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]

參考答案:D

參考解析:數組的下標從0開始,至n-1爲止,因此選項D是正確答案。

3[單選題]下列關於派生類敘述中,錯誤的是

A.派生類至少要有一個基類

B.派生類中包括了從基類繼承的成員

C.一個派生類可以作爲另一個派生類的基類

D.基類成員被派生類繼承以後訪問權限保持不變

參考答案:D

5[單選題] 層次型、網狀型和關係型數據庫劃分原則是( )。

A.己錄長度B.文件的大小C.聯繫的複雜程度D.數據之間的聯繫方式

參考答案:D

參考解析:層次模型的基本結構是樹形結構,網狀模型是一個不加任何條件限制的無向圖,關係模型採用二維表來表示,所以三種數據庫的劃分原則是數據之間的聯繫方式。

6[單選題]在類的定義中,用於爲對象分配內存空間,對類的數據成員進行初始化並執行其他內部管理操作的函數是

A.友元函數 B.虛函數 C.構造函數 D.析構函數

參考答案:C

7[單選題] 下列關於運算符重載的.描述中,錯誤的是(  )。

A.::運算符不能重載

B.類型轉換運算符只能作爲成員函數重載

C.將運算符作爲非成員函數重載時必須定義爲友元

D.重載口運算符應完成“下標訪問”操作

參考答案:C

參考解析:除了·、*、→*、::、?:這五個運算符外,其他運算符都可以重載。=、[]、()、→以及所有的類型轉換運算符只能作爲成員函數重載。口作爲成員函數重載時,應完成“下標訪問”操作,使得向指定下標處的元素賦值或取值成爲可能。

8[單選題] 由於常對象不能被更新,因此(  )。

A.通過常對象只能調用它的常成員函數

B.通過常對象只能調用靜態成員函數

C.常對象的成員都是常成員

D.通過常對象可以調用任何不改變對象值的成員函數

參考答案:A

參考解析:本題考查常對象的基本知識,常對象只能調用它的常成員函數,而不能調用非const函數,常對象的成員函數不一定都是常成員函數,只需保證其數據成員是常數據成員即可。所以本題選A。

10[簡答題]使用VC++6.0打開考生文件夾下的源程序文件,該程序運行時有錯,請改正其中的錯誤,使程序正確運行,其輸出的結果爲

30

130

注意:錯誤的語句在//******error******的下面,修改該語句即可。

試題程序:

#include

inta=10;

classTC

{

public:

TC()

{

a=b=0:

}

voiddisplay()

{

//******error******

cout<

}

voidfunc(inta)

{

//******error******

a+=a:

}

voidfunc2()

{

//******error******

a+=a:

}

private:

inta,b;

};

voidmain()

{

TCobj;

(3);

lay();

2();

lay();

}

參考解析:

(1)應改爲“cout<

(2)應改爲“this->a+=a;”。

(3)應改爲“a+=::a;”。

【解析】成員函數display打印變量a和b的值,即cout輸出a和b的值,cout流中的數據是用流插入運算符“<<”順序加入的,因此“<”不正確,第1處的語句應改成“cout