




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2010年3月考試真題(第31次)
1.數(shù)據(jù)流程圖(DFD圖)是。
A、軟件概要設(shè)計(jì)的工具B、軟件詳細(xì)設(shè)計(jì)的工具
C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>
常見(jiàn)的需求分析方法有:結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?。結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)
化英語(yǔ)、判定表和判定樹(shù)等工具,來(lái)建立一種新的、稱(chēng)為結(jié)構(gòu)化規(guī)格說(shuō)明的目標(biāo)文檔。故本題答案為C。
2.軟件(程序)調(diào)試的任務(wù)是。
A、診斷和改正程序中的錯(cuò)誤B、盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C、發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D、確定程序中錯(cuò)誤的性質(zhì)
程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。它與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)
誤,然后借助于一定的調(diào)試工具去執(zhí)行找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,調(diào)試主要在開(kāi)發(fā)階段。故
本題答案為A。
3.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是。
A、編輯軟件B、操作系統(tǒng)C、教務(wù)管理系統(tǒng)D、瀏覽器
軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開(kāi)發(fā)的軟件。例如,
事務(wù)處理軟件,工程與科學(xué)計(jì)算軟件,實(shí)時(shí)處理軟件,嵌入式軟件,人工智能軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計(jì)算
機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件。如操作系統(tǒng),編譯程序,匯編程序,網(wǎng)絡(luò)軟件,數(shù)
據(jù)庫(kù)管理系統(tǒng)等,所以選項(xiàng)B屬于系統(tǒng)軟件。故本題答案為B。
4.軟件生命周期可分為定義階段,開(kāi)發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于?
A、定義階段B、開(kāi)發(fā)階段C、維護(hù)階段D、上述三個(gè)階段
軟件生命周期可分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。軟件開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試四個(gè)活
動(dòng)階段。故本題答案為B。
5.下列敘述中正確的是.
A、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)
C、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為Ogan)
D、對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為Slogan)
對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分查找只需要比較10g2n次,而順序查找需要比較n次。二分法查找只適用于順序
存儲(chǔ)的有序表,如果采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),也只能用順序查找,所以選項(xiàng)A是正確的。
故本題答案為A。
6.有兩個(gè)關(guān)系R和T如下:
A、選擇B、投影C、交1)、并
從關(guān)系中找出滿足給定條件的元組的操作稱(chēng)為選擇。選擇是從行的角度進(jìn)行的運(yùn)算,即從水平方向抽取記錄。由圖可知關(guān)系R通過(guò)
運(yùn)算得到關(guān)系T,關(guān)系T與關(guān)系R相比,屬性的個(gè)數(shù)沒(méi)有發(fā)生變化,記錄的條數(shù)發(fā)生了變化。因此所使用的運(yùn)算應(yīng)該是選擇。故
本題答案為A。
7.算法的時(shí)間復(fù)雜度是指。
A、算法的執(zhí)行時(shí)間B、算法所處理的數(shù)據(jù)量C、算法程序中的語(yǔ)句或指令條數(shù)
D、算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。為了能夠比較客觀地反映出個(gè)算法的效率,在度量?個(gè)算法的工
作量時(shí),不僅應(yīng)該與所使用的計(jì)算機(jī)、程序設(shè)計(jì)語(yǔ)言以及程序編制者無(wú)關(guān),而且還應(yīng)該與算法實(shí)現(xiàn)過(guò)程中的許多細(xì)節(jié)無(wú)關(guān)。為此,
可以用算法在執(zhí)行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量算法的工作量。故本題答案為D。
8.數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E-R圖來(lái)描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的o
A、需求分析階段B、邏輯設(shè)計(jì)階段C、概念設(shè)計(jì)階段D、物理設(shè)計(jì)階段
E-R圖是E-R模型的一種非常直觀的圖的形式表示,它描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段的
工具。故本題答案為C。
9.在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是___.
A、文件B、數(shù)據(jù)庫(kù)C、字段D、記錄
實(shí)體是概念世界中的基本單位,屬性附屬于實(shí)體,它本身并不構(gòu)成獨(dú)立單位。屬性有屬性域,每個(gè)實(shí)體可取屬性域內(nèi)的值。一個(gè)
實(shí)體的所有屬性取值組成了一個(gè)值集叫元組(或稱(chēng)記錄)。在概念世界中,可以用元組表示實(shí)體,也可用它區(qū)別不同的實(shí)體。所
以在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是元組(或記錄)。故本題答案為D。
10.數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是?
A、數(shù)據(jù)定義語(yǔ)言B、數(shù)據(jù)管理語(yǔ)言C、數(shù)據(jù)操縱語(yǔ)言D、數(shù)據(jù)控制語(yǔ)言
數(shù)據(jù)定義語(yǔ)言(DDL):該語(yǔ)言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。
數(shù)據(jù)操縱語(yǔ)言(DML):該語(yǔ)言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢(xún)及增、冊(cè)h改等操作。
數(shù)據(jù)控制語(yǔ)言(DCL):該語(yǔ)言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢杳以及并發(fā)控制、故障恢復(fù)等功能。
故本題答案為A。
11.有如下兩個(gè)類(lèi)定義
classXX{
private:
doublexl;
protected:
doublex2;
public:
doublex3;
);
classYY:protectedXX{
private:
doubleyl;
protected:
doubley2;
public:
doubley3;
);
在類(lèi)YY中保護(hù)成員變量的個(gè)數(shù)是_____.
A、1B、2C、3D、4
本題主要考查了類(lèi)的繼承與派生。
類(lèi)的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有(private)繼承。當(dāng)派生類(lèi)從基類(lèi)保護(hù)繼承時(shí),
基類(lèi)的公有成員和保護(hù)成員在派生類(lèi)中都為保護(hù)成員。本題派生類(lèi)YY從基類(lèi)XX保護(hù)繼承,因此基類(lèi)XX的公有成員x3和保護(hù)成員x2
都成為派生類(lèi)YY的保護(hù)成員,再加上派生類(lèi)YY自身的保護(hù)成員y2,因此類(lèi)YY中有3個(gè)保護(hù)成員。故本題答案為C。
12.在C++中,cin是一個(gè)。
A、類(lèi)B、對(duì)象C、模板D、函數(shù)
本題主要考查了I/O流。
在C++中,數(shù)據(jù)的輸入與輸出是通過(guò)I/O流來(lái)實(shí)現(xiàn),cin和cout是預(yù)定義的流類(lèi)對(duì)象。
故本題答案為B。
13.若x和y是程序中的兩個(gè)整型變量,則下列if語(yǔ)句中正確的是。
A、if(x==0)y=l;elsey=2;B、if(x==0)theny=lelsey=2;
C>if(x==0)y=lelsey=2;I)、ifx==0y=l;elsey=2;
本題主要考查了if語(yǔ)句。
if語(yǔ)句的語(yǔ)法形式為:
if(表達(dá)式)語(yǔ)句1
else語(yǔ)句2
在C++中,if語(yǔ)句中沒(méi)有then,語(yǔ)句最后必須有一個(gè)分號(hào),因此選項(xiàng)A正確,選項(xiàng)B和選項(xiàng)C錯(cuò)誤;在選項(xiàng)D中,表達(dá)式x==0應(yīng)該
用圓括號(hào)括起來(lái),因此選項(xiàng)D錯(cuò)誤。故本題答案為A。
14.將運(yùn)算符”+〃重載為非成員函數(shù),下列原型聲明中,錯(cuò)誤的是___.
A^MyClockoperator+(MyClock,long):B、MyClockoperator+(MyClock,MyClock);
C、MyClockoperator+(long,long);D、MyClockoperator+(long,MyClock);
本題主要考杳了運(yùn)算符的重載。
運(yùn)算符的重載是針對(duì)新類(lèi)型數(shù)據(jù)的實(shí)際需要,對(duì)原有運(yùn)算符進(jìn)行適當(dāng)?shù)母脑?。一般?lái)講,重載的功能應(yīng)當(dāng)與原有功能類(lèi)似,
不能改變?cè)\(yùn)算符的操作對(duì)象個(gè)數(shù),同時(shí)至少要有一個(gè)操作對(duì)象是自定義類(lèi)型。選項(xiàng)A、選項(xiàng)B和選項(xiàng)D的兩個(gè)參數(shù)中至少有一個(gè)參
數(shù)是自定義類(lèi)型,因此選項(xiàng)A、選項(xiàng)B和選項(xiàng)D正確。選項(xiàng)C中兩個(gè)參數(shù)都是基本數(shù)據(jù)類(lèi)型,沒(méi)有自定義類(lèi)型,因此選項(xiàng)C錯(cuò)誤。
故本題答案是C。
15.要定義整型數(shù)組x,使之包括初值為0的三個(gè)元素,下列語(yǔ)句中錯(cuò)誤的是.
A>intx[3]={0,0,0};intx[]={0);C、staticintx[3]={0};D、intx[]={0,0,0);
本題主要考查了一維數(shù)組的定義與初始化。
一維數(shù)組的定義形式為:
數(shù)據(jù)類(lèi)型數(shù)組名[數(shù)組元素個(gè)數(shù)];
數(shù)組的初始化就是在聲明數(shù)組時(shí)給部分或全部元素賦初值。選項(xiàng)A定義了有?:個(gè)元素的整型數(shù)組x,并初始化三個(gè)元素的值為0,
因此選項(xiàng)A正確;當(dāng)聲明數(shù)組時(shí)沒(méi)有給出數(shù)組元素個(gè)數(shù),但是有初始化列表,數(shù)組元素個(gè)數(shù)由列表中元素個(gè)數(shù)來(lái)確定,因此選項(xiàng)D
正確;選項(xiàng)B沒(méi)有給出數(shù)組元素個(gè)數(shù),并且在初始化列表中只給一個(gè)元素值,因此選項(xiàng)B定義了只有一個(gè)元素的整型數(shù)組,故選項(xiàng)B
錯(cuò)誤;對(duì)于數(shù)值類(lèi)型數(shù)組,如果給定的數(shù)值不夠,則沒(méi)有指定數(shù)值的元素將初始化為0,因此選項(xiàng)C正確。故本題答案為B。
16.卜.列控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是。
A、setprecisionB、setwC、setfillD、showpoint
本題主要考杳了輸出流的格式控制。
setprecision(intn)用于控制輸出流顯示浮點(diǎn)數(shù)的精度,整數(shù)n代表顯示的浮點(diǎn)數(shù)數(shù)字的個(gè)數(shù)。因此選項(xiàng)A正確。
setw(intn)用于預(yù)設(shè)輸入輸出寬度。
setfill(charc)用于預(yù)設(shè)填充字符。
showpoint用于給浮點(diǎn)數(shù)顯示小數(shù)點(diǎn)和尾部的0。
因此選項(xiàng)B、選項(xiàng)C和選項(xiàng)D不正確。故本題答案為A。
17.若MyTemp是一個(gè)只有一個(gè)虛擬類(lèi)型參數(shù)的類(lèi)模板,且有如下語(yǔ)句序列
MyTemp<double>p2;
MyTemp<long>p3[2];
編譯系統(tǒng)在處理上面的語(yǔ)句序列時(shí),所生成的模板MyTemp的實(shí)例的個(gè)數(shù)是。
A、1B、2C、3D、0
本題主要考核類(lèi)模板。
類(lèi)模板聲明的語(yǔ)法形式為:
template〈模板參數(shù)表>
class類(lèi)名
{類(lèi)成員聲明}
使用類(lèi)模板來(lái)建立對(duì)象時(shí),應(yīng)按如下形式聲明:
類(lèi)名<模板實(shí)參表》對(duì)象名1,…,對(duì)象名n;
在定義對(duì)象的過(guò)程中,編譯系統(tǒng)會(huì)自動(dòng)地根據(jù)需要生成相應(yīng)的類(lèi)定義,這種依據(jù)類(lèi)模板生成類(lèi)定義的過(guò)程稱(chēng)為類(lèi)模板的實(shí)例
化。類(lèi)模板實(shí)例化所生成的每一個(gè)類(lèi)定義就是相應(yīng)類(lèi)模板的一個(gè)實(shí)例,因此類(lèi)模板的實(shí)例個(gè)數(shù)由類(lèi)型參數(shù)的種類(lèi)決定。本題使用
類(lèi)模板MyTemp定義對(duì)象時(shí)指定了兩種類(lèi)型參數(shù):double和long,因此所生成的實(shí)例個(gè)數(shù)是2。故本題答案為B。
18.下列代碼段聲明了3個(gè)類(lèi)
classPerson}};
classStudent:publicPerson{};
classUndergraduate:Student{};
下列關(guān)于這些類(lèi)之間關(guān)系的描述中,錯(cuò)誤的是.。
A、類(lèi)Person是類(lèi)Undergraduate的基類(lèi)B、類(lèi)Undergraduate從類(lèi)Student公有繼承
C^類(lèi)Student是類(lèi)Person的派生類(lèi)D^類(lèi)Undergraduate是類(lèi)Person的派生類(lèi)
本題主要考杳了類(lèi)的繼承與派生。
在C++中,定義派生類(lèi)的一般語(yǔ)法形式為:
class派生類(lèi)名:繼承方式基類(lèi)名1,繼承方式基類(lèi)名2,…,繼承方式基類(lèi)名n
{
派生類(lèi)成員聲明;
);
類(lèi)的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有(private)繼承。如果不顯式地給出繼承方式,
缺省的類(lèi)繼承方式是私有(private)繼承。在聲明派生類(lèi)Undergraduate時(shí)缺省繼承方式,因此類(lèi)Undergraduate從類(lèi)Student私
有繼承,故選項(xiàng)B錯(cuò)誤。故本題答案為瓦
19.將前綴運(yùn)算符〃一〃重載為非成員函數(shù),下列原型中,能正確用于類(lèi)中說(shuō)明的是。
A^Decr&,operator一(int);B、Deeroperator一(Decr&,int);
C、friendDecr&operator一(Decr&);D、friendDeeroperator―(Decr&,int);
本題主要考杳了運(yùn)算符的重載。
運(yùn)算符一既可以是前綴運(yùn)算符(前減1),又可以是后綴運(yùn)算符(后減1)。為了區(qū)分這兩種情況,重載這兩個(gè)運(yùn)算符時(shí)必須
在格式上有所區(qū)別:重載后綴一時(shí)必須多一個(gè)虛擬參數(shù):ini。如果將前綴一和后綴一作為非成員函數(shù)重裁,那個(gè)唯一的操作數(shù)必
須作為第一參數(shù)提供。又因?yàn)橐薷牡谝徊僮鲾?shù),對(duì)應(yīng)的參數(shù)必須聲明為引用。
前綴一作為非成員函數(shù)重載的一般形式為:
friendDecr&operator—(Decr&);
后綴一作為非成員函數(shù)重裁的一般形式為:
friendDeeroperator一(Decr&,int);
當(dāng)運(yùn)算符重載為類(lèi)的成員函數(shù)時(shí),函數(shù)的參數(shù)個(gè)數(shù)比原來(lái)的參數(shù)個(gè)數(shù)少一個(gè)°
前綴一作為成員函數(shù)重載的一般形式為:
Decr&operator--();
后綴一作為成員函數(shù)重載的一般形式為:
Deeroperator一(int);
因此選項(xiàng)C正確,選項(xiàng)D是后綴一作為非成員函數(shù)重載的形式。
故本題答案為C。
20.有如下程序:
ttinclude<iostream>
usingnamespacestd;
classBase{
public:
Base(intx=0):valB(x){cout?valB;}
^BaseO{cout?valB;}
private:
intvalB;
};
classDerived:publicBase{
public:
Derived(intx=0,inty=0):Base(x),valD(y){cout?valD;}
-Derived(){cout<<valD;}
private:
intvalD;
};
intmain(){
Derivedobjl2(2,3);
return0;
)
運(yùn)行時(shí)的輸出結(jié)果是O
A、2332B、2323C、3232D、3223
本題主要考杳了派生類(lèi)的構(gòu)造函數(shù)與析構(gòu)函數(shù)。
構(gòu)造函數(shù)在對(duì)象被創(chuàng)建的時(shí)候由系統(tǒng)自動(dòng)調(diào)用,建立派生類(lèi)對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下:(1)執(zhí)行基類(lèi)的構(gòu)造函數(shù),
調(diào)用順序按照各個(gè)基類(lèi)被繼承時(shí)聲明的順序(自左向右);(2)執(zhí)行成員對(duì)象的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員對(duì)象在類(lèi)中聲
明的順序(自上而下);(3)執(zhí)行派生類(lèi)的構(gòu)造函數(shù)。
析構(gòu)函數(shù)用來(lái)完成對(duì)象被刪除前的一些清理工作,在對(duì)象的生存期即將結(jié)束的時(shí)刻被系統(tǒng)自動(dòng)調(diào)用。派生類(lèi)的析構(gòu)函數(shù)在執(zhí)
行過(guò)程中也要對(duì)基類(lèi)和成員對(duì)象進(jìn)行操作,但它的執(zhí)行過(guò)程與構(gòu)造函數(shù)嚴(yán)格相反,即:(1)對(duì)派生類(lèi)新增普通成員進(jìn)行清理。(2)
調(diào)用成員對(duì)象析構(gòu)函數(shù),對(duì)派生類(lèi)新增的成員對(duì)象進(jìn)行清理。(3)調(diào)用基類(lèi)析構(gòu)函數(shù),對(duì)基類(lèi)進(jìn)行清理。
main。函數(shù)中,第一條語(yǔ)句Derivedobjl2(2,3);創(chuàng)建派生類(lèi)對(duì)象objl2時(shí),先以第一個(gè)實(shí)參2初始化基類(lèi)Base成員valB,執(zhí)行
基類(lèi)Base的構(gòu)造函數(shù),輸出valB的值2;然后以第二個(gè)實(shí)參值3初始化派生類(lèi)Derived成員valD,執(zhí)行派生類(lèi)Derived的構(gòu)造函數(shù),
輸出valD的值3:在對(duì)象objl2的生存期即將結(jié)束時(shí),先調(diào)用派生類(lèi)Derived的析構(gòu)函數(shù),輸出valD的值3,然后調(diào)用基類(lèi)析構(gòu)函數(shù),
輸出valB的值2。因此本程序運(yùn)行時(shí)的輸出結(jié)果是2332。故本題答案為A。
21.有如下程序
#include<iostream>
usingnamespacestd;
classA{
public:
A(inti=0):rl(i){}
voidprint(){cout?*E*<<rl<<,;)
voidprint()const{cout?,C"?rl*rl?,;}
voidprint(intx){cout<<'P'?rl*rl*rl?"->;}
private:
intrl;
};
intmain(){
Aal;
constAa2(4);
al.print(2);
a2.print();
return0;
)
運(yùn)行時(shí)的輸出結(jié)果是______。
A、P8-E4B,P8-C16-C、P0-E4-D、P0-C16-
本題主要考杳了函數(shù)的重載、常對(duì)象和常成員函數(shù)。
使用const關(guān)鍵字修飾的對(duì)象稱(chēng)為常對(duì)象,使用const關(guān)鍵字說(shuō)明的成員函數(shù)稱(chēng)為常成員函數(shù),通過(guò)常對(duì)象只能調(diào)用它的常成
員函數(shù),而不能調(diào)用其他成員函數(shù)。兩個(gè)以上的函數(shù),具有相同的函數(shù)名,但是形參的個(gè)數(shù)或類(lèi)型不同,編譯器根據(jù)實(shí)參和形參
的類(lèi)型及個(gè)數(shù)的最佳匹配,自動(dòng)確定調(diào)用哪一個(gè)函數(shù),這就是函數(shù)的重載。const關(guān)鍵字可以用于對(duì)重載函數(shù)的區(qū)分。
在main。函數(shù)中,第一條語(yǔ)句定義類(lèi)A的對(duì)象al,系統(tǒng)自動(dòng)調(diào)用類(lèi)A的構(gòu)造函數(shù),以默認(rèn)形參值0初始化對(duì)象al的數(shù)據(jù)成員rl;
第二條語(yǔ)句定義常對(duì)象a2,系統(tǒng)自動(dòng)調(diào)用類(lèi)A的構(gòu)造函數(shù),以實(shí)參值4初始化對(duì)象a2的數(shù)據(jù)成員rl;第三條語(yǔ)句通過(guò)對(duì)象al調(diào)用帶
一個(gè)整型形參的沒(méi)用const修飾的print。函數(shù),表達(dá)式rl*rl*rl=0*0*0=0,因此輸出P0-,第四條語(yǔ)句常對(duì)象a2調(diào)用的是用const
修飾的常成員函數(shù)print。,表達(dá)式rl*rl的值為:4*4=16,因此輸出C16-。故程序運(yùn)行時(shí)的輸出結(jié)果是P0-C16-故本
題答案為D。
22.若MyClass是一個(gè)類(lèi)名,且有如下語(yǔ)句序列
MyClasscl,*c2;
MyClass*c3=newMyClass;
MyClass&c4=cl;
上面的語(yǔ)句序列所定義的類(lèi)對(duì)象的個(gè)數(shù)是一?
A、1B、2C、3D、4
本題主要考查了對(duì)象的定義。
第1條語(yǔ)句定義了MyClass類(lèi)的對(duì)象cl和MyClass類(lèi)的對(duì)象指針變量c2。因?yàn)槎x對(duì)象指針只是得到了用于存儲(chǔ)對(duì)象地址的指針
變量,不會(huì)創(chuàng)建對(duì)象,因此第1條語(yǔ)句只定義了個(gè)類(lèi)對(duì)象cl;第2條語(yǔ)句定義了對(duì)象指針變量c3。并初始化c3指向用new運(yùn)算符動(dòng)
態(tài)創(chuàng)建的對(duì)象,因此第2條語(yǔ)句用new運(yùn)算符動(dòng)態(tài)定義了一個(gè)對(duì)象;第3條語(yǔ)句聲明了對(duì)象引用c4,并將其初始化為對(duì)象cl的一個(gè)別
名。因?yàn)閯?chuàng)建對(duì)象引用只是為已有對(duì)象創(chuàng)建別名,不會(huì)創(chuàng)建對(duì)象,因此第3條語(yǔ)句沒(méi)有創(chuàng)建類(lèi)對(duì)象。因此這3條語(yǔ)句所定義的類(lèi)對(duì)
象的個(gè)數(shù)是2。
故本題答案為B。
23.下列關(guān)于類(lèi)模板的描述中,錯(cuò)誤的是o
A、類(lèi)模板的成員函數(shù)都是模板函數(shù)B、可以為類(lèi)模板參數(shù)設(shè)置默認(rèn)值
C、類(lèi)模板描述了一組類(lèi)D、類(lèi)模板中只允許有一個(gè)類(lèi)型參數(shù)
本題主要考查了類(lèi)模板。
使用類(lèi)模板可以為類(lèi)聲明一種模式,使得類(lèi)中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)、某些成員函數(shù)的返回值能取任意類(lèi)型。
因此選項(xiàng)C正確:類(lèi)模板聲明的語(yǔ)法形式為:
templateC模板參數(shù)表〉
class類(lèi)名
{類(lèi)成員聲明}
其中"模板參數(shù)表”由用逗號(hào)分隔的若干類(lèi)型標(biāo)識(shí)符或常量表達(dá)式構(gòu)成,因此選項(xiàng)D錯(cuò)誤;可以為類(lèi)模板中的類(lèi)型參數(shù)和非類(lèi)型
參數(shù)提供默認(rèn)值,如果某個(gè)類(lèi)模板參數(shù)有默認(rèn)值,該列表中的所有后續(xù)參數(shù)也都必須指定默認(rèn)值。因此選項(xiàng)B正確。類(lèi)模板的成員
函數(shù)都是模板函數(shù),因此選項(xiàng)A正確。故本題答案為D。
24.有如下程序
^include<iostream>
usingnamespacestd;
classTest{
public:
TestO{}
Test(constTest&t){cout<<l;}
);
Testfun(Test&u){Testt=u;returnt;}
intmain(){Testx,y;x=fun(y);return0;}
運(yùn)行這個(gè)程序的輸出結(jié)果是。
A、無(wú)輸出B、1C、11D、111
本題主要考杳了拷貝構(gòu)造函數(shù)。
拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),具有一般構(gòu)造函數(shù)的所有特性,其形參是本類(lèi)的對(duì)象的引用。作用是使用一個(gè)已知的
對(duì)象初始化一個(gè)正在創(chuàng)建的同類(lèi)對(duì)象??截悩?gòu)造函數(shù)在以F三種情況卜一都會(huì)被調(diào)用:
1)當(dāng)用類(lèi)的一個(gè)對(duì)象初始化該類(lèi)的另一個(gè)對(duì)象時(shí);
2)如果函數(shù)的形參是類(lèi)的對(duì)象,調(diào)用函數(shù)時(shí),進(jìn)行形參和實(shí)參結(jié)合時(shí);
3)如果函數(shù)的返回值是類(lèi)的對(duì)象,函數(shù)執(zhí)行完成返回調(diào)用者時(shí)。
函數(shù)fun的形參為類(lèi)Test的對(duì)象的引用,main。函數(shù)中,第二條語(yǔ)句x=fun(y);調(diào)用函數(shù)fun。。使引用u為實(shí)參y的別名,然后
執(zhí)行函數(shù)fun()的第一條語(yǔ)句Testt=u;,即用Test類(lèi)的對(duì)象u去初始化該類(lèi)的另一個(gè)對(duì)象t,系統(tǒng)將自動(dòng)調(diào)用拷貝構(gòu)造函數(shù),輸出1,
然后執(zhí)行函數(shù)fun。的第二條語(yǔ)句returnt;,函數(shù)「unO的返回值為T(mén)est類(lèi)的對(duì)象t,函數(shù)執(zhí)行完成返回調(diào)用者時(shí),系統(tǒng)將第二次
自動(dòng)調(diào)用拷貝構(gòu)造函數(shù),輸出1,程序執(zhí)行結(jié)束。故運(yùn)行這個(gè)程序的輸出結(jié)果是11。故木題答案為C。
25.要定義?個(gè)引用變量p,使用引用類(lèi)MyClass的?個(gè)對(duì)象,正確的定義語(yǔ)句是。
A、MyClassp=MyClass;B、MyClassp=newMyClass;
C>MyClass&p=newMyClass;D、MyClassa,&p=a;
本題主要考查了引用的聲明。
引用的聲明形式:類(lèi)型標(biāo)識(shí)符&引用名=目標(biāo)變量名;
說(shuō)明:
(1)&在此不是求地址運(yùn)算,而是起標(biāo)識(shí)作用。
(2)類(lèi)型標(biāo)識(shí)符是指目標(biāo)變量的類(lèi)型。
(3)聲明引用時(shí),必須同時(shí)對(duì)其進(jìn)行初始化。
(5)聲明一個(gè)引用,不是新定義了一個(gè)變量,它只表示該引用名是目標(biāo)變量名的一個(gè)別名,它本身不是一種數(shù)據(jù)類(lèi)型,因此
引用本身不占存儲(chǔ)單元,系統(tǒng)也不給引用分配存儲(chǔ)單元。
選項(xiàng)A和選項(xiàng)B在變量p的左邊沒(méi)有標(biāo)識(shí)&,不符合引用聲明形式,因此選項(xiàng)A和選項(xiàng)B錯(cuò)誤:選項(xiàng)C中,賦值號(hào)右邊不是已存在的
變量名,不符合引用聲明的語(yǔ)法形式,因此選項(xiàng)C錯(cuò)誤;選項(xiàng)D先聲名對(duì)象a,然后聲明引用為已聲明變量名a的別名,符合引用聲
明形式,因此選項(xiàng)D正確。故本題答案為D。
26.下列關(guān)于函數(shù)的描述中,錯(cuò)誤的是。
A、函數(shù)可以沒(méi)有返回值B、函數(shù)可以沒(méi)有參數(shù)C、函數(shù)可以是一個(gè)類(lèi)的成員
D、函數(shù)不能被定義為模板
本題主要考查了函數(shù)。
函數(shù)定義的語(yǔ)法形式:
類(lèi)型標(biāo)識(shí)符函數(shù)名(形式參數(shù)列表)
語(yǔ)句序列
}
無(wú)返回值的函數(shù)其類(lèi)型標(biāo)識(shí)符為void。故選項(xiàng)A正確:函數(shù)可以沒(méi)有參數(shù),當(dāng)函數(shù)定義時(shí)沒(méi)有形參,則函數(shù)調(diào)用時(shí),<實(shí)參表)
亦為空,故選項(xiàng)B正確;函數(shù)可以是類(lèi)的成員,故選項(xiàng)C正確;模板是C++支持參數(shù)化多態(tài)性的工具,函數(shù)模板實(shí)現(xiàn)了類(lèi)型參數(shù)化,
將函數(shù)處理的數(shù)據(jù)類(lèi)型作為參數(shù),提高了代碼的可重用性,故選項(xiàng)D錯(cuò)誤。故本題答案為及
27.下列程序段中包含4個(gè)函數(shù),其中具有隱含this指針的是。
intfunl();
classTest{
public:
intfun2();
friendintfun3();
staticintfun4();
);
A、funlB、fun2C、fun3D、fun4
本題主要考查了this指針。
this指針是一個(gè)隱含于每一個(gè)非靜態(tài)成員函數(shù)中的特殊指針。它是一個(gè)指向正在被該成員函數(shù)操作的對(duì)象,也就是要操作該
成員函數(shù)的對(duì)象。因此類(lèi)Test的非靜態(tài)成員函數(shù)fun2中具有隱含this指針,故選項(xiàng)B正確。函數(shù)funl和函數(shù)fun3均不是成員函數(shù),
因此不具有隱含this指針,故選項(xiàng)A和選項(xiàng)C不正確;靜態(tài)成員不屬于類(lèi)的任何一個(gè)對(duì)象,而是屬于整個(gè)類(lèi),因此靜態(tài)成員沒(méi)有this
指針,故靜態(tài)成員函數(shù)fun4中沒(méi)有this指針,故選項(xiàng)D錯(cuò)誤。故木題答案為B。
28.下面是類(lèi)Shape的定義:
classShape{
public:
virtualvoidDraw()=0;
);
下列關(guān)于Shape類(lèi)的描述中,正確的是.o
A、類(lèi)Shape是虛基類(lèi)B、類(lèi)Shape是抽象類(lèi)
C、類(lèi)Shape中的Draw函數(shù)聲明有誤I)、語(yǔ)句"Shapes能夠建立Shape的■個(gè)對(duì)象s
本題主要考杳了純虛函數(shù)和抽象類(lèi)。
聲明純虛函數(shù)的語(yǔ)法形式為:
virtual函數(shù)類(lèi)型函數(shù)名(參數(shù)表)=0;
所以函數(shù)Draw。是純虛函數(shù)。帶有純虛函數(shù)的類(lèi)是抽象類(lèi),所以類(lèi)Shape是抽象類(lèi),因此選項(xiàng)B正確;抽象類(lèi)不能實(shí)例化,即
不能定義一個(gè)抽象類(lèi)的對(duì)象,因此選項(xiàng)D錯(cuò)誤。故本題答案是B。
29.關(guān)于函數(shù)中的〈返回類(lèi)型》,下列表述中錯(cuò)誤的是___.
A、(返回類(lèi)型》中有可能包含關(guān)鍵字intB、〈返回類(lèi)型》中有可能包含自定義標(biāo)識(shí)符
C、〈返回類(lèi)型》中有可能包含字符*I)、<返回類(lèi)型>中有可能包含口
本題主要考杳了函數(shù)的返回類(lèi)型。
函數(shù)的定義形式為:
返回類(lèi)型函數(shù)名(形參列表){函數(shù)體}
返回類(lèi)型又稱(chēng)函數(shù)類(lèi)型,表示一個(gè)函數(shù)所計(jì)算(或運(yùn)行)的結(jié)果值的類(lèi)型。因?yàn)楹瘮?shù)的結(jié)果值可以為整型,因此返回類(lèi)型可
能包含關(guān)鍵字ini,選項(xiàng)A正確;函數(shù)的返回類(lèi)型可以為類(lèi),因此返回類(lèi)型可能包含自定義標(biāo)識(shí)符,選項(xiàng)B正確;函數(shù)的返回類(lèi)型可
以為指針,因此返回類(lèi)型可能包含字符*,選項(xiàng)C正確;但返回類(lèi)型不能為數(shù)組,因此返回類(lèi)型中不可能包含口,因此選項(xiàng)D錯(cuò)誤。
故本題答案為D。
30.打開(kāi)文件時(shí)可單獨(dú)或組合使用下列文件打開(kāi)模式
?ios_base::app?ios_base::binary
@ios_base::in@ios_base::out
若要以二進(jìn)制讀方式打開(kāi)一個(gè)文件,需使用的文件打開(kāi)模式為o
A、①③B、①④C、②③D、②④
本題主要考查了I/O流。
打開(kāi)一個(gè)與輸出流關(guān)聯(lián)的文件時(shí),通常要指定文件模式。ios_base::app模式的功能:以寫(xiě)方式打開(kāi)文件,若文件不存在則創(chuàng)
建文件,若文件已存在則向文件尾添加數(shù)據(jù);ios_base::binary模式:以二進(jìn)制模式打開(kāi)文件(缺省為文本模式);ios_base::in
模式:以讀方式打開(kāi)文件;iosbase::out模式:以寫(xiě)方式打開(kāi)文件,若文件不存在則創(chuàng)建,若文件已存在則清空原內(nèi)容(ofstream
默認(rèn)的打開(kāi)方式)。因此若要以二進(jìn)制讀方式打開(kāi)一個(gè)文件,需使用的文件打開(kāi)模式為:ios_base::binary|iosbase::in。
故本題答案為C。
31.下列關(guān)于繼承方式的描述中,錯(cuò)誤的是。
A、如果不顯式地指定繼承方式,缺省的繼承方式是私有(private)
B、采用公有繼承方式時(shí),基類(lèi)中的公有成員在派生類(lèi)中仍然是公有成員
C、采用保護(hù)繼承方式時(shí),基類(lèi)中的保護(hù)成員在派生類(lèi)中仍然是保護(hù)成員
D、采用私有繼承方式時(shí),基類(lèi)中的私有成員在派生類(lèi)中仍然是私有成員
本題主要考查了類(lèi)的繼承與派生。
類(lèi)的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有(private)繼承。如果不顯式地給出繼承方式,
缺省的類(lèi)繼承方式是私有(private)繼承。因此選項(xiàng)A正確;當(dāng)派生類(lèi)從基類(lèi)公有繼承時(shí),基類(lèi)的公有成員和保護(hù)成員的訪問(wèn)屬
性在派生類(lèi)中不變,仍作為派生類(lèi)的公有成員和保護(hù)成員,因此選項(xiàng)B正確;當(dāng)派生類(lèi)從基類(lèi)保護(hù)繼承時(shí),基類(lèi)的公有成員和保護(hù)
成員在派生類(lèi)中都為保護(hù)成員,因此選項(xiàng)C正確;當(dāng)派生類(lèi)從基類(lèi)私有繼承時(shí),基類(lèi)的公有成員和保護(hù)成員在派生類(lèi)中都改變?yōu)樗?/p>
有成員;無(wú)論哪種繼承方式,派生類(lèi)中的成員都不能訪問(wèn)基類(lèi)中的私有成員,因此選項(xiàng)D錯(cuò)誤。
故本題答案為D。
32.下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是。
A、可以通過(guò)運(yùn)算符重載在C++中創(chuàng)建新的運(yùn)算符B、賦值運(yùn)算符只能重我為成員函數(shù)
C、運(yùn)算符函數(shù)重載為類(lèi)的成員函數(shù)時(shí),第一操作數(shù)是該類(lèi)對(duì)象
D、重載類(lèi)型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回類(lèi)型
本題主要考杳了運(yùn)算符重載。
”運(yùn)算符重載”是針對(duì)C++中原有運(yùn)算符進(jìn)行的,不可能通過(guò)重載創(chuàng)造出新的運(yùn)算符,因此選項(xiàng)A錯(cuò)誤;在C++中,運(yùn)算符的重載
方式有兩種:(1)重載為成員函數(shù);(2)重載為友元函數(shù)。以及所有的類(lèi)型轉(zhuǎn)換運(yùn)算符只能重載為成員
函數(shù),因此選項(xiàng)B正確;運(yùn)算符重載為成員函數(shù)時(shí),第一操作數(shù)就是對(duì)象本身,并不顯式地出現(xiàn)在參數(shù)表中,因此選項(xiàng)C正確:重
載類(lèi)型轉(zhuǎn)換運(yùn)算符的格式為:operator類(lèi)型名(),其中"類(lèi)型名”就代表了返回類(lèi)型,因此重載類(lèi)型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回
類(lèi)型,因此選項(xiàng)D正確。
故本題答案為A。
33.有以下程序:
4include<iostream>
usingnamespacestd;
classB{
public:
B(intxx):x(xx){++count;x+=10;}
virtualvoidshow()const
{cout?count?,?x?endl;}
protected:
staticintcount;
private:
intx;
);
classD:publicB{
public:
D(intxx,intyy):B(xx),y(yy){++count;y+=100;}
virtualvoidshow()const
{cout?count<<,J<<y<<endl;}
private:
inty;
};
intB::count=0;
intmain(){
B*ptr=newD(10,20);
ptr->show();
deleteptr;
return0;
)
運(yùn)行時(shí)的輸出結(jié)果是o
A、l_120B、2」20C、l_20D、2_20
本題主要考查了派生類(lèi)的構(gòu)造函數(shù)、靜態(tài)成員函數(shù)以及虛函數(shù)。
建立派生類(lèi)對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下:(1)執(zhí)行基類(lèi)的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)基類(lèi)被繼承時(shí)聲明的順序(自
左向右):(2)執(zhí)行成員對(duì)象的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員對(duì)象在類(lèi)中聲明的順序(自匕而下);(3)執(zhí)行派生類(lèi)的構(gòu)
造函數(shù)。
用static關(guān)鍵字聲明的數(shù)據(jù)成員為靜態(tài)數(shù)據(jù)成員,靜態(tài)成員在每個(gè)類(lèi)只有一個(gè)拷貝,由該類(lèi)的所有對(duì)象共同維護(hù)和使用。
在成員函數(shù)聲明的前面加上virtual修飾,即把該函數(shù)聲明為虛函數(shù)。在C++中,一個(gè)基類(lèi)指針(或引用)可以用于指向它的
派生類(lèi)對(duì)象,而且通過(guò)這樣的指針(或引用)調(diào)用虛函數(shù)時(shí),被調(diào)用的是該指針(或引用)實(shí)際所指向的對(duì)象類(lèi)的那個(gè)重定義版
本。
本題中,函數(shù)show在基類(lèi)B和派生類(lèi)D中都聲明為虛函數(shù)。在基類(lèi)B中把保護(hù)成員定義為靜態(tài)成員count,派生類(lèi)D以公有繼承方
式從基類(lèi)B繼承了保護(hù)成員count。它被基類(lèi)B和派生類(lèi)D的所有對(duì)象所共享,但它不屬于類(lèi)的任何一個(gè)對(duì)象。在main。函數(shù)中,第
一條語(yǔ)句通過(guò)new運(yùn)算符創(chuàng)建派生類(lèi)D的對(duì)象,并把對(duì)象的首地址賦給基類(lèi)指針即基類(lèi)指針ptr指向派生類(lèi)對(duì)象。在創(chuàng)建派生
類(lèi)對(duì)象時(shí),先執(zhí)行基類(lèi)B的構(gòu)造函數(shù),counl的值為1,然后執(zhí)行派生類(lèi)D的構(gòu)造函數(shù),count的值為2,y的值為120;main。函數(shù)的
第二條語(yǔ)句通過(guò)基類(lèi)指針ptr調(diào)用虛函數(shù)show。,被調(diào)用的是該指針實(shí)際所指向的派生類(lèi)對(duì)象類(lèi)的重定義版本,即輸出2120。
故本題答案為B。
34.下列敘述中,錯(cuò)誤的是___。
A、false是一個(gè)邏輯型常量B、"b"是一個(gè)字符型常量
C、365是一個(gè)int常量D、3.1415926是一個(gè)double常量
本題主要考杳了常量。
在C++中,邏輯型常量有兩個(gè):false(假)和true(真),因此選項(xiàng)A正確;字符型常量是單引號(hào)括起來(lái)的一個(gè)字符,字符串
常量是雙引號(hào)括起來(lái)的字符序列,因此"b"是字符串,不是字符,故選項(xiàng)B錯(cuò)誤;整型常量默認(rèn)為int型,因此選項(xiàng)C正確;實(shí)型常
量默認(rèn)為double型,因此選項(xiàng)D正確。
故本題答案為B
35.在下列字符中,不允許作為C++標(biāo)識(shí)符的是___。
A、bB、BC、D、2
本題主要考查了C++中的標(biāo)識(shí)符命名規(guī)則。
標(biāo)識(shí)符的組成要符合?定的規(guī)則:
(1)標(biāo)識(shí)符是一個(gè)以字母或下劃線開(kāi)頭的,由字母、數(shù)字、下劃線組成的字符串;
(2)標(biāo)識(shí)符不能與任意一個(gè)關(guān)鍵字同名;
(3)標(biāo)識(shí)符中的字母區(qū)分大小寫(xiě);
(4)標(biāo)識(shí)符不宜過(guò)長(zhǎng)。
在選項(xiàng)D中,標(biāo)識(shí)符的第一個(gè)字符是數(shù)字,因此不是合法的標(biāo)識(shí)符,不允許作為C++標(biāo)識(shí)符。
故本題答案為D。
36.軟件是、數(shù)據(jù)和文檔的集合。
標(biāo)準(zhǔn)答案為:程序考生答案為:函數(shù)
計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。
37.有一個(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),則關(guān)系模式選課可定義為:選課(學(xué)號(hào),,成績(jī))。
標(biāo)準(zhǔn)答案為:課號(hào)考生答案為:課號(hào)
碼也稱(chēng)為關(guān)鍵字,是表中若干屬性的屬性組,其值惟一標(biāo)識(shí)表中的一個(gè)元組。在關(guān)系模式選課中能惟一標(biāo)識(shí)一個(gè)元組的是學(xué)號(hào),
課號(hào)。
38.設(shè)某循環(huán)隊(duì)列的容量為50,如果頭指針front=45(指向隊(duì)頭元素的前一位置),尾指針rear=10(指向隊(duì)尾元素),則該循環(huán)
隊(duì)列中共有個(gè)元素。
標(biāo)準(zhǔn)答案為:15或十五或15考生答案為:35
在循環(huán)隊(duì)列中,用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針front指向排頭元素的前一個(gè)位置,因此,從排頭指針front
指向的后一個(gè)位置直至隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。本題中隊(duì)列的容量為50,頭指針為45,那么
從頭指針到50之間有46、47、48、49、50,共5個(gè)元素,尾指針為10,那么從1到10之間有10個(gè)元素,所以共有15個(gè)元素。
39.設(shè)二叉樹(shù)如下:
對(duì)該二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為_(kāi)____.
標(biāo)準(zhǔn)答案為:EDBGHFCA或E、D、B、G、H、F、C、A或E,D,B,G,H,F,C,A或E,D,B,G,H,F,C,A
考生答案為:EDGHFCA
后序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn),并且,
在遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)。
40.一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將元素人1,&口,£百,5,4,3,2,1依次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)椤?/p>
標(biāo)準(zhǔn)答案為:A,B,C,D,E,F,5,4,3,2,1或A,B,C,D,E,F,5,4,3,2,1或A、B、C、D、E、F、5、4、3、2、
1或ABCDEF54321或A,B,C,D,E,F,5,4,3,2,1或A,B,C,D,E,F,5,4,3,2,1或A,B,C,D,E,F,5,4,3,
2,1或A,B,C,D,E,F,5,4,3,2,1
考生答案為:A,B,C,D,E,F,5,4,3,2,1
隊(duì)列是指允許在?端進(jìn)行插入、而在另?端進(jìn)行刪除的線性表。允許插入的?端稱(chēng)為隊(duì)尾,允許刪除的?端稱(chēng)為隊(duì)頭。在隊(duì)列這
種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。因此,隊(duì)列又稱(chēng)為〃先進(jìn)先出”或〃
后進(jìn)后出〃的線性表。
41.若x和y是兩個(gè)整型變量,在執(zhí)行了語(yǔ)句序列
x=5;y=6;y+=x一;
后,x+y的值為o
標(biāo)準(zhǔn)答案為:15或15考生答案為:15
本題主要考查了后置減1運(yùn)算符。
后置減1運(yùn)算符是先使用變量,然后變量再自減。因此語(yǔ)句y+=x一;的功能相當(dāng)于y=y+x;x=xT;兩條語(yǔ)句,因此執(zhí)行語(yǔ)句序列
x=5;y=6;y+=x-;后x的值為4,y的值為11,故x+y的值為15。
42.有如卜?的函數(shù)定義:
intXfun(intx){
inty=x;
{intx=10;y+=x;)
returnx+y;
)
通過(guò)表達(dá)式Xfun⑸調(diào)用該函數(shù),則得到的返回值為o
標(biāo)準(zhǔn)答案為:20或20考生答案為:20
本題主要考杳了標(biāo)識(shí)符的作用域與可見(jiàn)性。
作用域是一個(gè)標(biāo)識(shí)符在程序正文中有效的區(qū)域。程序運(yùn)行到某一點(diǎn),能夠引用到的標(biāo)識(shí)符,就是該處可見(jiàn)的標(biāo)識(shí)符,如果在
兩個(gè)或多個(gè)具有包含關(guān)系的作用域中聲明了同名標(biāo)識(shí)符,則外層標(biāo)識(shí)符在內(nèi)層不可見(jiàn)。函數(shù)調(diào)用表達(dá)式Xfun⑸把實(shí)參5傳遞給函
數(shù)Xfun的形式參數(shù)x,形參x的作用域?yàn)檎麄€(gè)函數(shù)體。Xfun函數(shù)體的第一條語(yǔ)句定義變量y并初始化y的值為5,第二個(gè)復(fù)合語(yǔ)句中的
第一條語(yǔ)句定義同名變量x,并初始化x的值為10,在復(fù)合語(yǔ)句中外層變量x不可見(jiàn),因此執(zhí)行復(fù)合語(yǔ)句的第二條語(yǔ)句y+=x;后y的值
為15,內(nèi)層變量x的作用域結(jié)束。然后執(zhí)行語(yǔ)句returnx+y;得到函數(shù)的返回值5+15=20。
43.卜.面的函數(shù)定義是某函數(shù)模板能夠生成的函數(shù)實(shí)例
intsquare(intn)(returnn*n;}
doublesquare(doublen){returnn*n;}
由此可知,該函數(shù)模板的定義是一O
標(biāo)準(zhǔn)答案為:templateVtypenameT>Tsquare(Tn){returnn*n;}或template<classT>Tsquare(Tn){return
n*n;}
考生答案為:template<typenameT>Tsquare(Tn){returnn*n;}
本題主要考查了函數(shù)模板。
函數(shù)模板是一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的源代碼形式相同,只是所針對(duì)的數(shù)據(jù)類(lèi)型不同。對(duì)于函數(shù)模板,數(shù)據(jù)
類(lèi)型本身成了它的參數(shù),因而是一種參數(shù)化類(lèi)型的函數(shù)。聲明一個(gè)函數(shù)模板的格式是:
template〈模板形參表聲明)
函數(shù)聲明
其中的模板形參表聲明是由一個(gè)或多個(gè)模板形參組成(如果是多個(gè),需要用逗號(hào)隔開(kāi))。每個(gè)模板形參具有下面幾種形式:
(1)typename參數(shù)名(2)class參數(shù)名(3)類(lèi)型修飾參數(shù)名
這里的參數(shù)名可以是任意的標(biāo)識(shí)符。在這三種形式中,前兩種是等價(jià)的:在聲明模板參數(shù)時(shí),關(guān)鍵字typename與class可以互
換。
因此該題函數(shù)模板定義是template<typenameT>Tsquare(Tn){returnn*n;}或template<classT>Tsquare(Tn){return
n*n;}o
44.在執(zhí)行語(yǔ)句序列
inti=0;doi++;while(i*i<10);
時(shí),do后面的循環(huán)體語(yǔ)句i++被執(zhí)行的次數(shù)為o
標(biāo)準(zhǔn)答案為:4或4或四考生答案為:4
本題主要考查了do-while循環(huán)語(yǔ)句。
第一次執(zhí)行循環(huán)體后i的值為1,i*i<10成立,繼續(xù)執(zhí)行循環(huán)體,第二次執(zhí)行循環(huán)體后i的值為2,i*i〈10成立,繼續(xù)執(zhí)行循環(huán)
體,第三次執(zhí)行循環(huán)體后i的值為3,i*i<10成立,繼續(xù)執(zhí)行循環(huán)體,第四次執(zhí)行循環(huán)體后i的值為4,i*i<10不成立,結(jié)束循環(huán)。
故循環(huán)語(yǔ)句被執(zhí)行次數(shù)為4。
45.假設(shè)Xcs是一個(gè)類(lèi),該類(lèi)中一個(gè)成員函數(shù)的原型為"Xcs*abc();”,則在類(lèi)外定義時(shí)對(duì)應(yīng)的函數(shù)頭為。
標(biāo)準(zhǔn)答案為:Xcs*Xcs::abc()考生答案為:Xcs*Xcs::abc()
本題主要考杳了成員函數(shù)的類(lèi)外定義。
在類(lèi)外定義成員函數(shù)的語(yǔ)法形式為:
返回值類(lèi)型類(lèi)名::成員函數(shù)名(參數(shù)表)
{
函數(shù)體
)
因此在類(lèi)Xcs之外定義原型為"Xcs*abc();"的成員函數(shù)對(duì)應(yīng)的函數(shù)頭為Xcs*Xcs::abc()。
46.請(qǐng)將下面的程序補(bǔ)充完整,使得程序輸出”飄是張娜的書(shū)”。
4include<iostream>
usingnamespacestd;
classBook{
public:
Book(char*str){strcpy(title,str);}
voidPrintlnfoO{cout?title?endl;}
protected:
chartitle[50];
);
classMyBook:publicBook{
public:
MyBook(char*sl,char*s2="張娜〃):
{strcpy(owner,s2);}
virtualvoidPrintlnfoO{cout?title<〈"是"<<owner<〈”的書(shū),<<endl;}
private:
charowner[10];
);
intmainO{
Book*ptr=newMyBook(〃飄〃);
ptr->Print!nfo();
return0;
}
標(biāo)準(zhǔn)答案為:virtualBook(si)考生答案為:virtual與Book(str)
本題主要考查了構(gòu)造函數(shù)、虛函數(shù)。
在成員函數(shù)聲明的前面加上virtual修飾,即把該函數(shù)聲明為虛函數(shù)。在派生類(lèi)中可以重新定義從基類(lèi)繼承卜來(lái)的虛函數(shù),從
而提供該函數(shù)的適用于派生類(lèi)的專(zhuān)門(mén)版本。本題在派生類(lèi)MyBook中重定義了虛函數(shù)Printinfo,因此第1個(gè)空應(yīng)填virtual。
派生類(lèi)的構(gòu)造函數(shù)必須要以合適的初值作為參數(shù),隱含調(diào)用基類(lèi)和新增成員對(duì)象的構(gòu)造函數(shù),用以初始化它們各自的數(shù)據(jù)成
員,然后再對(duì)新增的其他數(shù)據(jù)成員進(jìn)行初始化。派生類(lèi)構(gòu)造函數(shù)的一般格式如下:
〈派生類(lèi)名〉::<派生類(lèi)名>(<總參數(shù)表》):〈基類(lèi)名1》(參數(shù)表1),……
〈基類(lèi)名n>(〈參數(shù)表n>),
〈成員對(duì)象名1》(〈參數(shù)表n+l>),……,
〈成員對(duì)象名(〈參數(shù)表n+m>){〈派生類(lèi)構(gòu)造函數(shù)體>}
因此第二個(gè)空應(yīng)填Book(si),調(diào)用基類(lèi)的構(gòu)造函數(shù)以初始化其數(shù)據(jù)成員。
47.有如下的函數(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ù),則得到的返回值為。
標(biāo)準(zhǔn)答案為:78或78考生答案為:
本題主要考杳了數(shù)組、指針和求最大值算法。
函數(shù)Xfun的功能是求首地址為a的n個(gè)數(shù)據(jù)的最大數(shù),并把所求的最大數(shù)作為函數(shù)的返回值。函數(shù)調(diào)用表達(dá)式Xfun(x,5)把數(shù)組
x的首地址傳遞給函數(shù)Xfun的第一個(gè)形式參數(shù)指針變量a,常數(shù)5傳遞給函數(shù)Xfun的第二個(gè)形式參數(shù)n,因此函數(shù)調(diào)用表達(dá)式Xfun(x,5)
的返回值是數(shù)組x的5個(gè)元素的最大數(shù)78。
48.請(qǐng)將下面的類(lèi)Date的定義補(bǔ)充完整,使得由語(yǔ)句
DateFirstDay;
定義的對(duì)象FirslDay的值為2010年1月1日。
classDate{
public:
Date():year(y),month(m),day(d){}
private:
intyear,month,day;〃依次表示年、月、H
);
標(biāo)準(zhǔn)答案為:inty=2010,intm=l,intd=l考生答案為:inty,intm,intd
本題主要考杳了構(gòu)造函數(shù)。
構(gòu)造函數(shù)的作用是在對(duì)象被創(chuàng)建時(shí)利用特定的值構(gòu)造對(duì)象,將對(duì)象初始化為一種特定的狀態(tài),無(wú)參數(shù)的構(gòu)造函數(shù)稱(chēng)為默認(rèn)形
式的構(gòu)造函數(shù),如果類(lèi)中定義構(gòu)造函數(shù),編譯系統(tǒng)將不會(huì)再為其生成默認(rèn)構(gòu)造函數(shù)。構(gòu)造函數(shù)在對(duì)象被創(chuàng)建的時(shí)候由系統(tǒng)自動(dòng)調(diào)
用。類(lèi)Date中定義了一個(gè)構(gòu)造函數(shù),由類(lèi)Date的構(gòu)造函數(shù)的初始化列表可知構(gòu)造函數(shù)的形參應(yīng)是三個(gè)整型變量y,m和d,編譯系統(tǒng)
將不會(huì)為類(lèi)Dale建立無(wú)參數(shù)的默認(rèn)構(gòu)造函數(shù)。建立類(lèi)Date的對(duì)象FirslDay時(shí)沒(méi)有給出初始值,若要正確調(diào)用有形參的構(gòu)造函數(shù),
使對(duì)象FirstDay的值為2010年1月1日,則構(gòu)造函數(shù)應(yīng)是帶默認(rèn)形參值,且默認(rèn)形參值為2010、1和1。故該題應(yīng)填inty=2010,int
m=l,intd=lo
49.在有理數(shù)類(lèi)Rational中重載插入運(yùn)算符以便按a/q形式輸出。請(qǐng)將"運(yùn)算符函數(shù)的定義補(bǔ)充完整。
classRational(
public:
Rational(intaa,intqq):a(aa),q(qq){}
friendoperator<<(ostream&.out,Rational&x)
(
return(out<<x.a<<*/*?x.q);
)
private:
inta,q;
);
標(biāo)準(zhǔn)答案為:ostream&考生答案為:ostream&
本題主要考杳了插入運(yùn)算符的重載。
插入運(yùn)算符只能重載為非類(lèi)成員函數(shù),一般重載為友元函數(shù)。聲明重載插入運(yùn)算符為友元函數(shù)的函數(shù)原型為:
friendostream&,operator?(ostream&,類(lèi)名);
因此該題應(yīng)填ostream&。
2009年9月考試真題(第30次)
1.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是___。
A、循環(huán)隊(duì)列B、帶鏈隊(duì)列C、二叉樹(shù)D、帶鏈棧
2.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是___。
A、隊(duì)頭指針是固定不變的B、隊(duì)頭指針一定大于隊(duì)尾指針
C、隊(duì)頭指針一定小于隊(duì)尾指針I(yè))、隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
3.數(shù)據(jù)庫(kù)管理系統(tǒng)是。
A、操作系統(tǒng)的--部分B、在操作系統(tǒng)支持下的系統(tǒng)軟件C、一種編譯系統(tǒng)D、?種操作系統(tǒng)
4.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是。
A、可封裝B、自頂向下C、模塊化D、逐步求精
5.有三個(gè)關(guān)系R,S和T如下:
A、選擇B、投影C、交I)、并
6.在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是。
A、橢圓形B、矩形C、菱形D、三角形
7.算法的空間復(fù)雜度是指.
A、算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間B、算法所處理的數(shù)據(jù)量
C、算法程序中的語(yǔ)句或指令條數(shù)D、算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
8.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:
該圖是。
A、N-S圖B、PAD圖C、程序流程圖D、E-R圖
9.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是。
A、低內(nèi)聚低耦合B、高內(nèi)聚低耦合C、低內(nèi)聚高耦合D高內(nèi)聚高耦合
10.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出〃原則存取數(shù)據(jù)的是___。
A、循環(huán)隊(duì)列B、棧C、隊(duì)列D、二叉樹(shù)
11.有如下程序:
#include<iostream>
usingnamespacestd;
classA{
public:
A(inti):rl(i){}
voidprint(){cout?'E'}
voidprint()const{cout?*C*<<rl*rl?,;}
private:
intrl;
);
intmain(){
Aal(2);constAa2(4);
al.print();a2.print();
return0;
)
運(yùn)行時(shí)的輸出結(jié)果是O
A、運(yùn)行時(shí)出錯(cuò)B、E2-C16-C、C4-C16-
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川華新現(xiàn)代職業(yè)學(xué)院《內(nèi)部控制理論與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 華東師范大學(xué)《構(gòu)成設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島港灣職業(yè)技術(shù)學(xué)院《輔助設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 燕京理工學(xué)院《現(xiàn)代生物醫(yī)藥研究進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 安徽新華學(xué)院《機(jī)器學(xué)習(xí)與混合現(xiàn)實(shí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東江門(mén)中醫(yī)藥職業(yè)學(xué)院《電子信息領(lǐng)域工程倫理》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林工商學(xué)院《核技術(shù)應(yīng)用發(fā)展與創(chuàng)新》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西機(jī)電職業(yè)技術(shù)學(xué)院《主任工作技能》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧稅務(wù)高等專(zhuān)科學(xué)?!鄂倘澜∩砝碚撆c實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古赤峰歷年中考作文題與審題指導(dǎo)(2007-2023)
- 火力發(fā)電廠汽輪機(jī)控制系統(tǒng)技術(shù)條件
- 2024年湖南衡陽(yáng)八中直選生綜合能力測(cè)試物理試題打印版
- 公司注銷(xiāo)解除合同判決書(shū)
- 設(shè)備使用培訓(xùn)計(jì)劃方案
- 江蘇省南京市秦淮區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期歷史期末測(cè)試卷
- 2024年甘肅省中考語(yǔ)文試題卷(含答案)
- 勞動(dòng)教育智慧樹(shù)知到期末考試答案章節(jié)答案2024年同濟(jì)大學(xué)
- 2024年浙江省杭州市濱江區(qū)中考二模數(shù)學(xué)試題
- CR300BF型動(dòng)車(chē)組網(wǎng)絡(luò)設(shè)備及列車(chē)控制講解
- 危重癥患者的早期識(shí)別及處理
- 蘇教版小學(xué)五年級(jí)數(shù)學(xué)下冊(cè)第五單元《分?jǐn)?shù)加法和減法》課件
評(píng)論
0/150
提交評(píng)論