国产女人大黑β片在线观看_国产成人亚洲精品无码Av大片l_亚洲成人无码手机播放_强奸暴虐视频在线观看

您當前位置: 唯學網(wǎng) » 計算機等級考試培訓 » 備考試題專題 »

計算機二級考試C++考前測試題及答案(3)

計算機二級考試C++考前測試題及答案(3)

唯學網(wǎng) • 教育培訓

2016-7-4 13:44

計算機等級

唯學網(wǎng) • 中國教育電子商務平臺

加入收藏

21關(guān)于在調(diào)用模板函數(shù)時模板實參的使用,下列表述中正確的是(  )。

A.對于虛擬類型參數(shù)所對應的模板實參,如果能從模板函數(shù)的實參中獲得相同的信息,則都可以省略

B.對于虛擬類型參數(shù)所對應的模板實參,如果它們是參數(shù)表中的最后的若干個參數(shù),則都可以省略

C.對于虛擬類型參數(shù)所對應的模板實參,若能夠省略則必須省略

D.對于常規(guī)參數(shù)所對應的模板實參,任何情況下都不能省略

參考答案:D

參考解析:在調(diào)用一個模板函數(shù)時,編譯系統(tǒng)需要足夠的信息來判別每個虛擬類型參數(shù)所對應的實際類型,可以從兩個不同的渠道獲得這樣的信息:從模板實參表(用“<>”括起來的參數(shù)表)或從模板函數(shù)實參表(用“()”括起來的參數(shù)表)。如果從后者獲得的信息已經(jīng)能夠判定其中部分或全部虛擬類型參數(shù)所對應的實際參數(shù),而且它們又正好是參數(shù)表中最后的若干參數(shù),則模板實參表中的那幾個參數(shù)可以省。如果模板實參表中的實參都被省了,則空表“<>”也可以不要,因此選項D錯誤。反之,對于某個模板實參,如果從模板函數(shù)的實參表中無法獲得同樣的信息,就不能省;或者雖然能夠獲得同樣的信息,但在它后面還有其他不能省的實參,則其自身還是不能省。

22有如下程序段:

int i=0,J=1;

int&r=i;//①

r=j;//②

int*P=&i;//⑧

*P=&r;//④

其中會產(chǎn)生編譯錯誤的語句是(  )。

A.④B.③C.②D.①

參考答案:A

參考解析:本題考查指針和引用。①為引用,使用正確;④中&r表示一一個地址,而* P已經(jīng)是一個值了,不能將一個指針賦值給一個值,所以編譯錯誤。

23有如下程序:

#include

using namespace std;

class Obj{

static int i;

public:

Obj(){i++;}

一Obj(){i一一;}

static int getVal(){return i;}

};

int Obj::i=0:

void f(){Obj ob2;cout<

int main(){

Obj obl;

f();

Obj}ob3=new Obj;cout

delete ob3;cout<

return 0;

}

執(zhí)行這個程序的輸出結(jié)果是(  )。

A.232B.231C.222D.221

參考答案:D

參考解析:本題考查構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,調(diào)用順序為先構(gòu)造的后析構(gòu),后構(gòu)造的先析構(gòu)。本題中先定義了一個對象ob1,會執(zhí)行構(gòu)造函數(shù),那么i就變?yōu)榱薼;再執(zhí)行函數(shù)f后,由于又定義了一個對象ob2,所以再次執(zhí)行構(gòu)造函數(shù),i就變?yōu)榱?,輸出了2。函數(shù)執(zhí)行完后執(zhí)行析構(gòu)函數(shù),i變?yōu)榱?,然后又定義了對象指針,i變?yōu)榱?。釋放ob3后,i變?yōu)榱?,所以答案為D。

24有如下類定義:

class MyBase{

int k;

public:

MyBase(int n=O):k(n)}}

int value()eonst{return k;}

};

class MyDerived:MyBase{

intj;

public:

MyDerived(int i):j(i)}}

int getK()const{return k;}

int getJ()const{return j;}

};

編譯時發(fā)現(xiàn)有一處語法錯誤,對這個錯誤最準確的描述是(  )。

A.函數(shù)9etK試圖訪問基類的私有成員變量k

B.在類MyDerived的定義中,基類名MyBase前缺少關(guān)鍵字public、protected或private

C.類MyDerived缺少一個無參的構(gòu)造函數(shù)

D.類MyDerived的構(gòu)造函數(shù)沒有對基類數(shù)據(jù)成員k進行初始化

參考答案:A

參考解析:默認繼承方式為私有繼承,私有繼承將基類的公用成員和保護成員都變?yōu)閞私有成員,基類的私有成員依然屬于基類私有,派生類不能訪問基類的私有成員。所以A選項正確。

25下列關(guān)于虛基類的描述,錯誤的是( )。

A.設置虛基類的目的是為了消除二義性

B.虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用

C.若同一層中包含多個虛基類,這些虛基類的構(gòu)造函數(shù)按它們說明的次序調(diào)用

D.若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)

參考答案:B

參考解析:虛基類的引入就是為j-消除。二義性,其構(gòu)造函數(shù)的調(diào)用仍然是按照繼承的順序進行的,對于多個虛基類則按它們說明的次序調(diào)用,虛基類的構(gòu)造函數(shù)先于非虛基類的構(gòu)造函數(shù)執(zhí)行。

26在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是(  )。

A.O(n)B.O(n2)C.O(1092n)D.0(n1092n)

參考答案:C

參考解析:當有序線性表為順序存儲時才能用:二分法查找。可以證明的是對于長度為n的有序線性表,在最壞情況下,二分法查找只需要比較l092n次,而順序查找需要比較n次。

27在軟件開發(fā)中,需求分析階段可以使用的工具是(  )。

A.N—s圖B.DFD圖C.PAD圖D.程序流程圖

參考答案:B

參考解析:在需求分析階段可以使用的工具有數(shù)據(jù)流圖DFD圖,數(shù)據(jù)字典DD,判定樹與判定表,所以選擇B。

28有如下類聲明:

class Base{

protected:

int amount;

public:

Base(int n=0):amount(n){}

int getAmount()const{retum amount;}

};

class Derived:public Base{

protected:

int value;

public:

Derived(int m,int n):value(m),Base(n){}

int getData()const{return value+amount;}

}:

已知x是一個Derived對象,則下列表達式中正確的是( )。

A.x.value+X.getAmount()B.x.getData()一x.getAmount()C.x.getData()一x.amountD.x.value+X.amount

參考答案:B

參考解析:本題考查公有繼承中派生類對象對基類的訪問屬性。在公有繼承中,派生類對象只能訪問基類的公有成員,而不能}方問基類的保護成員和私有成員。題中x是派生類的對象,只能訪問基類中公有的Base()和getAmount()成員,而不能訪問保護類型的amount成員,故選項C、D錯誤。而類對象對類成員的訪問也存在類似的情況,即類對象只能訪問類的公有成員,而value是Derived的保護成員,所以A選項也錯誤。故答案為B。

30下面描述中,不屬于軟件危機表現(xiàn)的是( )。

A.軟件過程不規(guī)范B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制D.軟件成本不斷提高

參考答案:A

參考解析:軟件危機主要表現(xiàn)在:軟件需求的增長得不到滿足;軟件開發(fā)成本和進度無法控制;軟件質(zhì)撼難以保證;軟件不可維護或維護程度非常低;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應用需求的增長。所以選擇A。

0% (0)
0% (10)
已有條評論