計算機(jī)二級C++試題及答案_第1頁
計算機(jī)二級C++試題及答案_第2頁
計算機(jī)二級C++試題及答案_第3頁
計算機(jī)二級C++試題及答案_第4頁
計算機(jī)二級C++試題及答案_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、選擇題(每小題2分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正

確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分.

⑴下列關(guān)于棧的敘述中正確的是D

A)在棧中只能插入數(shù)據(jù)B)在枝中只能刪除數(shù)據(jù)

C)棧是先進(jìn)先出的線性表D)棧是先進(jìn)后出的線性表

⑵下列數(shù)據(jù)結(jié)構(gòu)中,插入時不需要移動其他元素的是D

A)有序線性鏈表B)無序線性鏈表

C)棧和隊列D)以上三種都是

⑶下列敘述中正確的是B

A)同一個數(shù)據(jù)結(jié)構(gòu)不管是采用何種存儲方式,其所占的存儲容量一定是相同的

B)同一個數(shù)據(jù)結(jié)構(gòu)采用不同的存儲方式,其所占的存儲容量一般是不同的

C)同一個有序表不管是采用何種存儲方式,都可以使用對分查找法

D)同一個有序表不管是采用何種存儲方式,都不能使用對分查找法

⑷數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),下列數(shù)據(jù)結(jié)構(gòu)中不屬于存儲結(jié)構(gòu)的是C

A)線性鏈表B)二叉鏈表C)棧與隊列D)循環(huán)隊列

⑸下列數(shù)據(jù)結(jié)構(gòu)中,能直接使用堆排序法進(jìn)行排序的是A

A)完全二叉樹B)線性鏈表C)帶鏈的棧D)帶鏈的隊列

⑹下列關(guān)于隊列的敘述中正確的是B

A)只能插入元素,而不能刪除元素B)可以插入元素,也能刪除元素

。插入元素時需要移動隊列中所有的元素D)刪除元素時需要移動隊列中所有的元素

⑺下列敘述中正確的是C

A)在模塊化程序設(shè)計中,一個模塊應(yīng)盡量多的包括與其他模塊聯(lián)系的信息

B)在自頂向下、逐步細(xì)化的設(shè)計過程中,首先應(yīng)設(shè)計解決問題的每一個細(xì)節(jié)

C)在模塊化程序設(shè)計中,一個模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則

D)在程序設(shè)計過程中,不能同時采用結(jié)構(gòu)化程序設(shè)計方法與模塊化程序設(shè)計方法

⑻數(shù)據(jù)獨立性是數(shù)據(jù)庫技術(shù)的重要特點之一。所謂數(shù)據(jù)獨立性是指D

A)數(shù)據(jù)與程序獨立存放B)不同的數(shù)據(jù)被存放在不同的文件中

C)不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D)以上三種說法都不對

⑼用樹形結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為B

A)關(guān)系模型B)層次模型C)網(wǎng)狀模型D)格式化模型

(10)下列敘述中正確的是A

A)用E-R圖能夠表示實體集之間一對一的聯(lián)系、一對多的聯(lián)系、多對多的聯(lián)系

B)用E-R圖只能表示實體集之間一對一的聯(lián)系C)用E-R圖只能表示實體集之間一對多

的聯(lián)系D)用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型

H)以下對C/C++語言函數(shù)的描述中,正確的是A

A)C程序由一個或一個以上的函數(shù)組成B)C函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C)函數(shù)必須有返回值,否則不能使用函數(shù)D)C++程序中調(diào)用關(guān)系的所有函數(shù)必須

放在同一個程序文件中

(12)以下正確的描述為C

A)每個C++語言程序必須在開頭用預(yù)處理命令:B)預(yù)處理命令必須位于C++源程序的首部

C)在C++語言中預(yù)處理命令都以“#”開頭D)C++語言的預(yù)處理命令只能實現(xiàn)宏定義和

條件編譯的功能

(13)下列敘述中正確的是B

A)全局變量的作用域一定比局部變量的作用域范圍大B)靜態(tài)類別變量的生存期貫穿于

整個程序的運(yùn)行期間C)函數(shù)的形參都屬于全局變量

D)未在定義語句中賦初值的auto變量和static變量的初值都是隨機(jī)值

(14)以下選項中合法的用戶標(biāo)識符是B

A)longB)_2TestC)3DmaxD)A.dat

(15)已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用八進(jìn)制表示的字

符常量是AA)字符AB)字符aC)字符eD)非法的常量

(16)下面對宏定義的描述中不正確的是C

A)宏不存在類型問題,宏名無類型,它的參數(shù)也無類型B)宏替換不占用運(yùn)行時間

C)宏替換時先求出實參表達(dá)式的值,然后代入形參數(shù)運(yùn)算求值

D)其實,宏替換只不過是字符替代而已

(17)下列不是循環(huán)語句的是D

A)while語句B)do…*hile語句C)for語句D)if...else語句

(18)如果a=l,b=2,c=3,d=4,則表達(dá)式aAA)1B)2C)3D)4

(19)有關(guān)構(gòu)造函數(shù)的說法中錯誤的是D

A)構(gòu)造函數(shù)名字和類的名字一樣B)構(gòu)造函數(shù)在說明類變量時自動執(zhí)行

C)構(gòu)造函數(shù)無任何函數(shù)類型D)構(gòu)造函數(shù)有且只有一個

(20)以下有關(guān)析構(gòu)函數(shù)的敘述不正確的是B

A)一個類只能定義一個析構(gòu)函數(shù)B)析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參

C)析構(gòu)函數(shù)不允許有返回值D)析構(gòu)函數(shù)名前必須冠有符號"

(21)以下關(guān)于靜態(tài)成員變量的敘述不正確的是D

A)靜態(tài)成員變量為類的所有對象所公有B)靜態(tài)成員變量可以在類內(nèi)任何位置上聲明

C)靜態(tài)成員變量的賦初值必須放在類外D)定義靜態(tài)成員變量時必須賦初值

(22)若執(zhí)行下面的程序時,從鍵盤上輸入3和4,則輸出結(jié)果是B

main()

(

inta.b,s;

cin?a>>b,

s=a;

if(a<b)s=bj

S=S*Si

coutVVsVVendl;

A)14B)16C)18D)20

(23)以下程序不用第三個變量實現(xiàn)將兩個數(shù)進(jìn)行對調(diào)的操作,劃線處應(yīng)為B

mainO

inta?b;

scanf("%d%d”,&a,&b).:

cin>>a>>bi

,,w,,H

cout?a=?a?b=?b>

a=a+bib=a-b?a=i

cout?wa=H?a?*,b=M?b?endh

A)a+bB)a-bC)b*aD)a/b

(24)如下程序的輸出結(jié)果是C

A)0.000000B)0.25000000.500000D)l.000000

(25)如下程序的輸出結(jié)果是C

mainO

{in1a=2,b=—l,c=2:

if(a<b)

if(b<O)c=Oi

elsec++(

coutVVcVVendl;

A)0B)1C)2D)3

(26)有以下程序段A

intk=O:while(k=l)k++;

while循環(huán)執(zhí)行的次數(shù)是

A)無限次B)有語法錯,不能執(zhí)行C)一次也不執(zhí)行D)執(zhí)行1次

(27)以下程序的輸出結(jié)果是B

main()

{intnum=0;

while(num<=2)

(

num++;cout?numi}

I

A)1234B)123C)12D)1

(28)設(shè)有數(shù)組定義:chararray[]="China”;貝4數(shù)組array所占的空間為C

A)4個字節(jié)B)5個字節(jié)C)6個字節(jié)D)7個字節(jié)

(29)以下程序的輸出結(jié)果是D

intfO

{

staticinii=0;

ints=1;

=i;i++?

returnsi

}

mainO

(

inti.a=0|

for(i-0ii<5|i++)a+=£();

cout<<a<<endlj

A)20B)24025D)15

(30)有以下程序A

main。

int1,2?3).(4.5,。匕?(?pa)[3].i:

pa=a;

for(i=0“V3ii++)

if(i<2)pa[l][i]=pari][i]-1:

else=l;

cout?aC0]El]+a[l][i]4'a[l][2]<<endl;

執(zhí)行后輸出結(jié)果是A)7B)608D)無確定值

(31)有以下程序A

void!un(inti?n.inii?intj)

int

if(iVj)i

fun(av++i.-----j)?

main()

<mt■,-(1.2?3.4?5?6).心

fun(a?0?5)i

for(i=s0>i<6ii4-+)

coutV<a[i]i

執(zhí)行后輸出結(jié)果是

A)654321

6)432156

0456123

D)123456

(32)有以下程序

main。

mtp[7]=(11.13.14?15,16.17?18;?i=O.k=Oi

while(i<7&&p[i]%2)(k=k+p[i]ii++「

coinVVkVVendl;

執(zhí)行后輸出結(jié)果是

A)58

B)56

045

D)2d

(33)有以下程序

mainC)

(inti=0?5?0i

dot

(i+十icontinue?)

)while(i<7)i

coutVV,V<endli

執(zhí)行后輸出結(jié)果是AA)654321B)4321560456123D)123456

(34)下列語句中,輸出與眾不同的是A

A)coinVV"1.Vv"Hello!*<C^cndli

B)COIHVV"1."VV*yV"Hello!\n"i

C)cout<Z<"l.Hello}*?endh

D)COUIVV"1.'*VLsetw(7)VV"Hello!**B

(35)閱讀以下程序

