國(guó)家二級(jí)(C++)機(jī)試模擬試卷9 (三)_第1頁(yè)
國(guó)家二級(jí)(C++)機(jī)試模擬試卷9 (三)_第2頁(yè)
國(guó)家二級(jí)(C++)機(jī)試模擬試卷9 (三)_第3頁(yè)
國(guó)家二級(jí)(C++)機(jī)試模擬試卷9 (三)_第4頁(yè)
國(guó)家二級(jí)(C++)機(jī)試模擬試卷9 (三)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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)介

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

一、選擇題(本題共37題,每題1.0分,共37分。)

1、軟件維護(hù)活動(dòng)不包括()。

A、改正性維護(hù)

B、適應(yīng)性維護(hù)

C、重組性維護(hù)

D、預(yù)防性維護(hù)

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

知識(shí)點(diǎn)解析:軟件維護(hù)活動(dòng)包括改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維

護(hù)。

2、數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性和物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯

結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱(chēng)為

A、物理獨(dú)立性

B、邏輯獨(dú)立性

C、數(shù)據(jù)獨(dú)立性

D、結(jié)構(gòu)獨(dú)立性

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

知識(shí)點(diǎn)解析:數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。物理獨(dú)立性

是指用戶(hù)的應(yīng)用程序與存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中的數(shù)據(jù)是相互獨(dú)立的,即數(shù)據(jù)在磁

盤(pán)上怎樣存儲(chǔ)由DBMS管理,用戶(hù)程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)

的邏輯結(jié)構(gòu)。因此,當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變時(shí),基于邏輯結(jié)構(gòu)的應(yīng)用程序不用改

變。邏輯獨(dú)立性是指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的,即當(dāng)數(shù)據(jù)

的邏輯結(jié)構(gòu)改變時(shí),用戶(hù)程序可以不變。

3、冒泡排序算法在最好的情況下的元素交換次數(shù)為()次。

A、0

B、1

C、2

D、3

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

知識(shí)點(diǎn)解析:根據(jù)冒泡徘序算法的思想:若待排序的初始序列為正序序列,則只需

進(jìn)行一趟排序,在排序過(guò)程中進(jìn)行n-1次關(guān)鍵字間的比較,且不移動(dòng)和交換記錄,

這種情況是冒泡排序的最好情況,故冒泡排序算法在最好的情況下的元素交換次數(shù)

為0次。

4、在面向?qū)ο蠓椒ㄖ校?lèi)之間的共享屬性和操作機(jī)制稱(chēng)為()。

A、封裝

B、繼承

C、多態(tài)

D、單態(tài)

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

知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ?,一個(gè)類(lèi)可以從直接或間接的祖先中繼承所有屬性

和方法,它提高了軟件的可重用性,是類(lèi)之間的共享屬性和操作的機(jī)制。

5、數(shù)據(jù)庫(kù)恢復(fù)是將數(shù)據(jù)庫(kù)從()狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。

A、未知

B、錯(cuò)誤

C、一致

D、完整

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

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)關(guān)系系統(tǒng)中具有把數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀

態(tài)(又稱(chēng)為一致?tīng)顟B(tài)或完整狀態(tài))的功能,就是數(shù)據(jù)庫(kù)的恢復(fù)。

6、函數(shù)定義的格式是()函數(shù)名(形式參數(shù)表)函數(shù)體v

A、引用類(lèi)型

B、數(shù)值類(lèi)型

C、標(biāo)注類(lèi)型

D、返回類(lèi)型

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

知識(shí)點(diǎn)解析:本題考查基本的函數(shù)定義格式。

7、在面向?qū)ο蠓椒ㄖ校?lèi)的實(shí)例稱(chēng)為()。

A、對(duì)象

B、方法

C、類(lèi)型

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

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

知識(shí)點(diǎn)解析:類(lèi)是具有相同特征的對(duì)象的抽象,對(duì)象是類(lèi)的實(shí)例。

8、關(guān)系操作的特點(diǎn)是()操作。

A、分類(lèi)

B、集合

C、控制

D、互斥

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

知識(shí)點(diǎn)解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱(chēng)為關(guān)系,因

此關(guān)系其實(shí)是數(shù)據(jù)的集合,對(duì)關(guān)系的操作其實(shí)就是對(duì)數(shù)據(jù)組成的集合之間的操作。

9、數(shù)據(jù)庫(kù)保護(hù)不包括()。

A、安全性控制

B、并發(fā)性控制

C、數(shù)據(jù)恢復(fù)

D、預(yù)防性控制

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

知識(shí)點(diǎn)解析:安全性控制是指防止未經(jīng)授權(quán)的用戶(hù)有意或無(wú)意存取數(shù)據(jù)庫(kù)中的數(shù)

據(jù),以免數(shù)據(jù)被泄露、更改或破壞;完整性控制是指保證數(shù)據(jù)庫(kù)中數(shù)據(jù)及語(yǔ)義的正

確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作;并發(fā)性控制是指正確處理好多用

戶(hù)、多任務(wù)環(huán)境下的并發(fā)操作,防止錯(cuò)誤發(fā)生;數(shù)據(jù)的恢復(fù)是指當(dāng)數(shù)據(jù)庫(kù)被破壞或

數(shù)據(jù)不正確時(shí),使數(shù)據(jù)庫(kù)能恢復(fù)到正確的狀態(tài)。

10、將“x+y*z"中的用成員函數(shù)重載,“*”用友元函數(shù)重載,應(yīng)寫(xiě)為()。

A、x.rational+(rational*(y,z))

B、x.const+(const*(y,z))

C、x.operator+(operator*(y,z))

D、x.temp+(temp*(y,z))

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

知識(shí)點(diǎn)解析:運(yùn)算符重載為成員函數(shù)的形式:“函數(shù)類(lèi)型。peraior運(yùn)算符(形參

表){函數(shù)體;}“;運(yùn)算符重載為友元函數(shù)的形式:"friend函數(shù)類(lèi)型。peralor運(yùn)算符

(形參表){函數(shù)體;}一般來(lái)講,單目運(yùn)算符最好重載為成員函數(shù),雙目運(yùn)算符

最好重載為友元函數(shù)。運(yùn)算符函數(shù)有兩種調(diào)用形式,第一種是像一般函數(shù)那樣用函

數(shù)名調(diào)用,即“y.opera【or*(z)”或者"operator*。,z『;另一種是通過(guò)運(yùn)算符構(gòu)成表

達(dá)式,即“y*z”。

11、指針變量保存的是()。

A、變量地址

R、對(duì)象的內(nèi)存地址

C、常量地址

D、邏輯地址

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

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

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

12、()是實(shí)現(xiàn)C++語(yǔ)青運(yùn)行時(shí)多態(tài)性的機(jī)制。

A、靜態(tài)綁定

B、動(dòng)態(tài)綁定

C、單態(tài)綁定

D、多態(tài)綁定

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

知識(shí)點(diǎn)解析:C++語(yǔ)言編譯時(shí)多態(tài)性的機(jī)制是靜態(tài)綁定,實(shí)現(xiàn)C++語(yǔ)言運(yùn)行時(shí)多態(tài)

性的機(jī)制是動(dòng)態(tài)綁定。

知識(shí)點(diǎn)解析:面向?qū)ο笙到y(tǒng)包含了3個(gè)特征:封裝性、繼承性和多態(tài)性,這3個(gè)特

征可以很好地實(shí)現(xiàn)數(shù)據(jù)抽象,進(jìn)行行為共享,完成進(jìn)化求解和描述一個(gè)系統(tǒng)的確定

行為。

18、C++語(yǔ)言程序是從()函數(shù)開(kāi)始執(zhí)行的。

A、ios

B、main

C、list

D^temp

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

知識(shí)點(diǎn)解析:所有的C++語(yǔ)言程序都是從main函數(shù)開(kāi)始執(zhí)行,而普通函數(shù)的存在

是為了簡(jiǎn)化main函數(shù)的復(fù)雜程度。

19、派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序是()。

A、派生類(lèi)、成員對(duì)象、基類(lèi)

B、成員對(duì)象、基類(lèi)、派生類(lèi)

C、基類(lèi)、成員對(duì)象、派生類(lèi)

D、成員對(duì)象、派生類(lèi)、基類(lèi)

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

知識(shí)點(diǎn)解析:本題主要考查的是派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序,在C++語(yǔ)言中構(gòu)造

函數(shù)的執(zhí)行順序是先基類(lèi)后派生類(lèi),而析構(gòu)函數(shù)的執(zhí)行順序正好相反,是先調(diào)用派

生類(lèi)后調(diào)用基類(lèi)。派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行基類(lèi)的構(gòu)造函數(shù),然后執(zhí)行

成員對(duì)象的構(gòu)造函數(shù),最后執(zhí)行派生的構(gòu)造函數(shù)。

20、類(lèi)模板只可用()型參數(shù)。

A、類(lèi)

B、重載

C、任何

D、派生

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

知識(shí)點(diǎn)解析:本題考查的是類(lèi)模板的定義,C++語(yǔ)言中模板分為兩種:類(lèi)模板和函

數(shù)模板,類(lèi)模板只能用于類(lèi)型參數(shù),函數(shù)模板可以重載。

21、C++語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋的結(jié)束標(biāo)記為

()。

A、/*

B、*/

C、:

D、;

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

知識(shí)點(diǎn)解析:C++語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以“/

*”開(kāi)始,以“*/”結(jié)束。

22、用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針si指向具11字節(jié)的動(dòng)態(tài)存儲(chǔ)空

間,則下列橫線中應(yīng)填寫(xiě)的內(nèi)容是()。st=(char*):

A%malloe(sizeof*l1)

B、char(11)

C、malloc(char(sizeof)*11)

D>malloc(ll)

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

知識(shí)點(diǎn)解析:malloc函數(shù)的參數(shù)可以是一個(gè)具體的常數(shù),也可以是一個(gè)表達(dá)式。在

本暨中,可以是mallocdl),也可以借助于sizeof運(yùn)算符來(lái)表示。本題答案也可以

表示為malloc(sizeof(char)*ll)o

23、程序中有如下語(yǔ)句:for(inti=0;i<5;i+4-)cout?*(p+i)?",";能

夠依次輸出int型一維數(shù)組DATA的前5個(gè)元素。由此可知,變量p的定義及初始

化語(yǔ)句是()。

A、int*p=DATA

B、DATA二int*p

C、int(cuont*p)=DATA

D、cuont(int*p)=DATA

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

知識(shí)點(diǎn)解析:本題考查的是指針變量的定義及初始化。題目中要求輸出ini型數(shù)組

DATA的前5個(gè)元素,由表達(dá)式“*(p+0)和*(p+4)”可知,變量p是一個(gè)指向DATA

首地址的int型指針,故它的定義及初始化語(yǔ)句是“int*p=DATA”。

24、表達(dá)式“c3=cl.operator^式)''或"c3=operatorF(cl,c2)”還可以表示為()。

A、c3=c—c2

B、c3=el+c2

C、cl-c3+c2

D、c2=e3+c2

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

知識(shí)點(diǎn)解析:本題考查的是“十''運(yùn)算符的重載。運(yùn)算符函數(shù)的調(diào)用有兩種形式,第

一種是像一般函數(shù)那樣用函數(shù)名調(diào)用,即“cl.operatotor+(c2)”或者"operator+(cl,

c2f;另一種是通過(guò)運(yùn)算符構(gòu)成表達(dá)式,即“cl+c2”。

25、下列程序的輸出結(jié)果是()。#includetemplateTmax(Tx[],intn){inti;T

maxv=x[0];for(i=l;i

A、9,7.3

B、7,7.3

C、9,3.4

D、7,3.4

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

知識(shí)點(diǎn)解析:函數(shù)的功能是求出數(shù)組中指定范圍的元素中的最大值。所以在a數(shù)組

中前4個(gè)數(shù)據(jù)中最大值為7,數(shù)組b中前3個(gè)元素中最大值為3.4o

26、石.如下定義:classMA)intvalue;public:MA(intn=0):value(n){)};

MA*ta,tb;其中,MA類(lèi)的對(duì)象名標(biāo)識(shí)符是()。

A、ta

B、tb

C>intta

D、inttb

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

知識(shí)點(diǎn)解析:本題考查的是對(duì)象的定義。對(duì)象的定義格式為“類(lèi)名對(duì)象名(參數(shù)

表);所以題目中的0)是對(duì)象名標(biāo)識(shí)符,而ta被定義成類(lèi)MA的指針,故答案

為tbo

27、下列程序在構(gòu)造函數(shù)和析構(gòu)函數(shù)中申請(qǐng)和釋放類(lèi)的數(shù)據(jù)成員int*a,申請(qǐng)時(shí)使

用形參b初始化a,橫線處應(yīng)填寫(xiě)的語(yǔ)句是()。classA{public:A(intb);?

A();private:int*a;);A::A(inlb){;)A::?A(){deletea;)

A、a=newint(b)

B、b二newint(a)

C>a=int(b)

D、b=int(a)

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

知識(shí)點(diǎn)解析:C++中new和delele的使用有如下幾種方式:①a=newint;delete

a:②a=newint(10);delelea:(3)a=newint[10]:delete[]a;。

28、下列程序的運(yùn)行結(jié)果是()。#include#defineN10#defines(x)x*x#define

f(x)(x*x)voidmain(){intil,i2;i1=1000/s(N):i2=1000H(N);coul<

A、1000,10

B、1000,100

C、10,1000

D、100.10

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

知識(shí)點(diǎn)解析:對(duì)于define宏定義語(yǔ)句,系統(tǒng)會(huì)在編譯前進(jìn)行替換。本題替換過(guò)程

如下:il=1000/s(N)il=1000/s(10)il=1000/10*1011=1000i2=1000/f(N)

i2=IOOO/f(10)i2=1000/(10*10)i2=10

29、下列橫線處應(yīng)填寫(xiě)的內(nèi)容是()。#includeclassTest{privatetstaticintval;int

a:public:staticintfunc();voidsrune(Test&r);];//初始化靜態(tài)變量va】int

Test::func(){returnval++:)voidTest::sfunc(Test&r))r.a=125;

eout?"Result3="<

標(biāo)

報(bào)

錯(cuò)

查看答案

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

知識(shí)點(diǎn)解析:本題考查的是成員函數(shù)的調(diào)用。因?yàn)闄M線處的作用是調(diào)用基類(lèi)的fun

函數(shù),又因?yàn)榕缮?lèi)中也有fun函數(shù),所以必須對(duì)fun函數(shù)加以限定,即“Base::

fnn();”。

31、卜列程序的運(yùn)行結(jié)果是()。#include(iostream.h)classtest{private:int

hum;public:test();intTEST(){returnhum+100;});test::

test()(num=O:)test::^test(){cout?"Destructorisactive"<

A、

B、

C>

D、

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

知識(shí)點(diǎn)解析:本題考查基本的類(lèi)的定義,構(gòu)造函數(shù)以及對(duì)象數(shù)組的概念。

32、若下列程序運(yùn)行的輸出結(jié)果為1,A,10.12,B,3.5則橫線處應(yīng)填寫(xiě)的內(nèi)

容為()。#inckide(iostream)usingnamespacestd;voidtest(inta,charb,doublec)

1cout<

A、=1

R、二2

C、=3.5

D、=10.1

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

知識(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”。

33、卜列程序運(yùn)行后的結(jié)果為()。#includevoidmain(){inta=l,b=2;boolc=1:

if<b)IIc)cout?"true"<

A、false

O

true

C、2

o

D、1

34、下列下i?語(yǔ)句的循環(huán)次數(shù)為()。for(inta=0,b=l.b&&a<5;a++);

O

A、0

B、1

C、3

o

D、5

35下列程序的輸出結(jié)果是()。#includevoidmain(){inta[6]={1,2,3,4,5,

6);for(inti=0;i<5:i++)cout<

O

A、123456

B、12345

O

C>1234

D、12346

36>下列程序的執(zhí)行結(jié)果為()。#includevoidmain(){cout<

O

A、hello

*hcllo

O

C、*****hell0

O

、**********he]]o

37、若已定義“inta[]={l,2,3,4,5,6,7,8,9,10),p=a,i=5;”則

對(duì)數(shù)組元素不正確的引用是0。

O

A、a[p-a]

B、*(8&a[i])

O

C、p[i]

O

D、*(*(a+i))

