第 1 頁:選擇題 |
第 5 頁:基本操作題 |
21下列不是描述類的成員函數(shù)的是( )。
A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.復(fù)制構(gòu)造函數(shù)
參考答案:C
參考解析:友元函數(shù)是獨立J=當前類的外部函數(shù),但它可以訪問該類的所有對象的成員;拷貝構(gòu)造函數(shù)是使用已存在的對象初始化正在生成的對象時調(diào)用的成員函數(shù)。
22有如下程序:
int x=3:
do{
x-=2;
COU[<
}while(!(--X));
執(zhí)行這個程序的輸出結(jié)果是( )。
A.1B.3 0C.1—2D.死循環(huán)
參考答案:C
參考解析:本題考查do...while語句,執(zhí)行do...while語句時,先執(zhí)行循環(huán)體內(nèi)的語句,然后判斷while中表達式的值,表達式為非零時,返回重新執(zhí)行循環(huán)體語句。在本題中,先執(zhí)行循環(huán)體內(nèi)的語句,輸出1,然后判斷表達式,為非零,且此時X為0;再次執(zhí)行循環(huán)體時,輸出-2,然后判斷表達式為0,不執(zhí)行,退出,所以答案為c。
23下列選項中屬于面向?qū)ο笤O(shè)計方法主要特征的是( )。
A.繼承,B.自頂向下C.模塊化D.逐步求精
參考答案:A
參考解析:面向?qū)ο蠡痉椒ǖ幕靖拍钣袑ο、類和實例、消息、繼承與多態(tài)性,所以選擇A。
24對于類定義 class A{
public:
void func2(){}
};
class B:public A{ public:
w)id funcl()| cout<<"class B func l”<
virtual voiIl fimc2(){cout<<"class B func 2" <
};
下面正確的敘述是( )。
A.A::rune2()和B::funcl()都是虛函數(shù)
B.A::func2()和B::funel()都不是虛函數(shù)
C.B::funcl()是虛函數(shù),而A::func2()不是虛函數(shù)
D.B::funcl()不是虛函數(shù),而A::func2()是虛函數(shù)
參考答案:C
參考解析:基類中說明的虛函數(shù),在派生類中自然就是虛函數(shù),所以類B中funcl()是虛函數(shù);而類A中的func2沒有被關(guān)鍵字virtual修飾,所以不是虛函數(shù)。
25語句ofstream f(”SALARY.DAT”,ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALA-RY.DAT并與之連接,并且( )。
A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件
B.若文件存在,將其置為空文件;若文件不存在,打開失敗
C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件
D.若文件存在,打開失敗;若文件不存在,建立一個新文件
參考答案:A
參考解析:本題考查的是文件流的操作,app表示以追加方式打開文件(即將指針移至文件尾),binao"表示以二進制方式打開文件。
26下列有關(guān)繼承和派生的敘述中,正確的是( )。
A.如果一個派生類公有繼承其基類,則該派生類對象可以訪問基類的保護成員
B.派生類的成員函數(shù)可以訪問基類的所有成員
C.基類對象可以賦值給派生類對象
D.如果派生類沒有實現(xiàn)基類的一個純虛函數(shù),則該派生類是一個抽象類
參考答案:D
參考解析:私有繼承方式為基類的公用成員和保護成員在派生類中成了私有成員,其私有成員仍為基類私有,但派生類對象可以訪問基類的保護成員,所以基類對象不能賦值給派生類對象。抽象類是指含有純虛擬函數(shù)的類,所以選項D正確。
27下列符號中可以用做C++標識符的是( )。
A._radiusB.f00~barC.elseD.3room
參考答案:A
參考解析:本題考查c++標識符的命名規(guī)則.其規(guī)則有如下幾點:①所有標識符必須由字母、數(shù)字或下畫線組成.且必須由字母或下畫線開頭;②所有標識符不能使用c++已有的關(guān)鍵字;③大、小寫字母表示不同意義,即代表不同的標識符。選項B包含了字符“~”,選項C是關(guān)鍵字。選項D不能以數(shù)字開頭。故答案為A。
28有如下程序:
#include
using namespace std;
classBase{
public:
void fun(){
__________________
cout<<”Base::fun”<
};
class Derived:public Base{
public:
voidfun(){
cout<<”Derived::fun”<
}
};
int main(){
Derived d;
A fun();
return 0;
}
已知其執(zhí)行后的輸出結(jié)果為:
Base::fun
Derived::fun
則程序中下畫線處應(yīng)填入的語句是( )。
A.Base.fun();B.Base::fun();C.Base—>fun();D.fun();
參考答案:B
參考解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有的訪問屬性,其私有成員仍為基類私有。本題中想要輸出Base::fun,則必須調(diào)用基類的公用成員函數(shù)fun,所以使用Base::fun();來調(diào)用基類的成員函數(shù)fun。
29以下各選項組中,均是C++語言關(guān)鍵字的組是( )。
A.public operator thisB.shod string staticC.it while>=D.prirate cout printf
參考答案:A
參考解析:關(guān)鍵字是系統(tǒng)已預(yù)定義的單詞,在程序中有不同的用途,考生應(yīng)該熟記。
30要想使23.78965421的輸出為23.7887,應(yīng)用的語句是( )。
A.cout<<23.78965421;B.cout<
參考答案:C
參考解析:c++語言中默認小數(shù)的輸出位一共是6位,fixed的意義是在小數(shù)點后保留6位。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |