亚洲中文精品a∨在线,国产在线精品在线精品,国产亚洲欧美一区,欧美肉肉丝视频一区二区

您當(dāng)前位置: 唯學(xué)網(wǎng) » 計(jì)算機(jī)等級(jí)考試培訓(xùn) » 備考試題專題 »

計(jì)算機(jī)二級(jí)考試C++考前測(cè)試題及答案(3)

計(jì)算機(jī)二級(jí)考試C++考前測(cè)試題及答案(3)

唯學(xué)網(wǎng) • 教育培訓(xùn)

2016-7-4 13:44

計(jì)算機(jī)等級(jí)

唯學(xué)網(wǎng) • 中國教育電子商務(wù)平臺(tái)

加入收藏

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

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

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

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

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

參考答案:D

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

22有如下程序段:

int i=0,J=1;

int&r=i;//①

r=j;//②

int*P=&i;//⑧

*P=&r;//④

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

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

參考答案:A

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

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í)行這個(gè)程序的輸出結(jié)果是(  )。

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

參考答案:D

參考解析:本題考查構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,調(diào)用順序?yàn)橄葮?gòu)造的后析構(gòu),后構(gòu)造的先析構(gòu)。本題中先定義了一個(gè)對(duì)象ob1,會(huì)執(zhí)行構(gòu)造函數(shù),那么i就變?yōu)榱薼;再執(zhí)行函數(shù)f后,由于又定義了一個(gè)對(duì)象ob2,所以再次執(zhí)行構(gòu)造函數(shù),i就變?yōu)榱?,輸出了2。函數(shù)執(zhí)行完后執(zhí)行析構(gòu)函數(shù),i變?yōu)榱?,然后又定義了對(duì)象指針,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;}

};

編譯時(shí)發(fā)現(xiàn)有一處語法錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是(  )。

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

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

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

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

參考答案:A

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

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

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

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

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

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

參考答案:B

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

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

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

參考答案:C

參考解析:當(dāng)有序線性表為順序存儲(chǔ)時(shí)才能用:二分法查找。可以證明的是對(duì)于長度為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是一個(gè)Derived對(duì)象,則下列表達(dá)式中正確的是( )。

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

參考答案:B

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

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

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

參考答案:A

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

0% (0)
0% (10)
已有條評(píng)論