二、基本操作題(本題共[題,每題1.0分,共7分。)

38、使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有

錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,并使程序輸出的結(jié)果為Maxis7提示:

max函數(shù)用于找出兩個(gè)數(shù)中的最大值,并作為函數(shù)值返回。注意:借誤的語(yǔ)句在

//********error********的下面,修改該語(yǔ)句即可。試題程序:

#includc(iostrcam)usingnamespacestd;//********error********int

max(inta,intb){if(a<b){intt=a:a=b;b=t;}returnb;)intmain(){intm="

3:intn=7://********error********max(-3,n);cout?"Maxis'<

三、簡(jiǎn)單應(yīng)用題(本題共I題,每題1.0分,共1分。)

39、使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp,請(qǐng)實(shí)現(xiàn)函數(shù)

fun(doublea[],intlen)的如下功能:(l)a口是一個(gè)數(shù)組,長(zhǎng)度為len。(2)a[0]=0?

a[l]=lo(3)a[i+2]=a[i]+a[i+l]o注意:不能修改函數(shù)的其他部分。試題程序:

#inckidevoidfun(doublea[],intlen){)voidmain(){doubleaE20]:fun(a,20):

for(inti=0;i<20;i++){std::cout<

四、綜合應(yīng)用題(本題共I題,每題1.0分,共I分C)

40、使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類(lèi)并不

完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整,并使程序的輸出結(jié)果為21。

(1)增加靜態(tài)私有變量Num,類(lèi)型為int。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。(2)增加

靜態(tài)變量Num并初始化為10。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。(3)完成靜態(tài)函數(shù)

get的定義。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。(4)完成對(duì)象obj對(duì)靜態(tài)函數(shù)get的調(diào)

用,使輸出結(jié)果為21。請(qǐng)存注釋4后添加適當(dāng)?shù)恼Z(yǔ)句。注意:增加或者修改代碼

的位置已經(jīng)用符號(hào)表示出來(lái),請(qǐng)不要修改其他的程序代碼。試題程序:

#include(iostream.h)classTC{//********]********intOwn;public:TC(int

i){Ovvn=i:}//********2********{returnNum+obj->Own:}}://

********3********intmain(){T'C?obj(l1).//********4********coutw<

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

一、程序改錯(cuò)題(本題共[題,每題7.0分,共[分0)

1、使用VC6打開(kāi)考生文件夾下的工程lest24_l,此工程包含一個(gè)源程序文件

test24」.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果

為:00012-100012-121I源程序文件test24」.cpp清單如下:include<

iostreamclass{/****************found*******************/inta—0。

public:A(intaa=O):a(aa){)};classB{inta,b;constintc;Ad;public:

/****************砧皿(|*******************/B0{}

/****************found*******************/B(intaaintbb)?d(aa+bb){a=aa

b=bb;)voidprint(){cout<<a<<',"<<b<<nH<<c<<M"<<endl;));void

main(){Ba,b(l,2);Bx=a,y(b),z(2,l);a.print();b.print();x.print();y.print();z.print();}

標(biāo)準(zhǔn)答臭⑴襦誤:inta=0;正確:inta;⑵霜誤;B(){}定確:B():c(O){a=0;

b=0;}(3)錯(cuò)誤:B(intaa,intbb):d(aa+bb)正確:B(intaa,intbb):c(aa-bb),d(aa+bb)

知識(shí)點(diǎn)解析:(1)主要考查考生對(duì)于類(lèi)的數(shù)據(jù)成員的初始化,在類(lèi)的定義中不能對(duì)

類(lèi)的數(shù)據(jù)成員進(jìn)行初始叱,如果想要進(jìn)行初始化應(yīng)該使用構(gòu)造函數(shù)和參數(shù)的默認(rèn)

值:(2)主要考查考生對(duì)于含有常數(shù)據(jù)成員的類(lèi)的構(gòu)造函數(shù)的掌握,常數(shù)據(jù)成員必

須在構(gòu)造函數(shù)中進(jìn)行初始化,而且應(yīng)該使用參數(shù)列表的形式;(3)主要考查考生在

構(gòu)造函數(shù)中對(duì)常數(shù)據(jù)成員的賦值的掌握,常數(shù)據(jù)成員的賦值應(yīng)使用初始化列表進(jìn)

行。

二、簡(jiǎn)單應(yīng)用題(本題共I題,每題1.0分,共1分C)

2、請(qǐng)編寫(xiě)兩個(gè)函數(shù)intsum_of_powers(intk,intn),powers(intm,intn)>求1?6

的k次方的和,sum_of_powers中參數(shù)k和n分別表示k次方和所求數(shù)列中坡大的一

個(gè)自然數(shù),最后返回所求值,powers中參數(shù)m和n分別表示m為底數(shù)n為指數(shù),

最后返回所求值。要求使用for循環(huán)和函數(shù)嵌套(intsum_of_powers中調(diào)用powers)

實(shí)現(xiàn)算法。輸出結(jié)果如卜:sumof4powersofimergersfrom1to6=2275注意:部

分源程序已存在文件test25_2.cpp中。請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何

內(nèi)容,僅在函數(shù)sum_of_powers和powers的花括號(hào)中填寫(xiě)若干語(yǔ)句。文件

lesl25_2.cpp的內(nèi)容如下:#include<iostream.h>constintk(4);constintn(6);int

sum_oflpowers(intk,intn),powers(intm,intn);voidmain(){cout<<Msumof"

<<k<<"powersOfintergersfrom1to"<<n<<;cout<<

sum_oCpowers(k,n)<<endl;)intsum_uCpowci>?(iiilk,intn){)intpowers(int

m,intn){}

標(biāo)準(zhǔn)答案:(l)intsum_oLpowers(intk,intn){intsum(0);for(inti=l;i<=n;i++)

sum+=powers(i,k);returnsum;}(2)intpowers(intm,intn){inti,product1);

for(i=1:i<=n;i++)product*=m;returnproduct;)

知識(shí)點(diǎn)解析:本題考查的是考生使用for循環(huán)和函數(shù)嵌套解決一般問(wèn)題的能力0注

意最后將計(jì)算的值返回。

三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)

3、使用VC6打開(kāi)考生文件夾下的工程test23_3,比工程包含一個(gè)源程序文件

test23_3.cpp,其中定義了類(lèi)X和它的友元類(lèi)Y,但它們的定義并不完整。請(qǐng)按要求

完成下列操作,將程序補(bǔ)充完整。(1)將類(lèi)X的靜態(tài)數(shù)據(jù)成員y初始化為1。請(qǐng)?jiān)?/p>

注釋“〃**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句v(2)完成類(lèi)Y的構(gòu)造函數(shù)Y(inti,intj)的定

義,將參數(shù)i賦值給類(lèi)Y的數(shù)據(jù)成員,X的對(duì)象a中的數(shù)據(jù)成員x,并且把參數(shù)j

賦值給類(lèi)X的數(shù)據(jù)成員y,請(qǐng)?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。(3)完成類(lèi)Y

的成員函數(shù)voidDisplay。的定義,將Y的數(shù)據(jù)成員,X的對(duì)象a中的數(shù)據(jù)成員x和

類(lèi)X的數(shù)據(jù)成員y按照“x=_,y二”的形式顯示出來(lái)(二”代表一個(gè)數(shù)字),請(qǐng)?jiān)谧⑨?/p>

“〃**3**”之后添加適當(dāng)?shù)恼Z(yǔ)高。輸出結(jié)果如下:x=5,y=lx=6,y=9x=5,y=9注

意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。源程序文件

test23_3.cpp清單如下:include<iostream.h>classX{friendclassY;public:

voidSet(inti){x=i;}voidDisplayO{cout<<,'x=,'<<x<<",";cout<<"y=n<

<y<<endl;)private:intx;staticinty;};classY(public:Y(inti,intj)void

DisplayO;private:Xa;};//**]**Y::Y(inti,intj){//**2**}voidY::Display()

{//**3**}voidmain(){Xb;b.Set(5);b.DisplayO;Yc(6,9);c.DisplayO;

b.DisplayO;}

標(biāo)準(zhǔn)答案:(l)intX::y=l;(2)a.x=i;X;;y=j;(3)cout<<nX=,,<<a.x<<",H;

cout<<"y=H<<X::y<<endl;

知識(shí)點(diǎn)解析:本題主要考查考生對(duì)于友元類(lèi)的定義和使用友元類(lèi)訪問(wèn)的應(yīng)用,注意

(1)中類(lèi)X的靜態(tài)成員y應(yīng)該在類(lèi)外初始化,而(2)和(3)中對(duì)于x和y不同的訪問(wèn)方

式就是因?yàn)閥是靜態(tài)成員,是類(lèi)X的所有對(duì)象公有的,必須使用作用域符“::“進(jìn)行

訪問(wèn)。

家二級(jí)(C++)機(jī)試模擬試卷第3套

一、程序改錯(cuò)題(本題共7題,每題7.0分,共I分0)

1、使用VC6打開(kāi)考生文件夾下的工程tesl26」,此工程包含一個(gè)源程序文件

test26_l.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正函數(shù)中的錯(cuò)誤,使該程序的輸出結(jié)果

為:Valuesare:1,2and3源程序文件test26」.cpp清單如卜;#include<

iostream.h>classCommonBase{public:intx;);

/*****************fY)und*****************/classDeriveC^ommon/X,.public

CommonBase{public:inty;};classDeriveCommonB:publicCommonBase{public:

intz,J*/*************?***found***************太*/classOverlappino,piiblic

DeriveCommonA;publicDeriveCommonB{public:voidDisplayO{cout<<"Values

are:"<<DeriveCommonA::x<"<<y<<"and"<<z<<endl;)};intmain

(){Overlappin。ov。/*****************^^und*****************/ovx—1?ovy—^2*

ov.z=3;ov.DisplayO;return0;}

標(biāo)準(zhǔn)答案:(I)錯(cuò)誤:classDeriveCommonA::publicCommonBase正確:class

DeriveCommonA:publicCommonBase(2)錯(cuò)誤:classOverlapping:public

DcriveCommonA:publicDeriveCommonB正確:classOverlapping:public

DeriveCommonA,publicDeriveCommonB⑶錯(cuò)誤:ov.x=l;正確:

ov.DeriveCommonA::x=l;

知識(shí)點(diǎn)解析:(I)主要考查考生對(duì)于派生類(lèi)定義的理解,C++規(guī)定的繼承格式是在類(lèi)

名的后面加冒號(hào),之后是繼承方式和繼承類(lèi)的名稱(chēng),題目中錯(cuò)誤的使用了作用域運(yùn)

算符;(2)主要考查考生是否掌握了多繼承的定義,多繼承的格式基本上和單繼承相

同,不過(guò)在多個(gè)基類(lèi)之間應(yīng)該使用逗號(hào)分開(kāi),題目中錯(cuò)誤的使用了分號(hào),分號(hào)在

C++中是結(jié)束標(biāo)志;(3)主要考查考生對(duì)于派生類(lèi)的對(duì)象訪問(wèn)的掌握,x是類(lèi)

CommonBase的成員,如果不加限制的訪問(wèn)就會(huì)產(chǎn)生二義性,編譯程序不知道這個(gè)x

是A類(lèi)的,還是B類(lèi)的,所以必須使用作用域限制符”::“,為了解決這個(gè)問(wèn)題可以

使用虛基類(lèi)。

二、簡(jiǎn)單應(yīng)用題(本題共/題,每題/.0分,共/分C)

2、請(qǐng)編寫(xiě)函數(shù)「un(),其功能是將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCII值

也為奇數(shù)的字符之外,其余的所有字符都刪除。字符串中剩余的字符所形成的一個(gè)

新的字符串放在t所指的數(shù)組中。例如:s所指字符串中的內(nèi)容為

ABCDEFG12345,其中字符A,的ASCH碼值雖為奇數(shù),但元素所在的下標(biāo)為偶

數(shù),因此必需刪除:字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標(biāo)也為奇數(shù),

不刪除,最后t所指的數(shù)組中的內(nèi)容應(yīng)是135。請(qǐng)勿修改主函數(shù)main和其他函數(shù)

中的任何內(nèi)容,僅在函數(shù)su的花括號(hào)中填寫(xiě)若干語(yǔ)句。文件test27_2.cpp的內(nèi)容

如下;#include<conio.h>#include<stdio.h>#inckide<iostream.h>#include<

string.h>voidfun(char*s,chart[]){)voidmain(){chars[100],t[100];cout<<

"PleaseenterstringS:"VVendl;gets(s);fun(s,t);puts(t);)

標(biāo)準(zhǔn)答案:voidfun(char*s,chart[]){inti,j=O,n;n=strlen(s);for(i=0;i<n;i++)

if(i%2!=0&&s[i]%2!=0){t[j]=s[i]J-H-;}t[j]=>\O,;}

知識(shí)點(diǎn)解析:在解答本題時(shí),首先要清楚一點(diǎn):那就是在字符參與數(shù)值運(yùn)算時(shí),用

的是其ASCII碼值來(lái)進(jìn)行計(jì)算。另外的一個(gè)考查點(diǎn)是判斷某數(shù)是奇數(shù)的方法,即

判斷該數(shù)與2的余數(shù)是否為0。

三、綜合應(yīng)用題(本題共1題,每題1.。分,共1分C)

3、使用VC6打開(kāi)考生文件夾下的工程test25_3,此工程包含一個(gè)源程序文件

tesl25_3.cpp,其中定義了用于表示堆的類(lèi)Sei,但它的定義并不完整。請(qǐng)按要求完成

下列操作,將程序補(bǔ)充完整。(1)完成成員函數(shù)向IsMemberOf(intn)的定義,該函

數(shù)檢查參數(shù)n是否在類(lèi)的數(shù)據(jù)成員數(shù)組elems中,如果在返回1,反之返回0。請(qǐng)

在注釋“//**1**''之后添加適當(dāng)?shù)恼Z(yǔ)句。(2)完成成員函數(shù)intAdd(intn)的定義,如

果參數(shù)n包含在類(lèi)的數(shù)據(jù)成員數(shù)組elems中則返回1如果數(shù)組超界則返回0,如果

都不是,則將參數(shù)n插入到elems中,下標(biāo)大小為類(lèi)的數(shù)據(jù)成員PC,之后PC自加

一。請(qǐng)?jiān)谧⑨尅敝筇砑舆m當(dāng)?shù)恼Z(yǔ)句。(3)完成拷貝初始化構(gòu)造函數(shù)Set(Set

&s)的定義,請(qǐng)?jiān)谧⑨尅啊?*3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。輸出結(jié)果如下:1(}{11

2,3,4,5,6,7,8}注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的

其他內(nèi)容。源程序文件test25_3.cpp清單如下:#include<iostream.h>classSet

public:Set(){PC=O;}Sct(Sct&s);voidEmpty(){PC=O;}intlsEmptyO{return

PC==O;)intIsMcmbcrOf(intn);intAdd(intn);voidPrint();private:intelems[100];int

PC;);intSet::IsMemberOf(intn){//**1**if(elems[i]==n)return1;returnO;}int

Set::Add(intn){//**2**return1;elseif(PC>=100)returnO;else{elems[PC++]=n;

return1;})Set::Set(Set&s)(//**3**for(inti=O;i<PC:i++)elems[i]=s.elems[i];}

voidSet::Print(){cout<<")n;for(inti=O;i<PC-1;i++)cout<<elems[i]<<

if(POO)cout<<elems[PC-l];cout<<")"<<endl;)voidmain(){SetA;cout<<

A.IsEmpty()<<endl;A.Print();SetB;for(inti=l;i<=8;i++)B.Add(i);B.Print();)

標(biāo)準(zhǔn)答案:(l)for(inli=O;iVPC;i++)(2)if(IsMemberOf(n))(3)PC=s.PC;

知識(shí)點(diǎn)解析:本題主要考查考生對(duì)于類(lèi)的成員函數(shù)的定義和拷貝初始化函數(shù)的理

解。

國(guó)家二級(jí)(C++)機(jī)試模擬試卷第4套

一、程序改錯(cuò)題(本題共[題,每題7.0分,共I分0)

1、使用VC6打開(kāi)考生文件夾下的工程lesl29_l,比工程包含一個(gè)源程序文件

test29」.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正程序中的錯(cuò)誤,使該程序的輸出結(jié)果

為:A:noparametersB:intparameterA:noparametersB:intparameterC:int

parameter源程序文件test29_l.cpp清單如下;#include<iostream.h>classA

?/*****************found*****************/private,A(){cout<<"A:no

parameters'll";}A(inta)|cout<<"A:intparameter\n";}};classB:publicA{public:

B(inta){cout<<"B:inlParameter\n";}};/*****************found

*****************/classC^,piiblicBpublic{public,/*****************fV)unci

*****************/C(mta)::B(a){cout<<"C:intparameter\n";)|;voidmain()

{Bb(l);Cc(2);1

標(biāo)準(zhǔn)答案:(I)錯(cuò)誤:private:正確:public:(2)錯(cuò)誤:classC:publicB,publicA

正確:classC:publicB⑶錯(cuò)誤:C(inta)::B(a){cout<<"C:intparameter\n";)

正確:C(inta):B(a){cout<<"C:intparamcter\nn;)

知識(shí)點(diǎn)解析:(1)一個(gè)類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)可以由系統(tǒng)自動(dòng)生成,也可以由用

戶(hù)提供,但構(gòu)造函數(shù)和析構(gòu)函數(shù)都必須是該類(lèi)的公有成員函數(shù),否則編譯時(shí)將出現(xiàn)

錯(cuò)誤,不能被調(diào)用;(2iA已經(jīng)是B的基類(lèi),C公有繼承B,A也就成為了C的基

類(lèi),根據(jù)程序的運(yùn)行結(jié)果可知,C是要公有繼承B;(3)派生類(lèi)的構(gòu)造函數(shù),初始

化基類(lèi)的參數(shù),調(diào)用基類(lèi)的構(gòu)造函數(shù)時(shí),使用符號(hào)“:”,而不是

二、簡(jiǎn)單應(yīng)用題(本題共[題,每題7.0分,共I分。)

2、請(qǐng)編寫(xiě)一個(gè)函數(shù)funiintx,intn),該函數(shù)返回x的n次累的值,其中x和n都是

非負(fù)整數(shù)。x的n次鼎的計(jì)算方法是I與x相乘n次,如x的20次鼎的計(jì)算為1與

x相乘20次,注意:部分源程序已存在文件test30_2.cpp中v請(qǐng)勿修改主函數(shù)

main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填寫(xiě)若干語(yǔ)句。如輸入3

和4,輸出結(jié)果如下:3481文件test30_2.cpp清單如下:#include<iostream.h>

doublefun(intx,intn){|voidmain(){intx,n;cin>>x>>n;cout<<fun(x,n)<<

endl;}

標(biāo)準(zhǔn)答案:doublefun(intx,intn){if(x==0)return0;if(n==0)return1;inty

=1;for(inti=0;i<n;i++)y*=x;returny;)

知識(shí)點(diǎn)解析:本題主要考查考生利用已學(xué)的基本控制結(jié)構(gòu)與函數(shù)知識(shí),解決實(shí)際問(wèn)

題的能力。求x的n次基是數(shù)學(xué)中常用的運(yùn)算,編程時(shí)在x=0與n=0時(shí)需特殊處

理。

三、綜合應(yīng)用題(本題共[題,每題7.0分,共]分。)

3、使用VC6打開(kāi)考生文件夾下的工程test28_3。此工程包含一個(gè)test28_3.cpp,其

中定義了類(lèi)Person,但該類(lèi)的定義并不完整。請(qǐng)按要求完成下列操作,將程序補(bǔ)充

完整。(1)定義類(lèi)Person的私有數(shù)據(jù)成員forenamesurname和money,forename

和surname都是char型的指針數(shù)據(jù),money是double型的數(shù)據(jù)。請(qǐng)?jiān)谧⑨?/p>

“〃**1**,,之后添加適當(dāng)?shù)恼Z(yǔ)句。Q)完成類(lèi)Person的帶三個(gè)參數(shù)的構(gòu)造函數(shù)

Person(char*f,chur*s,doublem),分別為forename和surname申請(qǐng)新的空間來(lái)存

儲(chǔ)參數(shù)f和s指針指向的內(nèi)容,注意空間的大小,最后把參數(shù)m的值賦給money,

請(qǐng)?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。(3)完成類(lèi)Person的析構(gòu)函數(shù)的定義,把

forename和surname指向的空間釋放,請(qǐng)?jiān)谧⑨尅敝筇砑舆m當(dāng)?shù)恼Z(yǔ)句。

(4)完成類(lèi)Person的成員函數(shù)display的定義,使其以格式“fomamesurnamehas

money”的形式輸出內(nèi)容,請(qǐng)?jiān)谧⑨尅啊?*4*?!敝筇砑舆m當(dāng)?shù)恼Z(yǔ)句。注意:除在指

定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。輸出結(jié)果如下:Richard

Berkhas1000.56源程序文件test28_3.cpp清單如下:#include<iostream.h>

#includc<string.h>classPerson{private://**1**doublemoney;public:

Person(char*f,char*s,doublein);?Person。;voiddisplayO;};Person::Person(char*f,

char*s,doublem){//**2**strcpy(forename,f);surname=newchar[strlen(s)+l];

strcpy(sumame,s);money二m;)Person:Person(){//**3**}voidPerson::display()

{//**4**)voidmain(){PersonpC'Richard","Berk'1,1000.56);p.display();}

標(biāo)準(zhǔn)答案:(1)char*forename;char"surname;(2)forename=newchar|slrlen(O+l|;

(3)delete[]forename;delete口surname;(4)cout<<forename<<n"<<surname<<

"has"<<money<<end1;

知識(shí)點(diǎn)解析:主要考查考生對(duì)于類(lèi)的定義和字符指針的動(dòng)態(tài)空間申請(qǐng)和釋放的掌

握,具中(2)中new關(guān)鍵字是動(dòng)態(tài)申請(qǐng)空間,里面使用了函數(shù)slrlen,該函數(shù)是返回

參數(shù)字符串的長(zhǎng)度,之所以加一是要加入字符串結(jié)尾標(biāo)志,這一點(diǎn)考生切記。(3)

中deleie是釋放動(dòng)態(tài)內(nèi)存的關(guān)鍵字,釋放一位數(shù)組與用的內(nèi)存格式是先寫(xiě)[],之后

是指針名,括號(hào)內(nèi)不寫(xiě)數(shù)組的大小。

國(guó)家二級(jí)(C++)機(jī)試模擬試卷第5套

一、選擇題(本題共37題,每題1.0分,共37分。)

1、某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)及3個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中結(jié)點(diǎn)個(gè)數(shù)共

有()個(gè)。

A、3

B、6

C、10

D、14

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

知識(shí)點(diǎn)解析:在二叉樹(shù)中,度為0的結(jié)點(diǎn)數(shù)是度為2的結(jié)點(diǎn)數(shù)加1,故二叉樹(shù)中結(jié)

點(diǎn)數(shù)的總和為度為0的結(jié)點(diǎn)數(shù)、度為1的結(jié)點(diǎn)數(shù)及度為2的結(jié)點(diǎn)數(shù)三者相加,得出

結(jié)果為14個(gè)結(jié)點(diǎn)。

2、程序流程圖中的菱形框表示的是()。

A、事實(shí)描述

B、行動(dòng)方案

C、邏輯判斷

D、流動(dòng)方向

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

知識(shí)點(diǎn)解析:繪制流程圖時(shí),橢圓形表示事實(shí)描述、矩形表示行動(dòng)方案、菱形框表

示邏輯判斷、箭頭代表流動(dòng)方向。

3、軟件開(kāi)發(fā)過(guò)程主要分為需求分析、設(shè)計(jì)、編碼與測(cè)試4個(gè)階段。其中,產(chǎn)生“軟

件需求規(guī)格說(shuō)明書(shū)''的階段是()。

A、需求分析

B、軟件設(shè)計(jì)

C、軟件編碼

D、軟件測(cè)試

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

知識(shí)點(diǎn)解析:需求分析階段的工作主要包括需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)

明書(shū)和需求評(píng)審4個(gè)方面,產(chǎn)生的主要文檔為軟件需求規(guī)格說(shuō)明書(shū),它可以為用

戶(hù)、分析人員和設(shè)計(jì)人員之間的交流提供方便,直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),也

可以作為控制軟件開(kāi)發(fā)進(jìn)程的依據(jù)。

4、在數(shù)據(jù)庫(kù)技術(shù)中,實(shí)體集之間的聯(lián)系可以是一對(duì)一或一對(duì)多的,那么“學(xué)生”和

“可選課程”的聯(lián)系為()。

A、一對(duì)一

B、多對(duì)多

C、一對(duì)多

D、無(wú)聯(lián)系

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

知識(shí)點(diǎn)解析:一名學(xué)生可以選擇多門(mén)課程,一門(mén)課程也可以由多名學(xué)生選擇,因此

是多對(duì)多的聯(lián)系。

5、人員基本信息一般包括身份證號(hào)、姓名、性別、年齡等。其中可以做主關(guān)鍵字

的是()。

A、身份證號(hào)

B、姓名

C、性別

D、年齡

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

知識(shí)點(diǎn)解析:主關(guān)鍵字是表中區(qū)別不同的記錄的標(biāo)識(shí),在該表中只有身份證號(hào)能具

有這個(gè)作用,所以用其作為主關(guān)鍵字。

6^若表達(dá)式“(x+(y-z)*(m/n))+3”中的變量均為double型,則表達(dá)式值的類(lèi)型為

()o

A、double

B、整型

C、double或整型

D、無(wú)法判斷

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

知識(shí)點(diǎn)解析:表達(dá)式左邊為double型,右邊為整型,double型和整型相加仍為

double型o

7、有如下循環(huán)語(yǔ)句:for(inti=50;i>20;i-=2)cout<

A、2次

B1O次

、

c15次

、

D2O次

、

標(biāo)

-答

N:C

知識(shí)點(diǎn)解析:i從50,48,46,…到22,一共執(zhí)行15次。

8、利用表達(dá)式a[i]可以訪問(wèn)int型數(shù)組a中下標(biāo)為i的元素。在執(zhí)行了語(yǔ)句

“int*p=a;”后,利用指針p也可訪問(wèn)該元素,相應(yīng)的表達(dá)式是()。

A、int*p

B、int*a

C^p+i

D、*(p+i)

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

知識(shí)點(diǎn)解析:p指向數(shù)組的首地址,p+i指向數(shù)組第1個(gè)元素的地址。

9、一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依

次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)椋ǎ?/p>

A、5?4>3,2?1,A,B,C,D?E?F

B、1,2,3,4,5,F,E,D,C,B,A

C、A,B,C?D,E,F,5,4?3,2,1

D、1,2,3,4,5,A?B,C,D,E,F

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

知識(shí)點(diǎn)解析:隊(duì)列是先進(jìn)先出的v

對(duì)該二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為()。

B、ABDECFGH

C、ACFGHBDE

D、GHFCAEDB

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

知識(shí)點(diǎn)解析:先遍歷左子樹(shù),然后遍歷右子樹(shù),最后遍歷訪問(wèn)根結(jié)點(diǎn),各子樹(shù)都是

同樣的遞歸遍歷。

11、軟件的組成不包括()。

A、代碼

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

C、程序

D、文檔

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

知識(shí)點(diǎn)解析:參考軟件的定義。

12、有一個(gè)學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號(hào)、姓名、班級(jí)、

年齡),課程的關(guān)系模式為課程(課號(hào)、課程名、學(xué)時(shí)),其中兩個(gè)關(guān)系模式的鍵分別

是學(xué)號(hào)和課號(hào),則課程的唯一標(biāo)識(shí)是()。

A、學(xué)號(hào)

B、姓名

C、課程名

D、課號(hào)

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

知識(shí)點(diǎn)解析:課號(hào)是課程的唯一標(biāo)識(shí),即主鍵。

13、一棵二叉樹(shù)的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序

遍歷結(jié)果為()。

A、CFAEBD

B、DEBFCA

C、FCEDBA

D、DEBCFA

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

知識(shí)點(diǎn)解析?:對(duì)于這類(lèi)題目,一般通過(guò)前序遍歷的結(jié)果來(lái)找根結(jié)點(diǎn),用中序遍歷的

結(jié)構(gòu)找分支結(jié)點(diǎn),通過(guò)畫(huà)出該二叉樹(shù)可得到結(jié)構(gòu)。

14、對(duì)軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測(cè)試通常稱(chēng)為()。

A、單位測(cè)試

B、單元測(cè)試

C、程序測(cè)試

D、軟件測(cè)試

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

知識(shí)點(diǎn)解析:對(duì)模塊或函數(shù)進(jìn)行測(cè)試稱(chēng)為單元測(cè)試,對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試就是系統(tǒng)

測(cè)試C

15、實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫(kù)中元組的屬性值不能為空的是()。

A、外鍵值

B、關(guān)鍵字

C、主鍵值

D、外碼

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

知識(shí)點(diǎn)解析:在關(guān)系模式中,主關(guān)鍵字作為唯一標(biāo)志,而主關(guān)鍵字的屬性(稱(chēng)為主

屬性)不能取空值,否則表明關(guān)系模式中存在著不匕標(biāo)識(shí)的實(shí)體,這與現(xiàn)實(shí)世界是

不符合的。

16、在關(guān)系A(chǔ)(S,SN,E)和關(guān)系B(E,CN,NM)扣,A的主關(guān)鍵字是S,B的主關(guān)

鍵字是E,則關(guān)系A(chǔ)的外碼是()。

A、S

B、SN

C、NM

D、E

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

知識(shí)點(diǎn)解析:外碼用于建立和加強(qiáng)兩個(gè)關(guān)系之間的連接,通過(guò)將關(guān)系中主鍵值的一

列或多列屬性添加到另一個(gè)關(guān)系中,可建立兩個(gè)關(guān)系之間的聯(lián)系,這個(gè)列屬性稱(chēng)為

第二關(guān)系的外碼。

17、若有定義語(yǔ)句“intx=10,y=20,z=20;”,則表達(dá)式“x>z&&y==z"的值為()。

A、0

B、10

C、20

D、40

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

知識(shí)點(diǎn)解析:該題考查了關(guān)系運(yùn)素符。x>z值為0,廣二z值為1,兩者結(jié)果為0。

18、有如下語(yǔ)句序列:intx=-10;whilc(++x){)運(yùn)行時(shí),while循環(huán)體的

執(zhí)行次數(shù)為()。

A、0

B、1

C、9

D、10

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

知識(shí)點(diǎn)解析:考查了X++和++X之間的區(qū)別,前者是先用X后再加1,后者是先給

X加1再使用X。從-9到-1執(zhí)行9次后循環(huán)結(jié)束。

19、有如下語(yǔ)句序列:intarr[2][2]={(9,8),{7,6));int*p=arr[0]+l;

cout?*p<

A、6

B、7

C、8

D、9

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

知識(shí)點(diǎn)解析:該題考查了數(shù)組和指針之間的轉(zhuǎn)化,數(shù)組的第1個(gè)元素地址就是指針

的首地址,*p=&a[0][0],則a[m][n]=*(p+m)+no

20、函數(shù)fun的功能是將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù),則橫線處應(yīng)填()。int

fun(cliar*slr){intnum-0;while(*sli){num*-10:num+-:sti++:j

returnnum;}

A^char*str)

