




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路交通智能識(shí)別與控制技術(shù)方案
- 項(xiàng)目資金審核與審批方案
- 2025年湖南省郴州桂陽(yáng)縣龍?zhí)督值莱擎?zhèn)公益性崗位招聘考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(全優(yōu))
- 項(xiàng)目規(guī)劃與設(shè)計(jì)方案
- 2025年?duì)I銷(xiāo)知識(shí)培訓(xùn)試卷及答案
- 水庫(kù)沉積物清理與治理技術(shù)方案
- 中學(xué)遷建項(xiàng)目建設(shè)工程方案
- 低碳聚醚多元醇生產(chǎn)線項(xiàng)目建筑工程方案
- 隧道施工中監(jiān)測(cè)與控制系統(tǒng)方案
- 貴州化學(xué)考試題目及答案
- SYT 5822-2021 油田化學(xué)劑分類(lèi)及命名規(guī)范-PDF解密
- 質(zhì)量管理的變革和創(chuàng)新
- 病房搶救室工作制度
- 信創(chuàng)安全體系建設(shè)
- 第十三章泌尿男性疾病
- 【超星爾雅學(xué)習(xí)通】海上絲綢之路網(wǎng)課章節(jié)答案
- 有趣的化學(xué)啟蒙課
- 同濟(jì)大學(xué)《高等數(shù)學(xué)》第七版上、下冊(cè)答案(詳解)
- 員工花名冊(cè)表
- GB/T 7113-2003絕緣軟管定義和一般要求
- GB/T 4754-2002國(guó)民經(jīng)濟(jì)行業(yè)分類(lèi)
評(píng)論
0/150
提交評(píng)論