二include<^fstream,h>

voidmainO

ifstreaminfilci

ofstreamoutfiles

fKircumiofilrt

iofile.open("a.txt".ion):in)i

iofile.CIOM?()?

iofile.op<?n(*b.:out))

下列描述借誤的圮

A)對象infile只能用于文件人操作B)對象outfile只能用于文件輸出操作

C)對象iofile在文件關(guān)閉后,不能再打開另一個文件

D)對象iofile可以打開一個文件同時進(jìn)行輸入和輸出

二、填空題(每空2分,共30分)

⑴對具有n個結(jié)點的線性表進(jìn)行順序查找,最壞情況下需要的比較次數(shù)為[nl

⑵設(shè)有下列二叉樹:

對此二叉樹中序遍歷的結(jié)果為【TZBACYXP1

⑶在面向?qū)ο蟮某绦蛟O(shè)計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為

【消息】(4)程序的測試方法分為靜態(tài)分析和動態(tài)分析。使用測試用例在計算機(jī)上運(yùn)

行程序,使呈序在運(yùn)行過程中暴露錯誤,這種方法稱為【動態(tài)分析】。

⑸在關(guān)系模型中,一個關(guān)系的屬性名表稱為【關(guān)系模式】.也就是二維表的表框架,相當(dāng)于

-己錄型。(6)執(zhí)行"cout?<ENDL;”語句后得到的輸出結(jié)果后[DL

⑺十進(jìn)制28和3.26的類型分別是[intdouble1(8)假定一個二維數(shù)組的定義為“

inta[3][5];",則該數(shù)組所含元素的個數(shù)為15,所占的字儲空間的字節(jié)數(shù)為1601

⑼假定要動態(tài)分配一個類型為Worker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)

組,則使用的語句是【worker*r=newworker[n](10)將關(guān)鍵字const寫在函數(shù)

頭之后,函數(shù)體之前,說明該函數(shù)是一個const成員函數(shù)。比時const不是指定函數(shù)的返回

值,而是修飾[this]指針。(11)若要在程序文件中進(jìn)行標(biāo)準(zhǔn)輸入輸出操作,

則必須在開始的#include命令中使用頭文件【iostream】。

(12)下列程序的輸出結(jié)果為【良好優(yōu)秀良好工

SincliKir^iostrram.

voidFunc(r'hnrch)

switch(ch)

case'A:casea":

c仆VV"優(yōu)秀"Wendi$

caseB:ca*rb'i

couiVV"良好■Wendh

breaks

caseCiCAACVi

cow<V"及格.VVendl,

breaki

default?

couiVV"不及格M?endli

)

voidmainO

charchi=!)?

Func(chl)i

EuncCA)i

(13)根據(jù)注釋內(nèi)容在空白處填寫適當(dāng)內(nèi)容。

classLocation

private:

intX.Yt

publici

voidinit(intinitX.intinilY)i

intGetX()i

iniGetY()i

)i

voidLocation:tinit(intimtX?intinitY)

(

X-initXi

Y=?initYi

intLocation:tGetX()

(

reutmXi

)

intLocation11GetY<>

reulmYs

二includedIOSiream.h>

voidmain()

(

LocationAli

Al.init(2O?9O)i

【13】〃定義一個指向Al的用用rAl

cout<<rAl.GftX()?"?"VVrAl.GrtY(>Wendi?

(14)下列程序的執(zhí)行結(jié)果是【20】。

#include<iostream.h>

floattempi

float&fn2(floatr)

(

temper*r?3.141

returntempi

)

voidmain()

(

floata=fn2<5.0)?

float&b=fn2(5.0):

b=201

comVVtempVVendli

(15)下列類的構(gòu)造函數(shù)不能通過編譯,正確的構(gòu)造函數(shù)應(yīng)該是

[sample(imm):con(m+1){n=m;)L

1)下列敘述中正確的是A

A)線性表是線性結(jié)構(gòu)B)棧與隊列是非線性結(jié)構(gòu)

C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹是線性結(jié)構(gòu)

⑵下列數(shù)據(jù)結(jié)構(gòu)中,插入時不需要移動其他元素的是C

A)有序線性表B)無序線性表C)棧和隊列D)以上三種都不是

⑶數(shù)據(jù)的存儲結(jié)構(gòu)是指B

A)數(shù)據(jù)所占的存儲空間量B)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示

C)數(shù)據(jù)在計算機(jī)中的順序存儲方式D)存儲在外存中的數(shù)據(jù)

⑷一棵二叉樹中共有70個葉子結(jié)點與80個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為B

A)221B)2190231D)229

⑸下列關(guān)于棧的敘述中正確的是B

A)只能在棧頂插入元素,而不能刪除元素B)可以插入元素,也能刪除元素

C)插入元素時需要移動棧中所有的元素D)刪除元素時需要移動棧中所有的元素

⑹下列敘述中正確的是B

A)軟件測試的目的是證明程序是否正確B)軟件測試的目的是盡可能多的發(fā)現(xiàn)程序中的錯

誤。軟件測試的目的是使程序運(yùn)行結(jié)果正確

D)軟件測試的目的是使程序符合結(jié)構(gòu)化原則

⑺下列敘述中正確的是A

A)在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間應(yīng)相對獨立,相互依賴性小

B)在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間應(yīng)具有密切的聯(lián)系

C)在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象應(yīng)都是公用的D)上述三種說法都不對

⑻下列敘述中正確的是C

A)數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫系統(tǒng)B)數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)

C)數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D)以上三種說法都不對

⑼設(shè)有二元關(guān)系R和三元關(guān)系S,下列運(yùn)算中合法的是D

A)RnSB)RUSC)R—SD)RxS

(10)下列關(guān)于E—R圖的描述中正確的是D

A)E-R圖只能表示實體之間的聯(lián)系B)E-R圖只能表示實體和實體之間的聯(lián)系

C)E-R圖只能表示實體和屬性D)E-R圖能表示實體、屬性和實體之間的聯(lián)系

H)以下敘述中不正確的是B

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

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

C)在C中,形式參數(shù)只是局限于所凈?BR>D)在C中,函數(shù)名的存儲類別為外部

(12)C++語言中函數(shù)返回值的類型決定于D

A)return語句中的表達(dá)式類型B)調(diào)用函數(shù)的主調(diào)函數(shù)類型

C)調(diào)用函數(shù)時r臨時類型D)定義函數(shù)時所指定的函數(shù)類型

(13)若要說明一個類型名STP,使得STPs;等價于char*s;,以下選項中正確的是D

A)typedefSTPchara*s;B)typedefa*charSTP:

C)typedefSTPfi*char;D)typedefchara*TP:

(14)以下非法的賦值語句是CA)n=(i=2,++i);B)j++C)++(i+l)D)x=j>0;

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

A)結(jié)構(gòu)B)引用C)類和對象D)靜態(tài)成員函數(shù)

(16)對于下列語句,正確的判斷是for(x=0,y=0;(y!=123)&&(x<4);x++);C

A)是無限循環(huán)B)循環(huán)次數(shù)不定C)最多執(zhí)行4次D)最多執(zhí)行3次

(17)若有說明:inta[3][4];則對a數(shù)組元素的非法引用是D

A)a[0][2*1]B)a[l][3]C)a[4-2][0]D)a[0][4]

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

A)6.500000B)605.500000D)6.000000

(19)下面賦值語句中正確的是D

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;

(20)語句cout?(a=2)&&(h=-2);的輸出結(jié)果是D

A)無輸出B)編譯錯誤C)-lD)1

(21)在下面的函數(shù)聲明中,存在著語法錯誤的是DA)VOidBC(inta,int)

B)voidBd(int,int)C)VOid(lBE(int,int=5)D}intBF(Intx;inty)

(22)下列關(guān)于指針的操作中.錯誤的是D

A)兩個同類型的指針可以進(jìn)行比較運(yùn)算B)可以用一個空指針賦給某個指針

C)一個指針可以加上兩個整數(shù)之差D)兩個同類型的指針可以相加

(23)靜態(tài)成員函數(shù)不能說明為CA)整型函數(shù)B)常函數(shù)C)虛函數(shù)D)內(nèi)聯(lián)函數(shù)

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

A)返回值B)this指針C)指針參數(shù)D)返回類型(25)以下程序的輸出結(jié)果為

(25)以下程序的輸出結(jié)果為A

mainO

?

intE=7.TI=4J

floatH=38.4.b=6.4tx;

x=m/2+n*a/b-b1/2j

couiWxVVcndh

A)27.000000B)27.500000028.000000D)28.500000

(26)執(zhí)行下列語句后,輸出結(jié)果為COut.put(號):cout?,<?a5:B

A)caB)SCaOSD)a

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

A)?:B)+C)-D)<=

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

A)全局變量B)局部變量C)靜態(tài)變量D)常量

(29)為引入對象的同義詞,對象的別名稱為BA)指針B)引用C)枚舉D)結(jié)構(gòu)

(30)以下不屬于構(gòu)造函數(shù)特征的是DA)構(gòu)造函數(shù)名與類名相同B)構(gòu)造函數(shù)可以重

載C)構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)D)構(gòu)造函數(shù)必須指定函數(shù)類型

31)以下關(guān)于虛函數(shù)的敘述中不正確的是CA)虛函數(shù)屬于成員函數(shù)B)虛函數(shù)不

允許說明成靜態(tài)的C)凡是虛函數(shù)必須用virtual說明D)虛函數(shù)可以被繼承

(32)類的構(gòu)造函數(shù)的作用是CA)一般成員函數(shù)B)類的初始化

C)對象的初始化D)刪除對象創(chuàng)建的所有對象

(33)繼承機(jī)制的作用是CA)信息隱藏B)數(shù)據(jù)封裝C)定義新類D)數(shù)據(jù)抽象

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

A)虛函數(shù)是一個靜態(tài)成員函數(shù)B)虛函數(shù)是一個非成員函數(shù)

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

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

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

A)virtualintfunc(int);B)voidfunc(int)=0;C)virtualvoidfunc=0;

D)virtualvoidfunc(int)0

⑴設(shè)一棵二叉樹的中序遍歷結(jié)果為ABCDEFG,前序遍歷結(jié)果為DBACFEC,則后序遍

歷結(jié)果為LACBEGFD】.(2)在面向?qū)ο蠓椒ㄖ?,屬性與操作相似的一組對象稱為【類】。

⑶在結(jié)構(gòu)化設(shè)計方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工之間的關(guān)系,并且,每一

個【加工】實際上對應(yīng)一個處理模塊。(4)在進(jìn)行模塊測試時,要為每個被測

試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊.其中【驅(qū)動模塊】的作用是將測試

數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。(5)在關(guān)系運(yùn)算中,

【選擇】運(yùn)算是在指定的關(guān)系中選取所有滿足給定條件的元組,構(gòu)成一個新的關(guān)系,而這個

新的關(guān)系是原關(guān)系的一個子集。⑹為了表明一個函數(shù)不帶返回值,應(yīng)在定義函數(shù)

時指定該函數(shù)類型為【void].

⑺下列程序如果去掉for循環(huán)外圍的大括號對,則會出現(xiàn)編譯錯誤.錯誤原因是【a重定

義】。

include<iosireani,h>

ini

voidmain()

(

inta=10?b=20;

coutVVaVV"J'VVbVVQFdl;

(

inta=0tb=0;

for(inti=ljiV8,i+十)

(

a+=i;

b+=a;

)

cout?a?\H?b-<<%H?::a?endl;

)

coutVV8VV"."VVbWendL

⑻對于下列語旬

rhiir?*trl=i

char?sir2=**Hello"i

*Mrl=P:

其輸出結(jié)果為:[Pellol

⑼下列程序不能通過編譯,應(yīng)該在劃線部分填寫的語句是【returnx】。

doubleFunc(inta?intb,charch)

doublex;

switch(ch)

(

case

x=double(a)+b;

breakj

case

x=double(a)-bj

break;

case'*

x=douhle(a)*b;

break;

case7*s

if(b)x=double(a)/b:

else

exit(1);

break;

default:

exit(l);

}

}

voidmain。

(

cout?Func(32?6?*—*)?'*?M;

coutVVFunc(32,6,'>。VV".":

,

cont<Z<Func(32t6//X<end1;

(10)根據(jù)下面的主程序,完成類的一種構(gòu)造函數(shù)的最簡單形式。Base(intn){)

#include

classbase

private:

intnum;

public:

【10】,

voidmain。

{

basetry(6);

)

(ID下列程序的執(zhí)行結(jié)果為[a=3,b=2]。

#include<iostream.h>

intf(inti)(return++i;>

intg(int&4){return++i;}

voidmainO

{inta?b;

a=b=0;

a+=f(g(a))i

b+=f(f(b));

cout?°a=H?a?,',b=<*?b?endl.

(12)下列程序的運(yùn)行結(jié)果是【inC】。

tncludrVisuream.h:>

classA

publics

virtualvoiduse()(rout</*inA\nMt

I9

classB:publicA

(

public:

virtualvoiduse()(cnui?"inB\n*i)

11

classCtpublicB

public:

virtualvoiduse()(couiVV"inC\nwi>

voidmainO

(

A?obj?

obj■newCs

obj->use()t

deleteobji

(13)完成下列類的構(gòu)造函數(shù),初始化語句為[x=initx,y=initly]

#include<iostream.h>

classTest

(

private:

intx?yi

public:

voidTest(intinitxjntinity){

voidprintx<)(couiVVxV<"—"VVyVV"="VVx一";

h

voidmain()

(.

Testx(300.200);

x.printx();

(14)根據(jù)下列程序的執(zhí)行結(jié)果,可以斷定劃線部分的修飾符應(yīng)為【Static】。

執(zhí)行結(jié)果:

i9afootballiscreated,

afootballiscreated.

afootballisdestroyed,

afootballiscreated.

i-20

afootballisdestroyed,

afootballisdestroyed.

源程序i

aindude<Tios<ream.h>

classFootball

(

publict

Footb?li()(cout?-afootballiscreated."?endh;

***Football()(cout?*?footballisdestroyed,"?endli

h

voidfunc(inti)

(

Footballfl?

Football(2i

coutVV—-"VViVVcndh

i?

voidnuiinC)

<

func(10)?

func(20)i

(15)下列程序的輸出結(jié)果是[5,10,3】。

#include<iostream.h>

classMyClass

public:

ininumber;

voidset(inci);

h

intnumber=3;

voidMyClass::sei(inii)

[

number=i;

voidmainO

MyClassmyl;

ininumber=10;

myl.set(5)?

cout<<myl.numberVVj

myLset(number);

cout<<myl.number<</.

myl.set(::number);

couiVVmyl.number;

}

Ill算法的時間復(fù)雜度是指c

A)算法程序運(yùn)行的具體時間B)算法程序的長度

O算法程序執(zhí)行過程中基本運(yùn)算的次數(shù)D)運(yùn)行時算法程序所占的內(nèi)存容量

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

A)二叉鏈表B)帶鏈的棧C)有序線性鏈表D)有序順序表

⑶按“先進(jìn)先出”原則組織數(shù)據(jù)的結(jié)構(gòu)是CA)有序表B)棧C)隊列D)二叉樹

⑷對下列二叉樹進(jìn)行前序遍歷的結(jié)果是B

A)ZBTYCPXAB)ATBZXCYPC)ZBTACYXPD)ATBZXCPj

⑸下列敘述中正確的是DA)軟件就是程序清單

B)軟件就是存放在計算機(jī)中的文件c)軟件應(yīng)包括程序清單以及運(yùn)行結(jié)果

D)軟件包括程序和文檔

(6)在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務(wù)的方式是通過發(fā)送D

A)調(diào)用語句B)命令C)口令D)消息

⑺在模塊化程序設(shè)計中,按功能劃分模塊的原則是A

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

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

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

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

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

C)數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致D)數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管

理更多的數(shù)據(jù)

⑼在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是D

A)樹結(jié)構(gòu)B)網(wǎng)結(jié)構(gòu)C)線性表D)二維表

(10)下列敘述中正確的是B

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

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

C)數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)D)以上三種說法都不對

H)設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)A(~3)的值是D

A)10101001B)10101000C)111111010)0101010]

(12)以下敘述中不正確的是C

A)C++語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)B)C++語言中,對二進(jìn)制文件的訪問速

度比文本文件快OC++語言中,隨機(jī)讀寫方式不適用于文本文件

D)C++語言中,順序讀寫方式不適用于二進(jìn)制文件

(13)若已定義inta=256,執(zhí)行語句cout<AA)100B)256OffD)ff

(14)執(zhí)行下列程序的結(jié)果是A

main。

floatx=l?ys

y=++x*++x,

cout<<y<<endlt

A)9.000000B)6.000000C)l.000000D)程序有錯誤

(15)下面程序的輸出結(jié)果是A

m?in()

{inta=15J)=2Km=0j

switch(a%3)

(case0:m+4-

case1:m++,

switch(b%2)

{default:m++1

case0:m++1break;

)

}

coutVVmVVundl;

A)1B)203D)4

(16)有以下程序

intfKintx?inty)

{returnx>y?x:y;}

intf2(iniy>

(returnx>y?y:x?!

main。

{inta=4,b=3,c=5.d,e?f;

d=fl(a,b):d=fl(d.c);

e=f2(a,b);c=f2(e?c)i

f=a-b+c-d-e;

H

cout?d?\"?f?"t?e?endl;

}

執(zhí)行后輸出結(jié)果是cA)3,4,5B)j,3,4C)j,4,3D)3,5,4

(17)有以下程序

voidf(inty)

{intt>

if(x<y){t=x?x=yjy=t;}

)

mainO

s

{inta=4tb=3,c=5;

f(a.b);f(a9c)if(b*c);

M

cout?a?"/?b?\?c?endl1

執(zhí)行后輸出結(jié)果是DA)3,4,5B)5,3,4C)5,4,3D)4,3,5

(18)與數(shù)學(xué)式子函,3X對應(yīng)的C++語言表達(dá)式是C

A)3*xAn/(2*x—1)B)3*x**n/(2*x—1)

C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x—1)

(19)若有以下程序:

main()

{intk=2us=s2tm;

m=(k+=i*=k)i

cout<<m<<**?°?i?endl

執(zhí)行后的輸出結(jié)果是CA)8,6B)8,306,4D)7,4

(20)設(shè)有定義:

classperson

{intnum;

charname[101;

public:

voidinitCintn?char*m):

H

personstd[30]

則以下敘述不正確的是D

A)std是一個含有30個元素的對象數(shù)組B)std數(shù)組中的每個元素都是person類的對象

0std數(shù)組中的每個元素都有自己的私有變量hum和name

D)std數(shù)組中的每個元素都有各自的成員函數(shù)init

21)以下敘述中不正確的是C

A)一個類的所有對象都有各自的數(shù)據(jù)成員,它們共享函數(shù)成員

B)一個類中可以有多個同名的成員函數(shù)C)一個類中可以有多個構(gòu)造函數(shù)、多個析構(gòu)函

數(shù)D)在一個類中可以聲明另一個類的對象作為它的數(shù)據(jù)成員

(22)以下關(guān)于私有和保護(hù)成員的敘述中,不正確的是A

A)私有成員不能被外界引用,保護(hù)成員可以B)私有成員不能被派生類引用,保護(hù)成員在

公有繼承下可以C)私有成員不能被派生類引用,保護(hù)成員在保護(hù)繼承下可以

D)私有成員不能被派生類引用,保護(hù)成員在私有繼承下可以

(23)友元函數(shù)的作用是AA)提高程序的效率B)加強(qiáng)類的封裝性

C)實現(xiàn)數(shù)據(jù)的隱蔽性D)增加成員函數(shù)的種類

(24)使用靜態(tài)數(shù)據(jù)成員的好處不包括D

A)可以節(jié)省內(nèi)存空間B)是為了解決數(shù)據(jù)共享問題

C)可以直接用類名來引用D)可以提高運(yùn)算速度

(25)以下不能正確創(chuàng)建輸出文件對象并使其與磁盤文件相關(guān)聯(lián)的語句是D

A)ofstreammyfile;myfile.open(wd:ofile.txt''):

B)ofstream*myfile=newofstream;myfile->open("d:ofile.txt");

C)ofstreammyfileC,d:ofile.txt");

D)ofstream*myfi1e=new(wd:ofile:txt");

(26)有關(guān)析構(gòu)函數(shù)的說法中錯誤的是C

A)析構(gòu)函數(shù)有且只有一個B)析構(gòu)函數(shù)無任何函數(shù)類型

C)析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參D)析構(gòu)函數(shù)的作用是在對象被撤銷時做清理工作

(27)下列運(yùn)算符中,不能重載的是AA)?:B)+O-D)<=

(28)已知類A中有公用數(shù)據(jù)成員B*b;其中B為類名。則下列語句錯誤的是C

A)A():d(newB)()B)A(constA&oo):d(newB){*d=*oo.d:}

C)~A(d)(}D)-A(){deleted;}

(29)以下有關(guān)析構(gòu)函數(shù)的敘述中錯誤的是B

A)一個類只能定義一個析構(gòu)函數(shù)B)析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參

C)析構(gòu)函數(shù)不允許有顯式的返回值D)析構(gòu)函數(shù)名前必須冠有符號

(30)在C+十語言程序中D

A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B)函數(shù)的定義和調(diào)用均可以嵌套

C)函數(shù)的定義和調(diào)用均不可以嵌套D)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

(31)以下敘述中不正確的是C

A)在類的定義中通常是用數(shù)據(jù)成員描述對象的屬性,用成員函數(shù)描述對象的行為

B)類的一個成員只能具有一種訪問控制屬性C)構(gòu)造函數(shù)和析構(gòu)函數(shù)是特殊的成

員函數(shù),因此不允許重載D)通過對象只能訪問類的公有成員

(32)磁盤文件操作中,打開磁盤文件的訪問方式中以追加方式打開文件的C

A)inB)outC)appD)ate

(33)假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類的B

A)有參構(gòu)造函數(shù)B)無參構(gòu)造函數(shù)C)拷貝構(gòu)造函數(shù)D)賦值重載函數(shù)

(34)通常初始化拷貝構(gòu)造函數(shù)的參數(shù)是C

A)某個對象名B)某個對象的成員名C)某個對象的引用名D)某個對象的指針名

(35)實現(xiàn)運(yùn)行時的多態(tài)性用D

A)重載函數(shù)B)構(gòu)造函數(shù)C)析構(gòu)函數(shù)D)虛函數(shù)

⑴在深度為4的滿二叉樹中,葉子結(jié)點的個數(shù)為[8]。(2)在一個容量為25的循

環(huán)隊列中,若頭指針front=9指針rea=16,則該循環(huán)隊列中共有17】個元素。

⑶在面向?qū)ο蠓椒ㄖ?,允許作用于某個對象上的操作稱為【方法】。

(4)軟件生命周期包括八個階段。為使各時期的任務(wù)更明又可以分為以下三個時期:軟件定

義期,軟件開發(fā)期,軟件維護(hù)期。編碼和測試屬于【軟件開發(fā)】期。

⑸在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)具有獨立性。由于數(shù)據(jù)的存儲結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映

象,使得當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序

不必修改。這種獨立性稱為【物理獨立性1(6)在任何類中都有三種訪問權(quán)

限的數(shù)據(jù)成員,這三種權(quán)限是public、private和【protected]。

⑺下列程序的輸出結(jié)果是[43]

#include<Ciostream,h>

voidmainO

(

charaCJ-^abcdabcabfgacd*'>

intil=0,i2=0.i=0:

while(a[i])

(

if=il++i

if<aEi]=="bw)i2++,

i++;

}.

coutVVilVV".VVi2VVendl:

⑻如下程序編譯時發(fā)生錯誤,錯誤的原因是show函數(shù)實現(xiàn)語句錯誤,則正確的語句應(yīng)

該為[voidtest::showO{cout<]。

#includc<Ciostream.h>

classtest

(

private:

intnum;

public?

test(int)?

voidshow();

}i

test:?test(inth){num=n,}

test::show。(cout?num<<endl;)

voidmainO

(

testT(10);

T.show。;

⑼下列程序的運(yùn)行結(jié)果是【b=762】

二inclu(ie<Tiornamp.h>

infFunc<int,n?inin)

int11

for(inti-OjiVn“++)

a?=?a++.

returns1

voidtnain()

<

tnt■口=(L2?3,4?5?6.7?8h

intb=Func(..6)+Func(&.[5].2)j

cout?^b=yVbVVendh

」.

(10)下列程序的輸出結(jié)果為[10]o

??includr<iofitreHni.h>

mt&*niAX(int&x?int&y)

(return(x>y?x:y)?*

voidmainO

inin=3.mH12j

inax(m?n)+4?

coui?Hm=<*<<m?,,.n-"?n<<endh

includc<iosiream.hZ>

classbase

(

intx,y;

public:

base(in?i*inij)(x=i;y=jj}

virtualintadd(){returnx十y;)

}i

classthree:publicbase

(

intzi

public:

three(inlj*intk):base(i,j){z=k】>

intadd(){return(base::add()-f-z);}

}.

voidmain()

(

three?q=newthree(1O?2O?3O><

cout<<q—>add(X<endl:

(11)下面程序編譯時發(fā)現(xiàn)ma⑶

一9錯誤,其原因是[11]。

#includediostream.h>

classFunArray

(

int*pa;〃指向一個數(shù)組空間

intsize:〃數(shù)組元素個數(shù)

public:

FunArray(inia[].intthesize):pa(a)?size(tl

intSize(){returnsize;1

)

}i

voidmain()

(

ints[J-<3.7.2,1,5.4},

FunArrayma(s?sizeof(s)/sizeof(int));

ma[3]=9;

coutVVma[3]VVendl;

>

(12)下列程序的執(zhí)行結(jié)果是L40060]

include<Ciostream.h>

HassStudent

)ublic:

Student(iisfxx){x=xxi)

virtufilfloatcalcJuition<)i

irotecied:

inix;

lornStudent:tcalcTuitionC)

(

returnfloat(x?x)i

)

classGraduatcStudcnt:publicStudent

[

publics

GraduatrSiudentCintxx)tStudent(xx)I)

floatcalcTuition()i

)i

floatGraduateSludtnt:icalcTuitionC)

(

returnfloat(x?2)i

I

voidmam()

(

Students(20)i

GmdualeStudentgs(30)i

cou??s,ealcTuition()?""<<gs,calcTuiUon()?en<ll?

〃計真學(xué)生?和研究生R*的學(xué)普

(13)下列程序中需要清理動態(tài)分配的的數(shù)組,劃線處應(yīng)有的語句【delete口ptr】是。

#include<iostream.h>

classperson?

(

intage,tall;

public:

pcrson()(age^0Hall=40;cou!<C*'Ababyisborn."VVendl,}

persontinti){age=i?tall40<coul<<wAoldperson.**<<endl;}

person(intifinlj)(age=iitall-j?cout<<°aoldpersonwithtall."<<

endli)

-^personC){coul<<**persondead."<-<cndl;}

voidshow。

(

cout?"age=,,?age?\tall=',?call?endli

)

)I

voidmainO

(

person*ptr;

ptr=newpersonC3];

ptr[0]=personOi

ptrri]=person(18);

ptr[2]=person(20.120)i

for(inii=0si<3]++)

pir[i].show();

(14)下列程序完成從文件讀取文件顯示的同時寫入第二個文件,則在程序中劃線部分應(yīng)

該出現(xiàn)的語句是[file2.Open(fn2,ios::out);L

#includc<iosiream.h>

#include<fstream.h>

voidmainO

(

fstreamfilelTfile2;

charfnlf10]tfn2C10]?chi

couiVV”輸入源文件名、

cin>>fnl;

coutVV”輸入目標(biāo)文件名、

cin>>fn2j?

filel.open(fnl?ios::in)i

while((ch=filel.gei())!=EOF

溫馨提示

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

評論

0/150

提交評論