B、(*str)

C、(O*str)

D、(*p-'0’)

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

知識(shí)之解析D:每次循環(huán)都需要得出指針當(dāng)前的數(shù)字值,則由字符轉(zhuǎn)化為數(shù)字的表達(dá)

式是“*

21、若耍將函數(shù)“voidFriFun(){};"聲明為類(lèi)MyClass的友元函數(shù),則應(yīng)在類(lèi)

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

A、voidFriFun(){);

B、voidFriFun();

C、friendvoidFriFun();

D、friendvoidFriFun()};

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

知識(shí)點(diǎn)解析:友元函數(shù)的聲明方式是friend返回值類(lèi)型函數(shù)名稱(chēng)(形參列表)。

22、卜列程序的輸出結(jié)果為012,根據(jù)注釋可知橫線處應(yīng)填()。#includeusing

namespacestd:classTest{public:Test(inta){data=a:}~Test(){}void

print(){cout<

A、{Test(l),Test(2),Test(3)}

R、{Test(O),Test(1),Test(2))

C、{cout<

D、(inti=0;i<3;i++)

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

知識(shí)點(diǎn)解析:簡(jiǎn)單的類(lèi)對(duì)象的實(shí)例化,只需要對(duì)該類(lèi)數(shù)組進(jìn)行實(shí)例化即可。

23、要使程序的輸出結(jié)果為Base,則在橫線處填寫(xiě)的派生類(lèi)Derived的繼承方式是

()。#includeusingnamespacestd;classBase{public:void

print(){cout?"Base";));classDerived:Base{};intmain(){Derivedd;

d.print();return0;}

A^public

B、iostrcam

C、tout

D^class

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

知識(shí)點(diǎn)解析:考查了類(lèi)的繼承方式,派生類(lèi)訪問(wèn)基類(lèi)的成員public函數(shù),則繼承方

式也應(yīng)該是public。

24、下列程序的輸出結(jié)果為1,2.3,2,4.6,橫線處應(yīng)填()。#includeusing

namespacestd;classBasc{public:Base(inta):idala(a){)voidprint(){cout<

A^print()

B、idata(a)

C、(inta)

D^Base(a)

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

知識(shí)點(diǎn)解析:與上題一致,也是考查了類(lèi)的繼承方式,Derived類(lèi)繼承了Base類(lèi)的

構(gòu)造函數(shù)。

25、卜列程序的輸出結(jié)果為-5/8-3/4,橫線處應(yīng)填()。#includeusingnamespace

std;ClassFraction)//“分?jǐn)?shù)”類(lèi)public:Fraction(doublea,doubleb):num(a),

den(b){}^Fraction(){}//重載取負(fù)運(yùn)算符返回一個(gè)分?jǐn)?shù)對(duì)象,其分子是原

來(lái)分子的相反數(shù)Fractionoperator-(){returnf;}voidpiint(){coul<

A、num(a),den(b){}

13、(doublea,doubleb)

C、(-fl),print();

D、Fractionf(num,den);f.num=-hum

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

知識(shí)點(diǎn)解析:考查了重載運(yùn)算符的操作,在重載函數(shù)中需要取分子的相反數(shù)。

26、函數(shù)Min的功能是返回具有n個(gè)元素的數(shù)組array中的最小值,要使程序的輸

出結(jié)果為1.24,橫線處應(yīng)填()。#includcusingnamespacestd;templateT

Min(T*array,intn)(Tmin=array[O]:for(inti=l;;i++)if(array[i]

A、inti=l

B、array|i|

C、Min(arr,8)

D、array[i]

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

知識(shí)點(diǎn)解析:考查了模板函數(shù)的用法,第1個(gè)參數(shù)是數(shù)組名稱(chēng),第2參數(shù)是數(shù)組元

素個(gè)數(shù)。

27、若x和y是兩個(gè)整型變量,在執(zhí)行了語(yǔ)句序列:x=5;y=6;y+=x-;后,

x+y的值為()。

A、5

B、15

C、6

D、11

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

知識(shí)點(diǎn)解析:y+=x-等同于y=y+x,x=x-l,x-是先用原始x然后再自減,于是

y=6+5=11,x=4,最后x+y=11+4=15。

28、在執(zhí)行語(yǔ)句序列:inti=0;doi++;while(i*i<10);時(shí),do后面的循環(huán)體語(yǔ)

句"iH;',被執(zhí)行的次數(shù)為()。

A、4

B、0

C、10

D、14

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

知識(shí)點(diǎn)解析:首先執(zhí)行do,一次不用判斷,第3次i變?yōu)?,但i*i=9<10符合條

件,于是再執(zhí)行do,這時(shí)i變?yōu)?,i*i=16>10,條件濟(jì)i<10不成立,結(jié)束循環(huán)。

29、有如卜函數(shù)定義:intXfun(int*a,intn){intX^a:for(int*pa=a+l;pa%a+n;

pa++)if(*pa>x)x=*pa;returnX:}若在執(zhí)行了語(yǔ)句:intx[5]={23,46,78,55,

16}后,通過(guò)表達(dá)式“xfun(x,5)”調(diào)用該函數(shù),則得到的返回值為()。

A、23

B、46

C、78

D、55

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

知識(shí)點(diǎn)解析:函數(shù)Xfun的作用是找出最大的數(shù)。

30、有如下函數(shù)定義:intXfun(intx){inty=x;{intx=10;y+=x;}returnx+y;}

通過(guò)表達(dá)式“Xfun(5)”調(diào)用該函數(shù),則得到的返回值為()。

A、10

B、20

C、30

D、40

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

知識(shí)點(diǎn)解析:通過(guò)參數(shù)造遞將5傳給x,由語(yǔ)句“y=x:",知y=5,乂由x=10將局

部變量x重新賦值,而y+=x使得y=15,于是x+y=5+15=20,返回20。

31、假定Xcs是一個(gè)類(lèi),該類(lèi)中一個(gè)成員函數(shù)的原型為“Xcs*abc{};",則在類(lèi)外

定義時(shí)對(duì)應(yīng)的函數(shù)頭為()。

A、Xes

B、abc

C>override

D、overabc

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

知識(shí)點(diǎn)解析:override是指派生類(lèi)重寫(xiě)基類(lèi)的虛函數(shù)。

32、要使由語(yǔ)句“DateFirstDay;”定義的對(duì)象FirstDay的值為2010午1月1日,橫

線處應(yīng)填()。classDate{public:Date():year(y),month(n),day(d;{)

private:intyear,month,day://依次表示年、月、日};

A、intm=2000,inty=l,intd=l

inty=2000,intn=l,intm=l

C^inty=2000,intm=l,intd=l

D、intd=2000>intm=l,inty=I

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

知識(shí)點(diǎn)解析:給各個(gè)參數(shù)賦值。

33、下面的函數(shù)定義是某函數(shù)模板能夠生成的函數(shù)實(shí)例intsquare(int

溫馨提示

  • 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)論