點擊查看:2015年計算機二級考試C++過關練習題及答案匯總
1[單選題]
參考答案:A
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
4[單選題]假定MyClass為一個類,那么下列的函數說明中,( )為該類的析構函數。
參考答案: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。
9[單選題]
A.
B.
C.
D.
參考答案:A
參考解析:
10[簡答題]使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯,請改正其中的錯誤,使程序正確運行,其輸出的結果為
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;
obj.func(3);
obj.display();
obj.func2();
obj.display();
}
參考解析:
(1)應改為“cout<
(2)應改為“this->a+=a;”。
(3)應改為“a+=::a;”。
【解析】成員函數display打印變量a和b的值,即cout輸出a和b的值,cout流中的數據是用流插入運算符“<<”順序加入的,因此“<”不正確,第1處的語句應改成“cout
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |