國(guó)家二級(jí)(C)筆試模擬試卷25(共444題)_第1頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷25(共444題)_第2頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷25(共444題)_第3頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷25(共444題)_第4頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷25(共444題)_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

家二級(jí)(C++)筆試模擬試卷25(共9

套)

(共444題)

國(guó)家二級(jí)(C++)筆試模擬試卷第1套

一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共

10分。)

1、算法的時(shí)間復(fù)雜度是指

A、算法程序運(yùn)行的具體時(shí)間

B、算法程序的長(zhǎng)度

C、算法程序執(zhí)行過(guò)程中基本運(yùn)算的次數(shù)

D、運(yùn)行時(shí)算法程序所占的內(nèi)存容量

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:算法的時(shí)間復(fù)雜度是用算法程序執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)來(lái)

衡量的。

2、下列數(shù)據(jù)結(jié)構(gòu)中能使用對(duì)分查找的是

A、二義鏈表

B、帶鏈的棧

C、有序線(xiàn)性鏈表

D、有序順序表

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:對(duì)分查找只能適用于順序存儲(chǔ)的有序線(xiàn)性表。

3、按“先進(jìn)先出”原則組織數(shù)據(jù)的結(jié)構(gòu)是

A、有序表

B、棧

C、隊(duì)列

D、二叉樹(shù)

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:棧是按“先進(jìn)后出”原則組織數(shù)據(jù)的結(jié)構(gòu);隊(duì)列是按“先進(jìn)先出”原則組

織數(shù)據(jù)的結(jié)構(gòu);而有序表與二叉樹(shù)均不是。因此,本題的正確答案為C。

4、對(duì)下列二叉樹(shù)進(jìn)行前序遍歷的結(jié)果是

A、ZBTYCPXA

B、ATBZXCYP

C、ZBTACYXP

D、ATBZXCPY

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:按照二叉樹(shù)前序遍歷的方法:在訪(fǎng)問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右于

樹(shù)這三者中,首先訪(fǎng)問(wèn)艱結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右于樹(shù);并且.在遍歷

左、右子樹(shù)時(shí),仍然先訪(fǎng)問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。對(duì)本題中

的二叉樹(shù)進(jìn)行前序遍歷的結(jié)果應(yīng)是ATBZXCYPo

5、下列敘述中正確的是

A、軟件就是程序清單

B、軟件就是存放在計(jì)算機(jī)中的文件

C、軟件應(yīng)包括程序清單以及運(yùn)行結(jié)果

D、軟件包括程序和文檔

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:軟件應(yīng)包括程序和文檔。

6、在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送

A、調(diào)用語(yǔ)句

B、命令

C、口令

D、消息

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)是通過(guò)發(fā)送消息

來(lái)實(shí)現(xiàn)的。

7、在模塊化程序設(shè)計(jì)中,按功能劃分模塊的原則是

A、各模塊的功能盡量單一,且各模塊之間的聯(lián)系盡量的少

B、各模塊的功能盡量單一,且各模塊之間的聯(lián)系盡量緊密

C、各模塊應(yīng)包括盡量多的功能

D、各模塊應(yīng)包括盡量多的輸入輸出操作

標(biāo)準(zhǔn)答案:

知識(shí)之解析A:在模塊化程序設(shè)計(jì)中,按功能劃分模塊的原則是:要求各模塊的功能

盡量單一,且各模塊之間的聯(lián)系盡量的少。

8、下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是

A、數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B、數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C、數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類(lèi)型一致

D、數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)只是減少了數(shù)據(jù)冗余,但避免一切冗余;數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)

據(jù)的一致性并不是指數(shù)據(jù)類(lèi)型一致,而是指采用了統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)方式,數(shù)據(jù)庫(kù)系

統(tǒng)與文件系統(tǒng)比較,數(shù)據(jù)庫(kù)系統(tǒng)解決了數(shù)據(jù)共享問(wèn)題。

9、在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是

A、樹(shù)結(jié)構(gòu)

B、網(wǎng)結(jié)構(gòu)

C、線(xiàn)性表

D、二維表

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是二維表。

10、下列敘述中正確的是

A、數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持

B、數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題

C、數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)

D、以上三種說(shuō)法都不對(duì)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)管理最本質(zhì)的特點(diǎn)是實(shí)現(xiàn)數(shù)據(jù)的共享。為了實(shí)現(xiàn)數(shù)據(jù)的共享,

保證數(shù)據(jù)的獨(dú)立性、完整性和安全性,需要有一組軟件來(lái)管理數(shù)據(jù)庫(kù)中的數(shù)據(jù),處

理用戶(hù)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),這組軟件就是數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。數(shù)據(jù)庫(kù)管理系統(tǒng)

與計(jì)算機(jī)系統(tǒng)內(nèi)的其他軟件一樣,也在操作系統(tǒng)(OS)的支持下工作,它與操作系

統(tǒng)的關(guān)系極為密切。操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)與應(yīng)用程序在一定的硬件支持下就

構(gòu)成了數(shù)據(jù)庫(kù)系統(tǒng)。

二、選擇題(本題共25題,每題分,共25分。)

11、以下敘述中不正確的是

A、在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參

B、在C的函數(shù)中,最好使用全局變量

C、在c中,形式參數(shù)只是局限于所在函數(shù)

D、在C中,函數(shù)名的存儲(chǔ)類(lèi)別為外部

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題也是考查C語(yǔ)言中函數(shù)的概念及其使用。函數(shù)調(diào)用時(shí),值可以

雙向傳遞,并沒(méi)有限制咬用全局變量還是局部變量,需要根據(jù)程序的邏輯需要進(jìn)行

選擇。

12、C++語(yǔ)言中函數(shù)返回值的類(lèi)型決定于

A、return語(yǔ)句中的表達(dá)式類(lèi)型

13、調(diào)用函數(shù)的主調(diào)函數(shù)類(lèi)型

C、調(diào)用函數(shù)時(shí)臨時(shí)類(lèi)型

D、定義函數(shù)時(shí)所指定的函數(shù)類(lèi)型

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:函數(shù)在定義時(shí)已經(jīng)可以指定其函數(shù)類(lèi)型,則函數(shù)返回值類(lèi)剎就是該類(lèi)

型。

13、若要說(shuō)明一個(gè)類(lèi)型名STP,使得STPs;等價(jià)于char*s,以下選項(xiàng)中正確的

A、typcdcfSTPchar&*s;

B、typedef*charSTP;'

CNtypcdcfSTP*char;'

D、typcdefchar*TP;

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查類(lèi)型定義typedef的使用方式,考生常犯的問(wèn)題是把兩者的

位置顛倒。

14、以下非法的賦值語(yǔ)句是

A、n=(i=2,十十i);

B、j++;

C、++(i+l),

D、x=i>0;

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題其實(shí)是考查各級(jí)運(yùn)算符的優(yōu)先級(jí)的。選項(xiàng)A賦值符號(hào)右側(cè)為逗

號(hào)表達(dá)式,其取值為最后一項(xiàng)表達(dá)式的值;選項(xiàng)B隱含表示為j=J+l,這是很常用

的一種賦值表達(dá)式。選項(xiàng)D賦值符號(hào)右側(cè)為邏輯表達(dá)式,其值為1或0,可以賦值

給變量X。將選項(xiàng)C展開(kāi)為i+l=i+l+l,這是錯(cuò)誤的。

15、C++語(yǔ)言中在C語(yǔ)言的基礎(chǔ)上增加的特性不包括

A、G構(gòu)

B、引用

C、類(lèi)和對(duì)象

D、靜態(tài)成員函數(shù)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題很簡(jiǎn)單,不過(guò)考生要注意引用是C++的新特性。只有結(jié)構(gòu)是C

語(yǔ)言就出現(xiàn)的特性。

16、對(duì)于下列語(yǔ)句,正確的判斷是for(x=0,y=0;(y!=123)&&(x<

x++)?

A、是無(wú)限循環(huán)

B、循環(huán)次數(shù)不定

C、最多執(zhí)行4次

D、最多執(zhí)行3次

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題考查for循環(huán)條件中三個(gè)表達(dá)式的執(zhí)行順序。首先執(zhí)行表達(dá)式

一,然后執(zhí)行表達(dá)式二,如果表達(dá)式二為真,則循環(huán)體執(zhí)行,然后執(zhí)行表達(dá)式三,

接著繼續(xù)執(zhí)行表達(dá)式二,如此循環(huán)。考生要注意的是,本題中表達(dá)式三中包含了變

量x的增量操作,因此可以由表達(dá)式二和三一起控制循環(huán)體的執(zhí)行次數(shù)。本題正確

答案為C。

17、若有說(shuō)明:inia[3]|4|;則對(duì)a數(shù)組元素的非法引用是

A、a[0][2*l]

B、a[l][3]

C、a|4-2]|0]

D、a[0][4]

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:在數(shù)組這部分的知識(shí)里面,數(shù)組下標(biāo)越界是一個(gè)比較容易忽略的問(wèn)

題,其下標(biāo)是從。開(kāi)始,至n-1為止,因此選項(xiàng)D是正確答案。

18、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是

A、6.5

B、6

C、5.5

D、6

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:混合表達(dá)式的值的類(lèi)型是由表達(dá)式中具有最高精度的類(lèi)型確定,因此

可知選項(xiàng)B可排除。注意b/b的結(jié)果應(yīng)是1.00000,而(int)a則為5,相加的結(jié)果

還是double型,故正確答案應(yīng)為D。

19、下面賦值語(yǔ)句中正確的是

A、a=7+b+c=a+7;

B、a=7+b++=a+7;

C、a=7+b,b++,a+7;

D、a=7+b,c=a+7;

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:賦值語(yǔ)句合法的重要標(biāo)志之一就是賦值符號(hào)的左側(cè)應(yīng)該表示為一個(gè)變

量,即可以在內(nèi)存中存在一塊空間用于存放賦值符號(hào)右側(cè)的值。據(jù)此,可以斷定選

項(xiàng)A和B可以排除。注意;選項(xiàng)C中不是逗號(hào)表達(dá)式,要考慮優(yōu)先級(jí)的問(wèn)題。本

題答案為D。

20、語(yǔ)句cout<<(a=2)&&(b=-2);的輸出結(jié)果是

A、無(wú)輸出

B、編譯錯(cuò)誤

C、-1

D、1

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:很明顯.本題考查的是表達(dá)式的值作為結(jié)果輔出。可以看出,本表達(dá)

式是一個(gè)邏輯表達(dá)式,其結(jié)果為真或假,那么輸出則對(duì)應(yīng)1和0,故排除選項(xiàng)C。

本題答案為D。

21、在下面的函數(shù)聲明中,存在著語(yǔ)法錯(cuò)誤的是

A、voidBC(inta,int)

B、voidBD(int,int)

C、voidBE(int,int=5)

D、intBF(intx;intv)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:函數(shù)聲明時(shí),可以指定其形參的默認(rèn)值,不過(guò)要從右向左指定;可以

省略形參名,僅以形參類(lèi)型表示;形參表之間用逗號(hào)分割。因此,本題答案為D。

22、下列關(guān)于指針的操作中,錯(cuò)誤的是

A、兩個(gè)同類(lèi)型的指針可以進(jìn)行比較運(yùn)算

B、可以用一個(gè)空指針賦給某個(gè)指針

C、一個(gè)指針可以加上兩個(gè)整數(shù)之差

D、兩個(gè)同類(lèi)型的指針可以相加

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查指針能夠進(jìn)行的運(yùn)算方式。指針可以加減一個(gè)整數(shù),兩個(gè)指

針可以相減,表示指針之間的元素個(gè)數(shù)。指針相加則沒(méi)有意義,因此本題答案為

Do

23、靜態(tài)成員函數(shù)不能說(shuō)明為

A、整型函數(shù)

B、常函數(shù)

C、虛函數(shù)

D、內(nèi)聯(lián)函數(shù)

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:靜態(tài)函數(shù)不能說(shuō)明為虛函數(shù)。

24、靜態(tài)成員函數(shù)沒(méi)有

A、返回值

B、this指針

C、指針參數(shù)

D、返回類(lèi)型

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:this指針是系統(tǒng)隱含的用于指向當(dāng)前對(duì)象的指針。由于靜態(tài)函數(shù)是同

類(lèi)中所以對(duì)象都共享的函數(shù),在內(nèi)存當(dāng)中只存在一份,不屬于某個(gè)對(duì)象所有,所以

靜態(tài)函數(shù)沒(méi)有this指針c

25、以F程序的輸出結(jié)果為main()intm=7,n=4;floata=38.4,b=6.4,x;

x=m/2+n*a/b+l/2;cout<<x<<endl;}

A、27

B、27.5

C、28

D、28.5

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查表達(dá)式值的類(lèi)型由參與運(yùn)算的所有變量的類(lèi)型中優(yōu)先級(jí)最高

的變量類(lèi)型所決定。不過(guò)要注意的是整型向floai型轉(zhuǎn)換時(shí).將丟失小數(shù)部分,即

向下馭值。

26執(zhí)行下列語(yǔ)句后,輸出結(jié)果為cout.put(C);coutVV,VN;

A、ca

B>sea

C、s

D、a

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題很簡(jiǎn)單,考查cent對(duì)象的成員函數(shù)put方法和VV操作符的使用

方法。

27、下列運(yùn)算符中,不能重載的是

A、?:

B、+

C、-

D、V=

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析::?是C++口惟一一個(gè)三目運(yùn)算符,不能被重載。

28、所有在函數(shù)中定義的變量及函數(shù)的形式參數(shù),都屬于

A、全局變量

B、局部變量

C、靜態(tài)變量

D、常量

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查幾種變量的作用域范圍及其分類(lèi)。

29、為引入對(duì)象的同義詞,對(duì)象的別名稱(chēng)為

A、指針

B、引

C、枚舉

D、結(jié)構(gòu)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:引用是C++引入的一個(gè)新概念,表示變量或?qū)ο蟮膭e名。

30、以下不屬于構(gòu)造函數(shù)特征的是

A、構(gòu)造函數(shù)名與類(lèi)名相同

B、構(gòu)造函數(shù)可以重載

C、構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)

D、構(gòu)造函數(shù)必須指定函數(shù)類(lèi)型

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:類(lèi)的構(gòu)造函數(shù)不能指定函數(shù)類(lèi)型,由系統(tǒng)采取默認(rèn)的處理方式,不需

要用戶(hù)參與。

31、以下關(guān)于虛函數(shù)的敘述中不正確的是

A、虛函數(shù)屬于成員函數(shù)

B、虛函數(shù)不允許說(shuō)明成靜態(tài)的

C、凡是虛函數(shù)必須用virtual說(shuō)明

D、虛函數(shù)可以被繼承

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:虛函數(shù)的引入是為了解決動(dòng)態(tài)綁定問(wèn)即,使類(lèi)的實(shí)例表現(xiàn)出多態(tài)性,

虛函數(shù)在繼承后依然保守虛函數(shù)特性,此時(shí)不需要用virtual關(guān)鍵詞修飾。

32、類(lèi)的構(gòu)造函數(shù)的作用是

A、一般成員函數(shù)

B、類(lèi)的初始化

C、對(duì)象的初始化

D、刪除對(duì)象創(chuàng)建的所布.對(duì)象

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題考查類(lèi)的構(gòu)造函數(shù)的作用,構(gòu)造函數(shù)一般負(fù)責(zé)完成對(duì)象建立時(shí)的

初始化工作,如資源的分配。

33、繼承機(jī)制的作用是

A、信息隱藏

B、數(shù)據(jù)封裝

C、定義新類(lèi)

D、數(shù)據(jù)抽象

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:繼承是類(lèi)的一個(gè)重要特性,沒(méi)有繼承,面向?qū)ο蠓椒ㄒ簿筒淮嬖?。?/p>

是有了繼承,才呈現(xiàn)出豐富多彩的類(lèi)和對(duì)象。

34、關(guān)于虛函數(shù)的描述中正確的是

A、虛函數(shù)是一個(gè)靜態(tài)成員函數(shù)

B、虛函數(shù)是一個(gè)非成員函數(shù)

C、虛函數(shù)既可以在函數(shù)說(shuō)明時(shí)定義,也可以在函數(shù)實(shí)現(xiàn)時(shí)定又

D、派生類(lèi)的虛函數(shù)與基類(lèi)中對(duì)應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類(lèi)型

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:虛函數(shù)不能定義為靜態(tài)函數(shù);虛函數(shù)的作用在于繼承,表現(xiàn)出動(dòng)態(tài)

性。所以,在派生類(lèi)中定義的虛函數(shù)必須和基類(lèi)中對(duì)應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)

數(shù)和類(lèi)型。

35、下列表示純虛函數(shù)的成員函數(shù)是

A、virtualintfunc(int);

B、voidfunc(int)=O?

C、virtualvoidfunc=0;

D、virtualvoidfunc(int){}

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:由于在前序遍歷中首先訪(fǎng)問(wèn)根結(jié)點(diǎn),因此,前序序列中的第一個(gè)結(jié)點(diǎn)

為二叉樹(shù)的根結(jié)點(diǎn),即D為二叉樹(shù)的根結(jié)點(diǎn)。又由于在中序遍歷中訪(fǎng)問(wèn)根結(jié)點(diǎn)的

次序?yàn)榫又?,而訪(fǎng)問(wèn)左于樹(shù)上的結(jié)點(diǎn)為居先,訪(fǎng)問(wèn)右子樹(shù)上的結(jié)點(diǎn)為最后,因此,

在中序序列中,以根結(jié)點(diǎn)(D)為分界線(xiàn),前面的子序列(ABC)一定在左子樹(shù)中,后

面的子序列(EFG)一定在右于樹(shù)中。同樣的道理,對(duì)于已經(jīng)劃分出的每一個(gè)子序列

的所有結(jié)點(diǎn)中,位于前序序列最前面的一個(gè)結(jié)點(diǎn)為子樹(shù)的根結(jié)點(diǎn).而在中序序列中

位于該根結(jié)點(diǎn)前面的結(jié)點(diǎn)構(gòu)成左子樹(shù)上的結(jié)點(diǎn)子序列,位于該根結(jié)點(diǎn)后面的結(jié)點(diǎn)構(gòu)

成右子樹(shù)上的結(jié)點(diǎn)子序列。這個(gè)處理過(guò)程直到所有子序列為空為止。根據(jù)上述道

理,該二叉樹(shù)恢復(fù)的過(guò)程如下圖所示;[*]根據(jù)后序遍歷的方法,對(duì)該二叉樹(shù)后序

遍歷的結(jié)果為ACBEGFD.,

三、公共基礎(chǔ)填空題(本題共5題,每題7.0分,共5

分。)

36、假設(shè)為循環(huán)隊(duì)列分配的向量空間為Q[20],若隊(duì)列的長(zhǎng)度和隊(duì)頭指針值分別為

13和17,則當(dāng)前尾指針的值為【】。

標(biāo)準(zhǔn)答案:10

知識(shí)點(diǎn)解析:假設(shè)為循環(huán)隊(duì)列分配的向量空間為Q[20],若隊(duì)列的長(zhǎng)度和隊(duì)頭指針

值分別為13和17,則當(dāng)前尾指針的值為10。

37、廣義表的深度是指【】。

標(biāo)準(zhǔn)答案:表展開(kāi)后括號(hào)的層數(shù)

知識(shí)點(diǎn)解析:在廣義表的深度是指表展開(kāi)后括號(hào)的層數(shù)。

38、棧頂?shù)奈恢檬请S著【】操作而變化的。

標(biāo)準(zhǔn)答案:進(jìn)棧和退棧

知識(shí)點(diǎn)解析:棧頂?shù)奈恢檬请S著進(jìn)棧和退棧操作而變化的。

39、在單鏈表上難以實(shí)現(xiàn)的排序方法有希爾排序、【】和堆排序。

標(biāo)準(zhǔn)答案:快速排序

知識(shí)點(diǎn)解析:在單鏈表上難以實(shí)現(xiàn)的排序方法有希爾排序、快速排序和堆排序。因

為這三種排序方法均適合完成順序結(jié)構(gòu)的排序,可隨機(jī)訪(fǎng)問(wèn)其中的元素。而單鏈表

屬于動(dòng)態(tài)的數(shù)據(jù)結(jié)構(gòu),訪(fǎng)問(wèn)元素要通過(guò)指針來(lái)實(shí)現(xiàn)。

40、在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所需進(jìn)行的

關(guān)鍵字比較次數(shù)為【】。

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所

需進(jìn)行的關(guān)鍵字比較次數(shù)為2,僅需要拆分2次即可找到72。

四、填空題(本題共70題,每題1.0分,共10分。)

41、C++中類(lèi)作用域符是【】。

標(biāo)準(zhǔn)答案:::

知識(shí)點(diǎn)解析:類(lèi)作用域符::。

42、在函數(shù)原型聲明中,可以省略參數(shù)名,但必須聲明函數(shù)參數(shù)的【】。

標(biāo)準(zhǔn)答案:類(lèi)型

知識(shí)點(diǎn)解析:不能省略參數(shù)的類(lèi)型。

43、在類(lèi)中聲明的靜態(tài)浮點(diǎn)數(shù)的默認(rèn)初始化值是【】。

標(biāo)準(zhǔn)答案:O

知識(shí)點(diǎn)解析:靜態(tài)變量由系統(tǒng)自動(dòng)初始化為0。

44、定義一個(gè)函數(shù)時(shí),若只允許函數(shù)體訪(fǎng)問(wèn)形參的值而不允許修改它的值,則應(yīng)把

該形參聲明為【】類(lèi)型。

標(biāo)準(zhǔn)答案:const

知識(shí)點(diǎn)解析:用cons[修飾的參數(shù)為常類(lèi)型參數(shù)。

45、在C++中,給一變量取別名,可以通過(guò)【】方式。

標(biāo)準(zhǔn)答案:引用

知識(shí)點(diǎn)解析:引用是給對(duì)對(duì)象的別名,對(duì)引用的操作就是對(duì)被引用對(duì)象的操作。

46、面向?qū)ο蟮幕咎攸c(diǎn)包括繼承性、封裝性和【】。

標(biāo)準(zhǔn)答案:多態(tài)性

知識(shí)點(diǎn)解析:繼承性、封裝性及多態(tài)性是面向?qū)ο蟮幕咎攸c(diǎn)。

47、C++源程序中,只有【】個(gè)主函數(shù)。

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:C++源程序中,只有1個(gè)主函數(shù)。

48、虛基類(lèi)是含有[】函數(shù)的類(lèi)。

標(biāo)準(zhǔn)答案:虛

知識(shí)點(diǎn)解析:虛基類(lèi)是含有虛函數(shù)的類(lèi)。

49、卜面程序執(zhí)行的結(jié)果是[】#include<iostream>usingnamespacestd;class

A{public:staticintx;A(inty){cout<<x+y;}};intA::x=2;voidmain(){A

a⑸;)

標(biāo)準(zhǔn)答案:7

知識(shí)點(diǎn)解析:程序的靜態(tài)變量初始化為2,而構(gòu)造函數(shù)招待過(guò)程中y變量為初始化

為5,故程序執(zhí)行的結(jié)吳為7。

50、下面程序執(zhí)行的結(jié)果是【】。#include<iostream>usingnamespacestd;

voidmain(){intsum=0;intarray[6]={1,2,3,4,5,6);int*p:p=&array[0];

for(inti=0;i<6;i++){sum=sum+*p;p++;)cout<<sum;}

標(biāo)準(zhǔn)答案:21

知識(shí)點(diǎn)解析:本題用數(shù)組地址來(lái)訪(fǎng)問(wèn)數(shù)組內(nèi)容,通過(guò)數(shù)組指針來(lái)操作數(shù)組內(nèi)容,依

次取出數(shù)組內(nèi)容進(jìn)行加和,然后進(jìn)行輸出。

五、填空題(含2小題)(本題共I題,每題7.0分,

共7分。)

51、C++編譯時(shí)的多態(tài)性體現(xiàn)在[】,運(yùn)行時(shí)的多態(tài)性體現(xiàn)在【】。

標(biāo)準(zhǔn)答案:重載虛函數(shù)

知識(shí)點(diǎn)解析:C++編譯時(shí)的多態(tài)性體現(xiàn)在重載,運(yùn)行時(shí)的多態(tài)性體現(xiàn)在虛函數(shù)。

國(guó)家二級(jí)(C++)筆試模擬試卷第2套

一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共

10分。)

1、算法分析的目的是()。

A、找出數(shù)據(jù)結(jié)構(gòu)的合理性

B、找出算法中輸入和輸出之間的關(guān)系

C、分析算法的易懂性和可靠性

D、分析算法的效率以求改進(jìn)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:算法是指對(duì)解題方案準(zhǔn)確而完整的描述,而對(duì)算法進(jìn)行分析的目的,

是為了在原有的基礎(chǔ)上,對(duì)算法進(jìn)行改進(jìn),從而提高對(duì)數(shù)據(jù)的處理效率。

2、下列敘述中正確的是()。

A、線(xiàn)性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的

B、線(xiàn)性鏈表的頭元素一定存儲(chǔ)在其他元素的前面

C、線(xiàn)性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存

儲(chǔ)在其他元素的前面

D、線(xiàn)性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順

序也是任意的

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:在線(xiàn)性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序

也是任意的,依靠指制來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。

3、線(xiàn)性表常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。

A、順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

B、散列方法和索引方式

C、鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組

D、線(xiàn)性存儲(chǔ)結(jié)構(gòu)和非線(xiàn)性存儲(chǔ)結(jié)構(gòu)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:線(xiàn)性表的存儲(chǔ)通常要用兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)

構(gòu)C

4、設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素a、b、c、d、e和f依次通過(guò)棧s,一個(gè)

元素出棧后即進(jìn)入隊(duì)列Q,若6個(gè)元素出隊(duì)的順序是b、d、c、f、e、a,則棧s的

容量至少應(yīng)該是()。

A、6

B、4

C、3

D、2

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:棧的操作規(guī)則是后進(jìn)先出,隊(duì)列的運(yùn)算規(guī)則是先進(jìn)先出。對(duì)于本題,

出隊(duì)順序也就是入隊(duì)順序,同樣也是出棧順序,為了得到b、d、c、f、e、a出棧

順序,則入棧順序應(yīng)該是a進(jìn)、b進(jìn)、b出、c進(jìn)、d進(jìn)、d出、c出、e進(jìn)、f進(jìn)、f

出、e出、a出。可以看作最多只有3個(gè)元素在棧內(nèi),所以棧的容量最少應(yīng)為3。

5、數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng):DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A、DB包括DBS和DBMS

B、DBMS包括。DB和DBS

C、DBS包括DB和DBMS

D、沒(méi)有任何關(guān)系

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)(DBS)由數(shù)據(jù)庫(kù)(DB)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)庫(kù)

管理員、硬件平臺(tái)和軟件平臺(tái)5個(gè)部分組成,可見(jiàn)DB和DBMS都是DBS的組成

部分。

6、在包含1000個(gè)元素的線(xiàn)性表中實(shí)現(xiàn)如下各運(yùn)算,所需的執(zhí)行時(shí)間最長(zhǎng)的是()。

A、線(xiàn)性表按順序方式存儲(chǔ),在線(xiàn)性表的第100個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)

B、線(xiàn)性表按鏈接方式存儲(chǔ)、在線(xiàn)性表的第100個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)

C、線(xiàn)性表按順序方式存儲(chǔ),刪除線(xiàn)性表的第900個(gè)結(jié)點(diǎn)

D、線(xiàn)性表按鏈接方式存儲(chǔ),刪除指針P所指向的結(jié)點(diǎn)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:由于線(xiàn)性表采用的是順序存儲(chǔ)方式,用存儲(chǔ)單元的鄰接性體現(xiàn)線(xiàn)性表

元素間的一維順序關(guān)系,因此對(duì)線(xiàn)性表進(jìn)行插入和刪除運(yùn)算時(shí),可能需要移動(dòng)大量

的結(jié)點(diǎn),以保持這種物理和邏輯的一致性。對(duì)于選項(xiàng)A),后面的900個(gè)結(jié)點(diǎn)都要

住后移動(dòng),對(duì)于選項(xiàng)C),后面的100個(gè)結(jié)點(diǎn)都要往前移動(dòng)。而對(duì)于線(xiàn)性表按鏈接

方式存儲(chǔ),當(dāng)進(jìn)行插入與刪除操作時(shí),只改變相應(yīng)的指針即可,所以比較4個(gè)選項(xiàng)

的操作可得知選項(xiàng)A)所需要的執(zhí)行時(shí)間最長(zhǎng)。

7、一間教室可坐多名學(xué)生,則實(shí)體教室和學(xué)生之間的聯(lián)系是()。

A、一對(duì)一

B、一對(duì)多

C、多對(duì)一

D、多對(duì)多

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:兩個(gè)實(shí)體集間的聯(lián)系可以有下面幾種:一對(duì)一的聯(lián)系、一對(duì)多或多對(duì)

一的聯(lián)系和多對(duì)多的聯(lián)系。由于一間教室可以坐多個(gè)學(xué)生,所以它們的聯(lián)系是一對(duì)

多聯(lián)系。

8、對(duì)于長(zhǎng)度為n的線(xiàn)性表,在最壞情況下,下列各種排序法所對(duì)應(yīng)的比較次數(shù)中

正確的是()。

A、冒泡排序?yàn)閚/2

B、冒泡排序?yàn)閚

C、快速排序?yàn)閚

D、快速排序?yàn)閚(n?l)/2

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:在最壞情況下,冒泡排序和快速排序的比較次數(shù)都是n(n-l),2。

9、對(duì)關(guān)系S和R進(jìn)行集合運(yùn)算,結(jié)果中既包含s中的所有元組也包含R中的所有

元組,這樣的集合運(yùn)算稱(chēng)為()。

A、并運(yùn)算

B、交運(yùn)算

C、差運(yùn)算

D、積運(yùn)算

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:關(guān)系的并運(yùn)算是指,由結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,形成一個(gè)新的關(guān)

系,其中包含兩個(gè)關(guān)系中的所有元組。

10、建立E-R模型的工作,屬于軟件生命周期中的()。

A、需求分析階段

B、設(shè)計(jì)階段

C、編碼階段

D、測(cè)試階段

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:建立E-R模型是數(shù)據(jù)庫(kù)概念設(shè)計(jì)的重要內(nèi)容,而概念設(shè)計(jì)是設(shè)計(jì)階

段的組成部分。

二、選擇題(本題共25題,每題1.0分,共25分。)

11、有如下程序:#includeusingnamespacestd:classA{public:

A(){cout?44A,\}~A0{tout〈v“?A";)};classB:publicA{A*ppublic:

B(){cout?4tBM;p=newA;}~B(){coutvv“~B";deletep;));intmain(){B

obj;return0;)執(zhí)行這個(gè)程序的輸出結(jié)果是()。

A、BAA?A?B?A

B、ABA~B~A?A

C^BAA?B?A~A

D、ABA?A?B?A

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:此題考查的是類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)。派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序

為:首先調(diào)用基類(lèi)的構(gòu)造函數(shù),調(diào)用順序按它們被繼承時(shí)說(shuō)明的順序;然后調(diào)用子

對(duì)象的構(gòu)造函數(shù),調(diào)用順序按它們?cè)陬?lèi)中說(shuō)明的順序;最后是派生類(lèi)構(gòu)造函數(shù)中的

內(nèi)容。因此本題中,首先調(diào)用基類(lèi)構(gòu)造函數(shù)輸出A,然后調(diào)用子對(duì)象的構(gòu)造函數(shù)輸

出B,p=newA再調(diào)用類(lèi)A的構(gòu)造函數(shù)輸出A;析構(gòu)函數(shù)的調(diào)用順序和構(gòu)造函數(shù)的

調(diào)用順序相反。

12>若有以下程序:includeusingnamespacestd:classA{public:A(int

{a=i:b=j;jvoidmove(intx,inty){a+=x;b+=y;}voidshow(){cout(

A、3,4

B、6,8

C、6,9

D、4,3

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:此題的執(zhí)行過(guò)程如下:首先Bd(3,4);語(yǔ)句調(diào)用B類(lèi)的構(gòu)造函數(shù):

B(inti,intj),B的構(gòu)造函數(shù)中調(diào)用基類(lèi)A的構(gòu)造函數(shù),使得a=3,b=4;d.fun()會(huì)

調(diào)用函數(shù)move(3,5),使得(3,4)和(3,51的對(duì)應(yīng)部分分別相加,最后輸出6,

90

13^有如下程序:#includeusingnamespacestd:classTest{public:Test()

{n+=2;)~l'cst()(n-=3;)staticimgetNum(){returnn;(private:staticintn;);

intTest:n=l;intmain(){Test*p=newTest;deletep;cout?un;"v

A、n=0

B、n=l

C、n=2

D^n=3

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:語(yǔ)句Test^p=newTest;會(huì)調(diào)用類(lèi)的構(gòu)造函數(shù)'rest(){n+=2;},使n的

值由原來(lái)的1變?yōu)?,然后deletep調(diào)用類(lèi)的析構(gòu)函數(shù)?Test(){n-=3.},因?yàn)閚是

static型變量,所以會(huì)在3的基礎(chǔ)_£減3使得輸出結(jié)果為0。

14、假定MyClass為一個(gè)類(lèi),那么下列的函數(shù)說(shuō)明中,()為該類(lèi)的析構(gòu)函數(shù)。

A^void?MyClass。;

B、?MyClass(intn);

C、MyClass();

D^?MyClass。;

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:C++語(yǔ)言中析構(gòu)函數(shù)為符號(hào)“?”加類(lèi)名,且析構(gòu)函數(shù)沒(méi)有返回值和參

數(shù).故前不加void關(guān)鍵字°所以I卜確的形式應(yīng)該是?MyClas*()?

15、下列情況中,不會(huì)調(diào)用拷貝構(gòu)造函數(shù)的是()。

A、用一個(gè)對(duì)象去初始化同一類(lèi)的另一個(gè)新對(duì)象時(shí)

B、將類(lèi)的一個(gè)對(duì)象賦值給該類(lèi)的另一個(gè)對(duì)象時(shí)

C、函數(shù)的形參是類(lèi)的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí)

D、函數(shù)的返回值是類(lèi)的對(duì)象,函數(shù)執(zhí)行返回調(diào)用時(shí)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:拷貝構(gòu)造函數(shù)是一個(gè)特殊的構(gòu)造函數(shù),它用一個(gè)已知的對(duì)象初始化一

個(gè)正在創(chuàng)建的同類(lèi)對(duì)象,它的一般格式是:類(lèi)名::類(lèi)名(Const類(lèi)名&引用對(duì)象

名)。當(dāng)一個(gè)類(lèi)的對(duì)象賦值給該類(lèi)的另一個(gè)對(duì)象時(shí),是賦值而不是創(chuàng)建對(duì)象,所以

不會(huì)調(diào)用拷貝構(gòu)造函數(shù)。

16、下列有關(guān)拷貝構(gòu)造函數(shù)的描述中錯(cuò)誤的是()。

A、拷貝構(gòu)造函數(shù)是一種構(gòu)造函數(shù)

B、拷貝構(gòu)造函數(shù)與一般的構(gòu)造函數(shù)一樣,可以設(shè)置多個(gè)形參

C、每一個(gè)類(lèi)中都必須有一個(gè)拷貝構(gòu)造函數(shù)

D、拷貝構(gòu)造函數(shù)的功能是用一個(gè)已知對(duì)象去初始化一個(gè)正在創(chuàng)建的對(duì)象

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:拷貝構(gòu)造函數(shù)是一個(gè)特殊的構(gòu)造函數(shù),它用一個(gè)已知的對(duì)象初始化一

個(gè)正在創(chuàng)建的同類(lèi)對(duì)象,它不能指定函數(shù)返回類(lèi)型;只有一個(gè)參數(shù),是同類(lèi)的某個(gè)

對(duì)象名的引用。每一個(gè)類(lèi)中都必須有一個(gè)拷貝構(gòu)造函數(shù),如果類(lèi)中未聲明,編譯器

會(huì)自動(dòng)生成一個(gè)公有的拷貝構(gòu)造函數(shù)。

17、類(lèi)MyClass的定義如下,若要對(duì)value賦值,則下面語(yǔ)句正確的是()。class

MyClass{public:MyClass(){)MyClass(inti){value=newint(i);}int*value;):

A、MyClassmy;my.value=10;

B、MyClassmy;*my.valuc=10;

C、MyClassmy;my.*value=10;

D^MyClassiny(10):

標(biāo)準(zhǔn)答案:D.

知識(shí)點(diǎn)解析:因題目中定義的指針value是指向變量i的,所以直接利用語(yǔ)句

MyClass(inti){value=ne\vint(i):}對(duì)value進(jìn)行賦值即可。

18、若有如下程序:#includcusingnamespacestd;ints=0:classsample

{staticintn:public:sample(inti){n=i:)staticvoidadd(){S+=n:));int

sample::n=0:intmain(){samplea(2),b(5);sample::add();cout<

A、2

B、5

C、7

D、3

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:執(zhí)行語(yǔ)句飛amplea(2).b(5)”:的結(jié)果是使n的值最終變?yōu)?.

sample::add()語(yǔ)句調(diào)用函數(shù)staticvoidadd(),使得s=s+n=5。

19、下列運(yùn)算符中不能在C++中重載的是()。

A、?:

B、+

C、-

D^<=

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:此題考查的是運(yùn)算符的有關(guān)概念。運(yùn)算符重載是針對(duì)C++原有運(yùn)算

符進(jìn)行的,不能通過(guò)重載創(chuàng)造新的運(yùn)算符;除了.、.求、->、::、?:這五個(gè)運(yùn)算符之

外,其他運(yùn)算符都可以重載。

20、下列重載函數(shù)中,正確的是()。

A、voidfun(inta,floatb);voidfun(intC,floatd)

B>voidfun(inta,floatb);voidfun(floata,intb)

C^floatfun(inta,floatb);intfun(intb,floata)

D^intfun(inta,intb);floatfun(inta?intb)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:所謂函數(shù)重載是指同一函數(shù)名可以對(duì)應(yīng)多個(gè)函數(shù)實(shí)現(xiàn)。進(jìn)行函數(shù)重載

時(shí),要求同名函數(shù)在參數(shù)個(gè)數(shù)上不同,或者參數(shù)類(lèi)型上不同。

21、有如卜程序:#includeusingnamespacestd;classsample{private:intx,y;

public:sample(inti,intj){x=i:y=j;}voiddisp(){cout?udispl”v

A、displ

B、disp2

C、displdisp2

D、程序編譯時(shí)出錯(cuò)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:因?yàn)閷?duì)象a被定義為常對(duì)象,所以a.disp()語(yǔ)句調(diào)用的是類(lèi)的常成員

函數(shù)voiddisp()const,輸出的結(jié)果是disp20

22、有如下類(lèi)的定義,橫線(xiàn)處的語(yǔ)句是()。classTestClass{intx,y;

public:TestClass(inta=0,intb=0){x=a:y=b:)staticvoidchange(){y=10:y-

=10;));

A、public

B、private

C、static

D、protected

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:因?yàn)閟taticvoidchange。為靜態(tài)函數(shù),靜態(tài)函數(shù)主要訪(fǎng)問(wèn)靜態(tài)數(shù)據(jù),

不訪(fǎng)問(wèn)非靜態(tài)數(shù)據(jù)。所以函數(shù)中訪(fǎng)問(wèn)了數(shù)據(jù)y,所以下劃線(xiàn)的數(shù)據(jù)類(lèi)型應(yīng)對(duì)應(yīng)為

static?

23、有如下程序:#includeusingnamespacestd;classTestClass{protected:

TestClass(){cout?4X,;)TestClass(charc){cout<

A、y

B、yx

C、xy

D、yy

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:程序中的類(lèi)TestClass為基類(lèi),TestClass1為T(mén)estClass的派生類(lèi)。由

main主函數(shù)入手,定義TestClassl類(lèi)型的對(duì)象dl,參數(shù)值為‘y'。TestClass1類(lèi)繼

承TeslClass,所以主函數(shù)中“TestClassld(y');”語(yǔ)句首先調(diào)用調(diào)用基類(lèi)中的

4tTestClass(){cout?4x,;}“輸出x,然后調(diào)用"TestClassl(charc){coutv

24、下面是關(guān)于派生類(lèi)聲明的開(kāi)始部分,其中正確的是()。

A、classvirtualB:publicA

virtualclassB:publicA

C、classB:publicAvirtual

D、classB:virtualpublicA

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:聲明派生類(lèi)的一般形式為:class派生類(lèi)名:【繼承方式】基類(lèi)名。

其中繼承方式包括:public,private,protected,而virlual為C++中的關(guān)鍵字。虛

函數(shù)的使用方法是在基類(lèi)用virtual聲明成員函數(shù)為虛函數(shù)。

25、在函數(shù)中,可以用auto、extern、register和static這四個(gè)關(guān)鍵字中的一個(gè)來(lái)說(shuō)

明變量的存儲(chǔ)類(lèi)型,如果不說(shuō)明存儲(chǔ)類(lèi)型,則默認(rèn)的存儲(chǔ)類(lèi)型是()。

A、auto

B、extern

C、register

D^static

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:此題考查的是存儲(chǔ)類(lèi)型。C++語(yǔ)言變量的存儲(chǔ)類(lèi)型分為如下幾種類(lèi)

型:auto—函數(shù)內(nèi)部的局部變量;static——靜態(tài)存儲(chǔ)分配:extrn—全局變量;

register——變量存儲(chǔ)在硬件寄存器中。

26、若有以下程序:#includeusingnamespacestd;classTestClass{public:void

who(){coutvv“TestQass”vwho0;return0:)則該程序運(yùn)行后的輸出結(jié)果是(),

A、TestClassl

B、TestClass

C、0

D、無(wú)輸出

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:程序中白勺TestClasI為T(mén)estClass的派生類(lèi).主函數(shù)main中定義

TstClass對(duì)象*p,TestClassl對(duì)象obj1,然后p引用objl,執(zhí)行p->who()則是調(diào)用

基類(lèi)中的who函數(shù),輸出TestClasSo

27、下列有關(guān)繼承和派生的敘述中,正確的是()。

A、如果一個(gè)派生類(lèi)私有繼承其基類(lèi),則該派生類(lèi)對(duì)象不能訪(fǎng)問(wèn)基類(lèi)的保護(hù)成員

B、派生類(lèi)的成員函數(shù)可以訪(fǎng)問(wèn)基類(lèi)的所有成員

C、基類(lèi)對(duì)象可以賦值給派生類(lèi)對(duì)象

D、如果派生類(lèi)沒(méi)有實(shí)現(xiàn)基類(lèi)的一個(gè)純虛函數(shù),則該派生類(lèi)是一個(gè)抽象類(lèi)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:如果派生類(lèi)私有繼承基類(lèi),不能訪(fǎng)問(wèn)基類(lèi)中的私有成員,所以A、B

是錯(cuò)誤的。派生類(lèi)是對(duì)基類(lèi)的具體化,所以C錯(cuò)誤的。如果派生類(lèi)沒(méi)有實(shí)現(xiàn)基類(lèi)

的一個(gè)純虛函數(shù),則該派生類(lèi)是一個(gè)抽象類(lèi),即選擇D。

28、F面敘述錯(cuò)誤的是()o

A、派生類(lèi)可以使用private派生

B、對(duì)基類(lèi)成員的訪(fǎng)問(wèn)必須是無(wú)二義性的

C、基類(lèi)成員的訪(fǎng)問(wèn)能力在派生類(lèi)中維持不變

D、賦值兼容規(guī)則也適用于多繼承的組合

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:在建立派生類(lèi)的時(shí)候,并不是簡(jiǎn)單地把基類(lèi)的私有成員直接作為派生

類(lèi)的私有成員,把基類(lèi)的公用成員直接作為派生類(lèi)的公用成員。涉及如何確定基類(lèi)

的成員在派生類(lèi)中的訪(fǎng)問(wèn)屬性問(wèn)題,不僅要考慮對(duì)基類(lèi)成員所聲明的訪(fǎng)問(wèn)屬性,還

要考慮派生類(lèi)所聲明的對(duì)基類(lèi)的繼承方式,根據(jù)這兩個(gè)因素共同決定基類(lèi)成員在派

生類(lèi)中的訪(fǎng)問(wèn)屬性。所以本題選擇C。

29、下列程序的輸出結(jié)果為2,橫線(xiàn)處應(yīng)添加語(yǔ)句O。#includeusingnamespace

std;classTestClass1{public:voidfun(){cout?l;));class

TestClass2:publicTestClass1{public:voidfun(){cout?2;));intmain()

{TestClassl*p=newTestClass2;P->fun();deletep:returnO;)

A^public

B、private

C^virtual

D^protected

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:由主函數(shù)main入手,定義TestClass1類(lèi)的指針對(duì)象p指向派生類(lèi)

TestClass2o因?yàn)榛?lèi)和派生類(lèi)中都有fun函數(shù),題目要求輸出為2,就是基類(lèi)對(duì)象

訪(fǎng)問(wèn)派生類(lèi)中fun函數(shù)。通過(guò)虛函數(shù)與指向基類(lèi)對(duì)象的指針變量的配合使用,就能

方便調(diào)用同名函數(shù)。所以這里將基類(lèi)中的fun函數(shù)聲明為virtual。并且當(dāng)一個(gè)成員

函數(shù)被聲明為虛函數(shù)后,其派生類(lèi)中的同名函數(shù)自動(dòng)成為虛函數(shù)。

30、要使程序執(zhí)行后的輸出結(jié)果為ABCD,應(yīng)在橫線(xiàn)處添加語(yǔ)句()。#include

usingnamespacestd:classA{public:A(){cout?4A,:}):classR:

{public:B0{cout?4B,;));classC:virtualpublicA{public:

C0{cout?'C,;});classD:publicB,publicC{public:D0{cout?4D,;}};

voidmainO{Dobj:)

A、publicA

B、privateA

C>protectedA

D、virtualpublicA

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:由主函數(shù)main入手,定義了類(lèi)D對(duì)象obj。其中D為類(lèi)B和C的公

有繼承,A是C的虛基類(lèi)。題目中要求的輸出結(jié)果為“ABCD”,依次為類(lèi)A,類(lèi)

B,類(lèi)C,類(lèi)D中構(gòu)造函數(shù)的輸出語(yǔ)句。為了保證基類(lèi)通過(guò)多條路徑被派生類(lèi)繼承

時(shí),即保證A只被繼承一次,輸出一個(gè)A,所以不但需要聲明A為C的虛基類(lèi),

同樣也要聲明A為B的虛基類(lèi)。

31、下面的描述中,正確的是()。

A、virtual可以用來(lái)聲明虛函數(shù)

B、含有純虛函數(shù)的類(lèi)是不可以用來(lái)創(chuàng)建對(duì)象的,因?yàn)樗翘摶?lèi)

C、即使基類(lèi)的構(gòu)造函數(shù)沒(méi)有參數(shù),派生類(lèi)也必須建立構(gòu)造函數(shù)

D、靜態(tài)數(shù)據(jù)成員可以通過(guò)成員初始化列表來(lái)初始化

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:在基類(lèi)中用virlual聲明成員函數(shù)為虛函數(shù),所以A是正確的。純虛

函數(shù)是在聲明虛函數(shù)時(shí)被“初始化''為0的虛函數(shù)。純虛函數(shù)是一種特殊的虛函數(shù),

它沒(méi)有具體的實(shí)現(xiàn)。靜杰數(shù)據(jù)成員函數(shù)只能在類(lèi)外進(jìn)行初始化。

32、若要把函數(shù)voidfun()定義為T(mén)estClass的友元函數(shù),則應(yīng)該在類(lèi)TestClass的定

義中加入的語(yǔ)句是()。

A^voidfricndfun()

B、friendfun()

C^friendvoidfun()

D、TestClassvoidfun()

標(biāo)準(zhǔn)答案:c

知識(shí)點(diǎn).析:如果在類(lèi)以外的其他地方定義了一個(gè)函數(shù),在類(lèi)體中用friend對(duì)該函

數(shù)進(jìn)行聲明,此函數(shù)就稱(chēng)為本類(lèi)的友兀函數(shù)。囚為函數(shù)為voidfun(),根據(jù)友元定

義補(bǔ)全語(yǔ)句為“friendvoidfun();

33若要把函數(shù)voidfun()定義為T(mén)estClass的友元函數(shù),則應(yīng)該在類(lèi)TestClass的定

義中加入的語(yǔ)句是()。A)voidfriendfun()B)friendfun()C)friendvoidfun()

D)TestClassvoidfun()(33)已知遞歸函數(shù)fun的定義如下:intfun(intn)

{if(n<=l)return1;//遞歸結(jié)束情況elsereturnn*fun(n-2);//遞歸}則函數(shù)調(diào)用語(yǔ)

句fun(5)的返回值是()0

A、5

R、12

C、15

D、30

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:遞歸函數(shù)fun被定義為含有參數(shù)intm返回整型。其中fun函數(shù)遞歸

調(diào)用本身,當(dāng)n=l時(shí),fun返回1,如果大于1那么執(zhí)行n*fun(n-2)。所以,當(dāng)n等

于5時(shí),執(zhí)行5*fun(3);當(dāng)3時(shí)繼續(xù)調(diào)用fun,3*fun(l),即5n(5)=5*(3*fim⑴),

答案為15o

34、字面常量42、4.2、42L的數(shù)據(jù)類(lèi)型分別是()。

A、long;double,int

B、long,float,int

C、int,double,long

D、int,float,long

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:此題考查的知識(shí)點(diǎn)是字面常量。對(duì)于整型字面常量,只要沒(méi)有超過(guò)

C++中整數(shù)所能表示的范圍,C++將自動(dòng)按整數(shù)來(lái)存儲(chǔ)此數(shù),也可以通過(guò)在整型字

面常量后添加u或1來(lái)指定無(wú)符號(hào)整數(shù)或長(zhǎng)整數(shù)來(lái)存儲(chǔ);對(duì)于實(shí)型字面常量,C++

將自動(dòng)按照雙精度數(shù)來(lái)存儲(chǔ),也可以通過(guò)在實(shí)型字面常量后添加f來(lái)指定按單精度

數(shù)存儲(chǔ)。

35、下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是()。

A、內(nèi)聯(lián)函數(shù)在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移

B、內(nèi)聯(lián)函數(shù)必須通過(guò)關(guān)鍵字inline來(lái)定義

C、內(nèi)聯(lián)函數(shù)是通過(guò)編譯器來(lái)實(shí)現(xiàn)的

D、內(nèi)聯(lián)函數(shù)函數(shù)體的最后一條語(yǔ)句必須是return語(yǔ)句

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:此題考查的是內(nèi)聯(lián)函數(shù)的概念。在調(diào)用時(shí),內(nèi)聯(lián)函數(shù)會(huì)像宏函數(shù)一樣

的展開(kāi),將調(diào)用表達(dá)式用內(nèi)聯(lián)函數(shù)體來(lái)替換,所以它沒(méi)有一般函數(shù)的參數(shù)壓棧和退

棧操作,所以選項(xiàng)A錯(cuò)誤;即使沒(méi)有使用inline說(shuō)明,編譯器也會(huì)將在類(lèi)的說(shuō)明部

分定義的函數(shù)認(rèn)定為內(nèi)聯(lián)函數(shù),所以選項(xiàng)B錯(cuò)誤;內(nèi)聯(lián)函數(shù)只是比普通函數(shù)有更

高的執(zhí)行效率。

三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5

分。)

36、關(guān)系代數(shù)是關(guān)系操作語(yǔ)言的一種傳統(tǒng)表示方式,它以集合代數(shù)為基礎(chǔ),它的運(yùn)

算對(duì)象和運(yùn)算結(jié)果均為o

標(biāo)準(zhǔn)答案:關(guān)系

知識(shí)點(diǎn)解析:關(guān)系代數(shù)是關(guān)系操縱語(yǔ)言的一種傳統(tǒng)表示方式,它以集合代數(shù)為基礎(chǔ)

發(fā)展起來(lái)的,但它的運(yùn)算對(duì)象和運(yùn)算結(jié)果均是關(guān)系,這些新關(guān)系仍可以使用同樣的

代數(shù)運(yùn)算進(jìn)一步操作。關(guān)系代數(shù)也是一種抽象的查詢(xún)語(yǔ)言,它通過(guò)對(duì)關(guān)系的運(yùn)算來(lái)

表達(dá)查詢(xún)和修改處理的需求。

37、在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間

標(biāo)準(zhǔn)答案:前后件美泰

知識(shí)點(diǎn)解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,

對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)溝,前后件之間的關(guān)系是通過(guò)存儲(chǔ)空間的位置來(lái)實(shí)現(xiàn)的,而

對(duì)于鏈?zhǔn)酱鎯?chǔ)來(lái)說(shuō),數(shù)據(jù)元素之間的前后件關(guān)系是通過(guò)指針來(lái)實(shí)現(xiàn)的。

38、軟件是程序、數(shù)據(jù)和的集合。

標(biāo)準(zhǔn)答案:相關(guān)文檔

知識(shí)點(diǎn)解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程

序、數(shù)據(jù)及相關(guān)文檔的完整集合。

39、對(duì)于長(zhǎng)度為n的有序線(xiàn)性表,在最壞情況下,二分法查找只需比較

______________次。

標(biāo)準(zhǔn)答案:log2n

知識(shí)點(diǎn)解析:二分法查找,也稱(chēng)拆半查找,是一種高效的查找方法。能使用二分法

查找的線(xiàn)性表必須滿(mǎn)足兩個(gè)條件:用順序存儲(chǔ)結(jié)構(gòu);線(xiàn)性表是有序表。對(duì)于長(zhǎng)度為

n的有序線(xiàn)性表,在最壞情況下,二分法查找只需比較log2n次

40、測(cè)試分為白箱法和黑箱法,又稱(chēng)為邏輯覆蓋測(cè)試。

標(biāo)準(zhǔn)答案:白箱法

知識(shí)點(diǎn)解析:白箱測(cè)試是根據(jù)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例。由于測(cè)試

用例對(duì)程序的邏輯覆蓋程序決定了測(cè)試的完全性的程度,因此白箱測(cè)試也稱(chēng)為邏輯

覆蓋測(cè)試。

四、填空題(本題共10題,每題1.0分,共10分。)

41、若有以下程序:#includeusingnamespacestd:classTestClassl{public:

TestClassl(){x=0:)intx;};classTestClass2:virtualpublicTestClass1

{public:TestClass2(){x=10;}};classTestClass3:virtualpublicTestClass1

{public:TestClass3()(x=20:}}:classTestClass4:publicTestClass2,protected

TestClass3{};intmain(){TestClass4obj;cout<

標(biāo)準(zhǔn)答案:20

知識(shí)點(diǎn)解析:主函數(shù)中定義TestClass4的對(duì)象obj。TestGass4雖然公有繼承于

TestClass2,但是x在其中為私有,所以無(wú)法訪(fǎng)問(wèn)。TestClass4保護(hù)繼承于

TestClass3,TeslClass3中的x=20為公有成員數(shù)據(jù),對(duì)象obj可以訪(fǎng)問(wèn)這個(gè)數(shù)據(jù),

即輸出為20。

42、指針變量所保存的不是一般的數(shù)據(jù)值,而是程序中另一個(gè)對(duì)象的o

標(biāo)準(zhǔn)答案:內(nèi)存地址

知識(shí)點(diǎn)解析:指針變量指向的不是變量保存的數(shù)據(jù)值,而是變量的地址,所以指針

變量保存的是對(duì)象的內(nèi)存地址。

43以下程序的輸出結(jié)果是o#includeiniadd(intx,iniy){return

x+y:|doubleadd(doublex,doubley){returnx+y;)voidmain(){inta=3,b=3:

doublec=6.5,d=l.5:cout<

標(biāo)準(zhǔn)答案:6,8

知識(shí)點(diǎn)解析?:C++中允許用同一函數(shù)名定義多個(gè)函數(shù),這些函數(shù)的參數(shù)個(gè)數(shù)和參數(shù)

類(lèi)型不同,這就是函數(shù)的重載,調(diào)用函數(shù)時(shí),系統(tǒng)會(huì)根據(jù)調(diào)用函數(shù)時(shí)給出的信息,

即參數(shù)的個(gè)數(shù)、類(lèi)型查找與之匹配的函數(shù),然后調(diào)用該函數(shù)。主函數(shù)中的輸出語(yǔ)句

第一個(gè)add根據(jù)a,b參數(shù)類(lèi)型為整型,調(diào)用第一個(gè)參數(shù)為int類(lèi)型的add。即輸出

6o同理第二個(gè)add(c,d)調(diào)用參數(shù)為double型的add函數(shù),輸出為8。

44、卜面程序運(yùn)行時(shí)輸出結(jié)果為o#include#includeclassReel

{public:Rect(intl,intw){length=l;width=w;)void

Print(){cout?uArea:"<Print();deletep:)

標(biāo)準(zhǔn)答案:Area:20

知識(shí)點(diǎn)解析:此題考查的是內(nèi)存空間的分配和釋放,即free和delete函數(shù)的應(yīng)用。

使用new對(duì)某種類(lèi)型的變量進(jìn)行動(dòng)態(tài)分配的語(yǔ)法格式為:指針=new類(lèi)型;使用

deleie對(duì)動(dòng)態(tài)分配的變量進(jìn)行釋放是:delele指針。此題中,首先為變量分配內(nèi)存

單元,然后執(zhí)行語(yǔ)句p?>Print();輸出Area:20,然后利用delete釋放內(nèi)存單元。

45、類(lèi)中數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪(fǎng)問(wèn)級(jí)別為o

標(biāo)準(zhǔn)答案:私有或privale

知識(shí)點(diǎn)解析:此題考查的是類(lèi)的成員的默認(rèn)訪(fǎng)問(wèn)權(quán)限。在未聲明,即默認(rèn)情況下,

類(lèi)中數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪(fǎng)問(wèn)級(jí)別為私有。

46>有如卜程序:#includeusingnamespacestd;classPARENT{public:

PARENT。{coutvv“PARENT";));classSON:publicPARENT{public:

SON(){cout?“SON";}};intmain(){SONson;PARENT*p;p二&son;return

0:}執(zhí)行上面程序的輸出是______

標(biāo)準(zhǔn)答案:PARENTSON

知識(shí)點(diǎn)解析:此題考查的是派生類(lèi)和基類(lèi)的構(gòu)造函數(shù)。派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序

為:首先調(diào)用基類(lèi)的構(gòu)造函數(shù),調(diào)用順序按它們被繼承時(shí)說(shuō)明的順序;然后調(diào)用子

對(duì)象的構(gòu)造函數(shù),調(diào)用順序按它們?cè)陬?lèi)中說(shuō)明的順序;最后是派生類(lèi)構(gòu)造函數(shù)中的

內(nèi)容。SONson;執(zhí)行時(shí)首先調(diào)用基類(lèi)的構(gòu)造函數(shù),輸出“RARENT”,然后調(diào)用派

生類(lèi)的構(gòu)造函數(shù)輸出“SON”。需要注意的是,語(yǔ)句PARENT*p;只是定義一個(gè)

PARENT類(lèi)的指針,并不調(diào)用構(gòu)造函數(shù)。

47>以下程序的執(zhí)行結(jié)果是o#include#includeclassSample{public:

intx,y;Sample(){x=y=0;)Sample(inta,intb){x=a;y=b;}voiddisp()

{coutvv"x="v

標(biāo)準(zhǔn)答案:x=2,y=3

知識(shí)點(diǎn)解析:此題考查的是構(gòu)造函數(shù)重載。語(yǔ)句Samplesl(2,3)調(diào)用的類(lèi)的構(gòu)造

爵數(shù)應(yīng)該是含有兩個(gè)參數(shù)的sample(inta,intb)(x=a;y=b;}函數(shù),所以輸出的結(jié)果

是x=2,y=3o

48、下列函數(shù)的功能是判斷字符串str是否對(duì)稱(chēng),對(duì)稱(chēng)則返回true,否則返回

false。請(qǐng)?jiān)跈M線(xiàn)處填內(nèi)容,實(shí)現(xiàn)該函數(shù)。boolfun(char*str){inti=0,j=0;

while(str|j])j++;for(j-;i

標(biāo)準(zhǔn)答案:>—

知識(shí)點(diǎn)解析:此題考查的是while循環(huán)語(yǔ)句和for循環(huán)語(yǔ)句。題中函數(shù)的功能是判

斷字符串是否對(duì)稱(chēng)。從字符串兩端依次比較各個(gè)字符是否相同,for循環(huán)結(jié)束后,

當(dāng)i>二j表明字符串對(duì)稱(chēng),否則說(shuō)明不對(duì)稱(chēng)。

49、若下面程序運(yùn)行時(shí)瑜出結(jié)果為:1,A,10.12,B,3.5請(qǐng)將程序補(bǔ)充完

整。#includeusingnamespacestd;intmain(){voidtest(int,char,

double):test(1,'A',10.1);test(2,'B');return0:)voidtest(int

a,charb,doublec){cout<

標(biāo)準(zhǔn)答案:=3.5

知識(shí)點(diǎn)解析:本題考查了函數(shù)默認(rèn)參數(shù)的應(yīng)用。木題中第一次調(diào)用test。函數(shù)數(shù)值

1,A,10.1;第二次調(diào)用少了一個(gè)實(shí)參,卻要求輸出2,B,3.5,由此分析,

應(yīng)將test。函數(shù)的第三個(gè)參數(shù)聲明為默認(rèn)參數(shù)。且默認(rèn)為3.5,才能達(dá)到要求的輸

出結(jié)果。故應(yīng)填入=3.5或者c=3.5。

50、有如下類(lèi)聲明:classMyClass{inti;private:intj;protected:intk;

public:intm,n:};其中,私有成員的數(shù)量為。

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:此題考查的是類(lèi)的成員的默認(rèn)訪(fǎng)問(wèn)權(quán)限。在默認(rèn)情況下,類(lèi)中數(shù)據(jù)成

員和成員函數(shù)的默認(rèn)訪(fǎng)問(wèn)級(jí)別為私有,所以類(lèi)中的私有成員有2個(gè),i和j。

國(guó)家二級(jí)(C++)筆試模擬試卷第3套

一、公共基礎(chǔ)選擇題(本題共70題,每題L0分,共

10分。)

1、棧和隊(duì)列的共同特點(diǎn)是

A、都是先進(jìn)先出

B、都是先進(jìn)后出

C、只允許在端點(diǎn)處插入和刪除元素

D、沒(méi)有共同點(diǎn)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:棧和隊(duì)列都是一種特殊的操作受限的線(xiàn)性表,只允許在端點(diǎn)處進(jìn)行插

入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后

進(jìn)先出”的線(xiàn)性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操

作,是一種“先進(jìn)先出”的線(xiàn)性表。

2、已知二叉樹(shù)后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列

A、acbed

B、decab

C^deabc

D、cedba

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:依據(jù)后序遍歷序列可確定根結(jié)點(diǎn)為c;再依據(jù)中序遍歷序列可知其左

子樹(shù)由deba構(gòu)成,右子樹(shù)為空;又由左子樹(shù)的后序遍歷序列可知其根結(jié)點(diǎn)為e,

由中序遍歷序列可知其左子樹(shù)為d,右子樹(shù)由ba構(gòu)成,如下圖

示。求得該二叉樹(shù)的前序遍歷序列為選項(xiàng)D)。

3、鏈表不具有的特點(diǎn)是

A、不必事先估計(jì)存儲(chǔ)空間

B、可隨機(jī)訪(fǎng)問(wèn)任一元素

C、插入刪除不需要移動(dòng)元素

D、所需空間與線(xiàn)性表長(zhǎng)度成正比

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)

點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需

要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額

外占用存儲(chǔ)空間;②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。

4、結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是

A、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)

B、分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

C、多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)

D、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)(或亙復(fù)結(jié)構(gòu))是結(jié)構(gòu)化程序設(shè)計(jì)的3

種基本結(jié)構(gòu)。

5、為了提高測(cè)試的效率,應(yīng)該

A、隨機(jī)選取測(cè)試數(shù)據(jù)

B、取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)

C、在完成編碼以后制定軟件的測(cè)試計(jì)劃

D、集中對(duì)付那些錯(cuò)誤群集的程序

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:測(cè)試的目的是發(fā)現(xiàn)軟件中的錯(cuò)誤。經(jīng)驗(yàn)表明,程序中存在錯(cuò)誤的概率

與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比。這一現(xiàn)象說(shuō)明,為了提高測(cè)試效率,測(cè)試人員

應(yīng)該集中對(duì)付那些錯(cuò)誤群集的程序。

6、算法的時(shí)間復(fù)雜度是指

A、執(zhí)行算法程序所需要的時(shí)間

B、算法程序的長(zhǎng)度

C、算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

D、算法程序中的指令條數(shù)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂

算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指

執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

7、軟件生命周期中所花費(fèi)用最多的階段是

A、詳細(xì)設(shè)計(jì)

B、軟件編碼

C、軟件測(cè)試

D、軟件維護(hù)

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:軟件生命周期分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本

題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟件開(kāi)發(fā)階段;維護(hù)是軟件生命周期

的最后一個(gè)階段,也是奪續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一

個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。

8、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為

A、C

Basic

C、DDL

D、DML

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:選項(xiàng)A)、選項(xiàng)B)顯然不合題意。數(shù)據(jù)定義語(yǔ)言(DataDefinition

Language,簡(jiǎn)稱(chēng)DDL)負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語(yǔ)言

(DataManipulationLanguage,簡(jiǎn)稱(chēng)DML)負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢(xún)及增、刪、改

等操作.

9、下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是

A、數(shù)據(jù)庫(kù)是一個(gè)DBF文件

B、數(shù)據(jù)庫(kù)是一個(gè)關(guān)系

C、數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合

D、數(shù)據(jù)庫(kù)是一組文件

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱(chēng)DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并

存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。

數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共享”之特點(diǎn)。

10、下列有關(guān)數(shù)據(jù)庫(kù)的貓述,正確的是

A、數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程

B、數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C、關(guān)系中的每一列稱(chēng)為元組,一個(gè)元組就是一個(gè)字段

D、如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)

鍵字,則稱(chēng)其為本關(guān)系的外關(guān)鍵字

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過(guò)程,故選項(xiàng)A)敘述錯(cuò)誤;數(shù)據(jù)

的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),故選項(xiàng)

B)敘述錯(cuò)誤;關(guān)系中的行稱(chēng)為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱(chēng)為屬

性,對(duì)應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C)敘述錯(cuò)誤。

二、選擇題(本題共20題,每題1.0分,共20分。)

11、面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)和()放在一起,作為一個(gè)相互依存、不可分割的整體

來(lái)處理。

A、對(duì)數(shù)據(jù)的操作

信息

C、數(shù)據(jù)隱藏

D、數(shù)據(jù)抽象

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:面向?qū)ο笳Z(yǔ)言包含3個(gè)要素,即對(duì)象、類(lèi)和繼承。這3個(gè)要素反映了

面向?qū)ο蟮膫鹘y(tǒng)觀念。面向?qū)ο蟪绦蛟O(shè)計(jì)的本質(zhì)是把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作當(dāng)成一個(gè)

整體即對(duì)象。

12、以下選項(xiàng)中,()是合法的字符常量。

A、N

B、'\010'

C、68

D、D

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題考核字符型常量的表示。選項(xiàng)A中是字符串的表示方法。選項(xiàng)

B所表示的是一個(gè)轉(zhuǎn)義字符,是特殊的字符常量。選項(xiàng)C中所表示的是整型常量。

選項(xiàng)D中不是常

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論