第 1 頁:選擇題 |
第 5 頁:基本操作題 |
第 6 頁:簡單應用題 |
第 7 頁:綜合應用題 |
21繼承機制的作用是( )。
A.信息隱藏B.數(shù)據(jù)封裝C.定義新類D.數(shù)據(jù)抽象
參考答案:C
參考解析:數(shù)據(jù)封裝就是數(shù)據(jù)抽象,即信息隱藏;而繼承是實現(xiàn)程序復用的基礎。
)22模板對類型的參數(shù)化提供了很好的支持,因此( )。
A.類模板的主要作用是生成抽象類
B.類模板實例化時,編譯器將根據(jù)給出的模板實參生成一個類
C.在類模板中的數(shù)據(jù)成員都具有同樣類型
D.類模板中的成員函數(shù)都沒有返回值
參考答案:B
參考解析:本題考查類模板的基本概念。類模板的定義和聲明都以關鍵字template開頭。關鍵字后面是一個用逗號分隔的模板參數(shù)表,用尖括號“<>”括起來,這個表被稱為類模板的模板參數(shù)表。類模板是類的抽象,類是類模板的實例。類模板使類中的一些數(shù)據(jù)成員和成員函數(shù)的參數(shù)或返回值可以取任意的數(shù)據(jù)類型。所以B選項正確。
23if語句的語法格式可描述為:
格式l:if(<條件>)<語句>
或
格式2:if(<條件>)<語句l>
else<語句2>
關于上面的語法格式,下列表述中錯誤的是( )。
A.<條件>部分可以是一個if語句,例如if(if(a==0)…)…
B.<語句>部分可以是一個if語句,例如if(…)if(…)…
C.如果在<條件>前加上邏輯非運算符!并交換<語句l>和<語句2>的位置,語句功能不變
D.<語句>部分可以是一個循環(huán)語句,例如if(…)while(…)…
參考答案:A
參考解析:本題考查if語句,if語句的條件部分不能嵌套if語句,所以A選項錯誤;B選項就是if語句嵌套;C選項其實就是將判斷條件顛倒,然后執(zhí)行語句也顛倒,所以效果一樣;D選項也正確。
24下面的程序中,錯誤的語句是( )。
、#inClude
、趘oid main()
③{
、 int *p=new int[1];
⑧P=9;
、辌out<<.*P<
、遜elete[]p;
、鄛
A.④B.⑤C.⑥D.⑦
參考答案:B
參考解析:本題考查的是指針的使用,P是指向int 型的指針,若想給它指向的元素賦值,應使用*符號,贏接賦值相當于改變了原來P存儲的地址。
25下面有關for循環(huán)的正確描述是( )。
A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式C.在for循環(huán)中,不能用break語句跳出循環(huán)體D.在for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來
參考答案:D
參考解析:選項A中for循環(huán)可以用于循環(huán)次數(shù)不確定的情況;選項8中for循環(huán)是先判斷表達式,后執(zhí)行循環(huán)體語句;選項c中for循環(huán)可以用break語句跳出循環(huán)體,從而接著執(zhí)行循環(huán)體后面的語句。
26下列敘述中正確的是( )。
A.算法就是程序
B.設計算法時只需要考慮數(shù)據(jù)結構的設計
C.設計算法時只需要考慮結果的可靠性
D.以上三種說法都不對
參考答案:D
參考解析:算法是指解題方案的準確而完整的描述,算法不等于程序,也不等于計算方法,所以A錯誤。設計算法時不僅要考慮對數(shù)據(jù)對象的運算和操作,還要考慮算法的控制結構。
27由于常對象不能被更新,因此( )。
A.通過常對象只能調用它的常成員函數(shù)
B.通過常對象只能調用靜態(tài)成員函數(shù)
C.常對象的成員都是常成員
D.通過常對象可以調用任何不改變對象值的成員函數(shù)
參考答案:A
參考解析:本題考查常對象的基本知識,常對象只能調用它的常成員函數(shù),而不能調用非const函數(shù),常對象的成員函數(shù)不一定都是常成員函數(shù),只需保證其數(shù)據(jù)成員是常數(shù)據(jù)成員即可。所以本題選A。
28有如下程序:
#include
using namespace std;
class MyClass{
public:
MyClass(){cout<<’A’;}
MyClass(char C.{cout<
~MyClass(){cout<<’B’;}
};
int main(){
MyClass pl,+p2;
p2=new MyClass(’X’);
delete p2;
return 0;
}
執(zhí)行這個程序的輸出結果是( )。
A.ABXB.ABXBC.AXBD.AXBB
參考答案:D
參考解析:構造函數(shù)和析構函數(shù)的調用順序為先構造的后析構,后構造的先析構。所以本題答案為D。
29有如下程序:
#include
using namespace std;
class Pair{
int m,n;
public:
Pair(int j,int k):m(j),n(k){}
int get(){return m;}
int get()const{return m+n;}
};
int main(){
Pair a(3,5);
const Pair b(3,5);
tout<
return U:
}
執(zhí)行這個程序的輸出結果是( )。
A.33B.38C.83D.88
參考答案:B
參考解析:本題考查常對象、常成員函數(shù)及構造函數(shù)。常對象只能調用常成員函數(shù),所以本題中,對象a為普通對象,執(zhí)行a.get()后,會執(zhí)行默認構造函數(shù),輸出3;對象b為常對象,執(zhí)行b.get()后,會執(zhí)行常構造函數(shù),輸出8。
30執(zhí)行下列語句段后,輸出字符“*”的個數(shù)是( )。
for(int i=50;i>1;--i) Cout<<'*':
A.48B.49C.50D.51
參考答案:B
參考解析:本題考查for循環(huán)語句,--i表示用之前先減1,那么這個for循環(huán)語句只有50到2時才會輸出“*”,所以總共輸出49次。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |