C++是在C語言的基礎上開發的一種面向對象編程語言,C++語言程序設計是計算機二級考試科目之一,下面本站小編爲大家搜索整理了關於二級考試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