《計(jì)算機(jī)二級(jí)考試c模擬練習(xí)題及答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)二級(jí)考試c模擬練習(xí)題及答案(3頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1[填空題]使用class定義的表中,成員的默認(rèn)訪問(wèn)權(quán)限是 (1) 的;由struct定義的類中,成員的默認(rèn)的訪問(wèn)權(quán)限是 (2) 的。
參考答案:(1)私有、(2)公有
2[單選題]數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,( )沒(méi)有專門的軟件對(duì)數(shù)據(jù)進(jìn)行管理。
?、?人工管理階段 Ⅱ.文件系統(tǒng)階段 Ⅲ.數(shù)據(jù)庫(kù)階段
A.僅ⅠB.僅ⅢC.Ⅰ和ⅡD.Ⅱ和Ⅲ
參考答案:A
參考解析:數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,只有人工管理階段,沒(méi)有操作系統(tǒng),沒(méi)有管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。在文件系統(tǒng)階段,操作系統(tǒng)中已經(jīng)有了專門數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。在數(shù)據(jù)庫(kù)系統(tǒng)階段,出現(xiàn)了
2、統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫(kù)管理系統(tǒng)。
3[單選題]下列關(guān)于類和對(duì)象的敘述中,錯(cuò)誤的是( )
A.一個(gè)類只能有一個(gè)對(duì)象
B.對(duì)象是類的具體實(shí)例
C.類是對(duì)某一類對(duì)象的抽象
D.類和對(duì)象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)系
參考答案:A
4[單選題] 下列說(shuō)法正確的是( )。
A.內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
B.內(nèi)聯(lián)函數(shù)在編譯時(shí)將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
C.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義
D.類的內(nèi)聯(lián)函數(shù)必須在類體外通過(guò)加關(guān)鍵字inline定義
參考答案:B
參考
3、解析:本題考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問(wèn)題,是以目標(biāo)代碼的增加為代價(jià)換取時(shí)間的節(jié)省;一般函數(shù)在運(yùn)行時(shí)被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時(shí)就被替代了,如果不加in-line關(guān)鍵字,則編譯器會(huì)將在類說(shuō)明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。
5[單選題]
參考答案:B
6[單選題] 將x+y*z中的“+”用成員函數(shù)重載,“*”是友元函數(shù)重載應(yīng)寫為( )。
A.operator+(operator*(y,z))
B.x.operator+(operator*(y,z))
C.x.operator+(X*(y,z))
D
4、.x+(operator*(y,z))
參考答案:B
參考解析:在定義了重載運(yùn)算符后的函數(shù)后,函數(shù)operator+重載了運(yùn)算符“+”。如果在類以外的其他地方定義了一個(gè)函數(shù),在類體中用friend對(duì)該函數(shù)進(jìn)行聲明,此函數(shù)就稱為本類的友元函數(shù)。“*”用友元函數(shù)重載就是運(yùn)算符函數(shù)不作為成員函數(shù),而把它放在類外,“*”被改寫為“operator*”?!?”為成員函數(shù)重載,X.operator+。所以“x+y*z”被改寫為“x.operator+(operator*(y,z))”。
7[單選題]對(duì)于類定義:
classA{
public:
virtualvoidfu
5、ncl(){}
voidfunc2(){}
};
classB:publicA{
public:
voidfuncl(){cout<<"classBfunc1"<
virtualvoidfunc2(){cout<<"classBfunc2"
<
};
下面正確的敘述是( )。
A.A::func2( )和B::func1( )都是虛函數(shù)
B.A::rune2( )和B::func1( )都不是虛函數(shù)
C.B::func1( )是虛函數(shù),而A::fune2( )不是虛函數(shù)
D.B::func1( )不是
6、虛函數(shù),而A::func2( )是虛函數(shù)
參考答案:C
參考解析:基類中說(shuō)明的虛函數(shù),在派生類中自然就是虛函數(shù),所以類B中funcl()是虛函數(shù);而類A中的func2()沒(méi)有被關(guān)鍵字virtual修飾;所以不是虛函數(shù)。
8[單選題] 軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:
該圖是( )。
A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
參考答案:C
參考解析:N—S圖提出了用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對(duì)。PAD圖是問(wèn)題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的圖形表示工具,所以B不對(duì)。E—R圖是數(shù)據(jù)庫(kù)中的用于表示E—R模型的圖示工具,所以D不對(duì)。根據(jù)圖中所示表示方法是進(jìn)行軟件詳細(xì)設(shè)計(jì)時(shí)使用的程序流程圖。
9[單選題] 設(shè)int a=1,b=2;,則(a++)+b和a+++b這兩個(gè)表達(dá)式的值分別為( )。
A.3,3B.3,4C.4,3D.4,4
參考答案:A
參考解析:?jiǎn)文康?+運(yùn)算優(yōu)先級(jí)高于雙目的+運(yùn)算,不過(guò)++的結(jié)合性是自右向左的,而+是自左向右的,所以上面的兩個(gè)表達(dá)式都是先計(jì)算a+b的值之后,a再自加1。