版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八套
1、軟件按功能可以分為:應(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)用而開發(fā)的軟
件。例如,事務(wù)處理軟件,工程與科學(xué)計(jì)算軟件,實(shí)時(shí)處理軟件,嵌入式軟件,人工智能軟件等應(yīng)用性質(zhì)不同的各種軟
件。系統(tǒng)軟件是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種效勞的軟件。如操作系統(tǒng),編譯程
序,匯編程序,網(wǎng)絡(luò)軟件,數(shù)據(jù)庫(kù)管理系統(tǒng)等,所以選項(xiàng)B屬于系統(tǒng)軟件。
故此題答案為B。
2、數(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ǔ)、判定表和判定樹等工具,來(lái)建立一種新的、稱為結(jié)構(gòu)化規(guī)格說(shuō)明的目標(biāo)文檔。
故此題答案為C。
3、軟件(程序)調(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)試主要在
開發(fā)階段。
故此題答案為A。
4、數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E-R圖來(lái)描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的。
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
5、以下表達(dá)中正確的選項(xiàng)是。
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的有序線性表,在最壞情況下,二分查找只需要比擬log2n次,而順序查找需要比擬n次。二分法查找只適用
于順序存儲(chǔ)的有序表,如果采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),也只能用順序查找,所以選項(xiàng)A是正確的。
故此題答案為A。
6、在學(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è)值集叫元組(或稱記錄)。在概念世界中,可以用元組表示實(shí)體,也可用它區(qū)
別不同的實(shí)體。所以在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是元組(或記錄)。
故此題答案為D。
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、軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于。
A、定義階段
B、開發(fā)階段
C、維護(hù)階段
D、上述三個(gè)階段
軟件生命周期可分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。軟件開發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)
試四個(gè)活動(dòng)階段。
故此題答案為B。
9、數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是o
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ù)的操縱,包括查詢及增、冊(cè)人改等操作。
數(shù)據(jù)控制語(yǔ)言(DCL):該語(yǔ)言負(fù)責(zé)數(shù)據(jù)完整性、平安性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
故此題答案為A。
10、有兩個(gè)關(guān)系R和T如下:
那么由關(guān)系R得到關(guān)系T的操作是。
A、選擇
B、投影
C、交
D、并
從關(guān)系中找出滿足給定條件的元組的操作稱為選擇。選擇是從行的角度進(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。
11、在C++中,cin是一個(gè)。
A、類
B、對(duì)象
C、模板
D、函數(shù)
此題主要考查了I/O流。
在C++中,數(shù)據(jù)的輸入與輸出是通過(guò)I/O流來(lái)實(shí)現(xiàn),cin和cout是預(yù)定義的流類對(duì)象。
故此題答案為B。
12、要定義整型數(shù)組x,使之包括初值為0的三個(gè)元素,以下語(yǔ)句中錯(cuò)誤的選項(xiàng)是。
A、intx[3]={0,0,0};
B、intx[]={0};
C、staticintx[3]={0};
D、intx[]={0,0,0};此題主要考查了一維數(shù)組的定義與初始化。
一維數(shù)組的定義形式為:
數(shù)據(jù)類型數(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ù)組,應(yīng)選項(xiàng)B錯(cuò)誤;對(duì)于數(shù)值類型數(shù)組,如果給定的數(shù)值不夠,那么沒(méi)有指定數(shù)值的元素將初始化為0,因
此選項(xiàng)C正確。
故此題答案為B。
13、假設(shè)MyClass是一個(gè)類名,且有如下語(yǔ)句序列
MyClasscl,*c2;
MyClass*c3=newMyClass;
MyClass&c4=cl;
上面的語(yǔ)句序列所定義的類對(duì)象的個(gè)數(shù)是。
A、1
B、2
C、3
D、4
此題主要考查了對(duì)象的定義。
第1條語(yǔ)句定義了MyClass類的對(duì)象cl和MyClass類的對(duì)象指針變量c2。因?yàn)槎x對(duì)象指針只是得到了用于存儲(chǔ)對(duì)象地址的
指針變量,不會(huì)創(chuàng)立對(duì)象,因此第1條語(yǔ)句只定義了一個(gè)類對(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)立類對(duì)
象。因此這3條語(yǔ)句所定義的類對(duì)象的個(gè)數(shù)是2。
故此題答案為B。
14、在以下字符中,不允許作為C++標(biāo)識(shí)符的是。
A、b
B、B
C、_
D、2
此題主要考查了C++中的標(biāo)識(shí)符命名規(guī)那么。
標(biāo)識(shí)符的組成要符合一定的規(guī)那么:
(1)標(biāo)識(shí)符是一個(gè)以字母或下劃線開頭的,由字母、數(shù)字、下劃線組成的字符串;
(2)標(biāo)識(shí)符不能與任意一個(gè)關(guān)鍵字同名;
(3)標(biāo)識(shí)符中的字母區(qū)分大小寫;
(4)標(biāo)識(shí)符不宜過(guò)長(zhǎng)。
在選項(xiàng)D中,標(biāo)識(shí)符的第一個(gè)字符是數(shù)字,因此不是合法的標(biāo)識(shí)符,不允許作為C++標(biāo)識(shí)符。
故此題答案為D。
15、以下程序段中包含4個(gè)函數(shù),其中具有隱含this指針的是。
intfunl();
classTest{
public:
intfun2();
friendintfun3();
staticintfun4();
);
A、funl
B、fun2
C、fun3
D、fun4
此題主要考查了this指針。
this指針是一個(gè)隱含于每一個(gè)非靜態(tài)成員函數(shù)中的特殊指針。它是一個(gè)指向正在被該成員函數(shù)操作的對(duì)象,也就是要操
作該成員函數(shù)的對(duì)象。因此類Test的非靜態(tài)成員函數(shù)fun2中具有隱含this指針,應(yīng)選項(xiàng)B正確。函數(shù)funl和函數(shù)fun3均不
是成員函數(shù),因此不具有隱含this指針,應(yīng)選項(xiàng)A和選項(xiàng)C不正確;靜態(tài)成員不屬于類的任何一個(gè)對(duì)象,而是屬于整個(gè)類,
因此靜態(tài)成員沒(méi)有this指針,故靜態(tài)成員函數(shù)fun4中沒(méi)有this指針,應(yīng)選項(xiàng)D錯(cuò)誤。
故此題答案為B。
16、以下代碼段聲明了3個(gè)類
classPerson{};
classStudent:publicPerson(};
classUndergraduate:Student{};
以下關(guān)于這些類之間關(guān)系的描述中,錯(cuò)誤的選項(xiàng)是。
A、類Person是類Undergraduate的基類
B、類Undergraduate從類Student公有繼承
C、類Student是類Person的派生類
D、類Undergraduate是類Person的派生類
此題主要考查了類的繼承與派生。
在C++中,定義派生類的一般語(yǔ)法形式為:
class派生類名:繼承方式基類名1,繼承方式基類名2,…,繼承方式基類名n
(
派生類成員聲明;
};
類的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有〔private)繼承。如果不顯式地給出繼承
方式,缺省的類繼承方式是私有〔private)繼承。在聲明派生類Undergraduate時(shí)缺省繼承方式,因此類Undergraduate
從類Student私有繼承,應(yīng)選項(xiàng)B錯(cuò)誤。
故此題答案為B。
17、以下表達(dá)中,錯(cuò)誤的選項(xiàng)是
A、false是一個(gè)邏輯型常量
B、〃b〃是一個(gè)字符型常量
C、365是一個(gè)int常量
D、3.1415926是一個(gè)double常量
此題主要考查了常量。
在C++中,邏輯型常量有兩個(gè):false〔假)和true1真),因此選項(xiàng)A正確;字符型常量是單引號(hào)括起來(lái)的一個(gè)字符,字
符串常量是雙引號(hào)括起來(lái)的字符序列,因此〃b〃是字符串,不是字符,應(yīng)選項(xiàng)B錯(cuò)誤;整型常量默認(rèn)為int型,因此選項(xiàng)C
正確;實(shí)型常量默認(rèn)為double型,因此選項(xiàng)D正確。
故此題答案為B
18、有如下程序
ttinclude<iostream>
usingnamespacestd;
classTest(
public:
Test(){}
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、1
C、11
D、111
此題主要考查了拷貝構(gòu)造函數(shù)。
拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),具有一般構(gòu)造函數(shù)的所有特性,其形參是本類的對(duì)象的引用。作用是使用一個(gè)的
對(duì)象初始化一個(gè)正在創(chuàng)立的同類對(duì)象。拷貝構(gòu)造函數(shù)在以下三種情況下都會(huì)被調(diào)用:
1)當(dāng)用類的一個(gè)對(duì)象初始化該類的另一個(gè)對(duì)象時(shí);
2)如果函數(shù)的形參是類的對(duì)象,調(diào)用函數(shù)時(shí),進(jìn)行形參和實(shí)參結(jié)合時(shí);
3)如果函數(shù)的返回值是類的對(duì)象,函數(shù)執(zhí)行完成返回調(diào)用者時(shí)。
函數(shù)fun的形參為類Test的對(duì)象的引用,main。函數(shù)中,第二條語(yǔ)句x=fun(y);調(diào)用函數(shù)fun()。使引用u為實(shí)參y的別名,
然后執(zhí)行函數(shù)fun()的第一條語(yǔ)句Testt=u;,即用Test類的對(duì)象u去初始化該類的另一個(gè)對(duì)象t,系統(tǒng)將自動(dòng)調(diào)用拷貝構(gòu)
造函數(shù),輸出1,然后執(zhí)行函數(shù)fun()的第二條語(yǔ)句returnt;,函數(shù)fun()的返回值為Test類的對(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。
19、有如下程序
ttinclude<iostream>
usingnamespacestd;
classA{
public:
A(inti=0):rl(i){}
voidprint(){cout?5E,?rl?,;}
voidprint()const{cout?,C*?rl*rl<<,;}
voidprint(intx){cout?,P5?rl*rl*rl?5;}
private:
intrl;
};
intmain(){
Aal;
constAa2(4);
al.print(2);〃不傳值
a2.print();
return0;
)
運(yùn)行時(shí)的輸出結(jié)果是O
A、P8-E4
B、P8-C16-
C、P0-E4-
D、P0-C16-
此題主要考查了函數(shù)的重載、常對(duì)象和常成員函數(shù)。
使用const關(guān)鍵字修飾的對(duì)象稱為常對(duì)象,使用const關(guān)鍵字說(shuō)明的成員函數(shù)稱為常成員函數(shù),通過(guò)常對(duì)象只能調(diào)用它的
常成員函數(shù),而不能調(diào)用其他成員函數(shù)。兩個(gè)以上的函數(shù),具有相同的函數(shù)名,但是形參的個(gè)數(shù)或類型不同,編譯器根
據(jù)實(shí)參和形參的類型及個(gè)數(shù)的最正確匹配,自動(dòng)確定調(diào)用哪一個(gè)函數(shù),這就是函數(shù)的重載。const關(guān)鍵字可以用于對(duì)重載
函數(shù)的區(qū)分。
在main。函數(shù)中,第一條語(yǔ)句定義類A的對(duì)象al,系統(tǒng)自動(dòng)調(diào)用類A的構(gòu)造函數(shù),以默認(rèn)形參值0初始化對(duì)象al的數(shù)據(jù)成員
rl;第二條語(yǔ)句定義常對(duì)象a2,系統(tǒng)自動(dòng)調(diào)用類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。
20、有如下兩個(gè)類定義
classXX{
private:
doublexl;
protected:
doublex2;
public:
doublex3;
);
classYY:protectedXX{
private:
doubleyl;
protected:
doubley2;
public:
doubley3;
);
在類YY中保護(hù)成員變量的個(gè)數(shù)是o
A、1
B、2
C、3
D、4
此題主要考查了類的繼承與派生。
類的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有(private)繼承。當(dāng)派生類從基類保護(hù)繼
承時(shí),基類的公有成員和保護(hù)成員在派生類中都為保護(hù)成員。此題派生類YY從基類XX保護(hù)繼承,因此基類XX的公有成員
x3和保護(hù)成員x2都成為派生類YY的保護(hù)成員,再加上派生類YY自身的保護(hù)成員y2,因此類YY中有3個(gè)保護(hù)成員。
故此題答案為C。
21、翻開文件時(shí)可單獨(dú)或組合使用以下文件翻開模式
?ios_base::app(2)ios_base::binary
(3)ios_base::in@ios_base::out
假設(shè)要以二進(jìn)制讀方式翻開一個(gè)文件,需使用的文件翻開模式為O
A、①③
B、①④
C、②③
D、②④
此題主要考查了I/O流。
翻開一個(gè)與輸出流關(guān)聯(lián)的文件時(shí),通常要指定文件模式。ios_base::app模式的功能:以寫方式翻開文件,假設(shè)文件不存
在那么創(chuàng)立文件,假設(shè)文件已存在那么向文件尾添加數(shù)據(jù);ios_base::binary模式:以二進(jìn)制模式翻開文件(缺省為文
本模式);ios_base::in模式:以讀方式翻開文件;iosbase::out模式:以寫方式翻開文件,假設(shè)文件不存在那么創(chuàng)立,
假設(shè)文件已存在那么清空原內(nèi)容(ofstream默認(rèn)的翻開方式)。因此假設(shè)要以二進(jìn)制讀方式翻開一個(gè)文件,需使用的文
件翻開模式為:ios_base::binary|iosbase::in-
故此題答案為C。
22、以下關(guān)于函數(shù)的描述中,錯(cuò)誤的選項(xiàng)是。
A、函數(shù)可以沒(méi)有返回值
B、函數(shù)可以沒(méi)有參數(shù)
C、函數(shù)可以是一個(gè)類的成員
D、函數(shù)不能被定義為模板
此題主要考查了函數(shù)。
函數(shù)定義的語(yǔ)法形式:
類型標(biāo)識(shí)符函數(shù)名(形式參數(shù)列表)
{
語(yǔ)句序列
)
無(wú)返回值的函數(shù)其類型標(biāo)識(shí)符為void。應(yīng)選項(xiàng)A正確;函數(shù)可以沒(méi)有參數(shù),當(dāng)函數(shù)定義時(shí)沒(méi)有形參,那么函數(shù)調(diào)用時(shí),〈
實(shí)參表〉亦為空,應(yīng)選項(xiàng)B正確;函數(shù)可以是類的成員,應(yīng)選項(xiàng)C正確;模板是C++支持參數(shù)化多態(tài)性的工具,函數(shù)模板實(shí)
現(xiàn)了類型參數(shù)化,將函數(shù)處理的數(shù)據(jù)類型作為參數(shù),提高了代碼的可重用性,應(yīng)選項(xiàng)D錯(cuò)誤。
故此題答案為D。
23、以下關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的選項(xiàng)是。
A、可以通過(guò)運(yùn)算符重載在C++中創(chuàng)立新的運(yùn)算符
B、賦值運(yùn)算符只能重載為成員函數(shù)
C、運(yùn)算符函數(shù)重載為類的成員函數(shù)時(shí),第一操作數(shù)是該類對(duì)象
D、重載類型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回類型
此題主要考查了運(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ù)。以及所有的類型轉(zhuǎn)換運(yùn)算
符只能重載為成員函數(shù),因此選項(xiàng)B正確;運(yùn)算符重載為成員函數(shù)時(shí),第一操作數(shù)就是對(duì)象本身,并不顯式地出現(xiàn)在參數(shù)
表中,因此選項(xiàng)C正確;重載類型轉(zhuǎn)換運(yùn)算符的格式為:operator類型名(),其中"類型名”就代表了返回類型,因此重
載類型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回類型,因此選項(xiàng)D正確。
故此題答案為A。
24、以下關(guān)于繼承方式的描述中,錯(cuò)誤的選項(xiàng)是。
A、如果不顯式地指定繼承方式,缺省的繼承方式是私有(private)
B、采用公有繼承方式時(shí),基類中的公有成員在派生類中仍然是公有成員
C、采用保護(hù)繼承方式時(shí),基類中的保護(hù)成員在派生類中仍然是保護(hù)成員
D、采用私有繼承方式時(shí),基類中的私有成員在派生類中仍然是私有成員
此題主要考查了類的繼承與派生。
類的繼承方式有三種:公有(public)繼承、保護(hù)(protected)繼承和私有(private)繼承。如果不顯式地給出繼承
方式,缺省的類繼承方式是私有(private)繼承。因此選項(xiàng)A正確;當(dāng)派生類從基類公有繼承時(shí),基類的公有成員和保
護(hù)成員的訪問(wèn)屬性在派生類中不變,仍作為派生類的公有成員和保護(hù)成員,因此選項(xiàng)B正確;當(dāng)派生類從基類保護(hù)繼承時(shí),
基類的公有成員和保護(hù)成員在派生類中都為保護(hù)成員,因此選項(xiàng)C正確;當(dāng)派生類從基類私有繼承時(shí),基類的公有成員和
保護(hù)成員在派生類中都改變?yōu)樗接谐蓡T;無(wú)論哪種繼承方式,派生類中的成員都不能訪問(wèn)基類中的私有成員,因此選項(xiàng)D
錯(cuò)誤。
故此題答案為D。
25、有如下程序:
ttinclude<iostream>
usingnamespacestd;
classBase(
public:
Base(intx=0):valB(x){cout?valB;}
~Base(){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é)果是。
A、2332
B、2323
C、3232
D、3223
此題主要考查了派生類的構(gòu)造函數(shù)與析構(gòu)函數(shù)。
構(gòu)造函數(shù)在對(duì)象被創(chuàng)立的時(shí)候由系統(tǒng)自動(dòng)調(diào)用,建立派生類對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下:(1)執(zhí)行基類的構(gòu)造函
數(shù),調(diào)用順序按照各個(gè)基類被繼承時(shí)聲明的順序(自左向右);(2)執(zhí)行成員對(duì)象的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員
對(duì)象在類中聲明的順序〔自上而下);[3)執(zhí)行派生類的構(gòu)造函數(shù)。
析構(gòu)函數(shù)用來(lái)完成對(duì)象被刪除前的一些清理工作,在對(duì)象的生存期即將結(jié)束的時(shí)刻被系統(tǒng)自動(dòng)調(diào)用。派生類的析構(gòu)函數(shù)
在執(zhí)行過(guò)程中也要對(duì)基類和成員對(duì)象進(jìn)行操作,但它的執(zhí)行過(guò)程與構(gòu)造函數(shù)嚴(yán)格相反,即:(1)對(duì)派生類新增普通成員
進(jìn)行清理。[2)調(diào)用成員對(duì)象析構(gòu)函數(shù),對(duì)派生類新增的成員對(duì)象進(jìn)行清理。(3)調(diào)用基類析構(gòu)函數(shù),對(duì)基類進(jìn)行清
理。
main。函數(shù)中,第一條語(yǔ)句Derivedobjl2(2,3);創(chuàng)立派生類對(duì)象objl2時(shí),先以第一個(gè)實(shí)參2初始化基類Base成員
valB,執(zhí)行基類Base的構(gòu)造函數(shù),輸出valB的值2;然后以第二個(gè)實(shí)參值3初始化派生類Derived成員valD,執(zhí)行派生類
Derived的構(gòu)造函數(shù),輸出valD的值3;在對(duì)象objl2的生存期即將結(jié)束時(shí),先調(diào)用派生類Derived的析構(gòu)函數(shù),輸出valD
的值3,然后調(diào)用基類析構(gòu)函數(shù),輸出valB的值2。因此本程序運(yùn)行時(shí)的輸出結(jié)果是2332。
故此題答案為A。
26、假設(shè)MyTemp是一個(gè)只有一個(gè)虛擬類型參數(shù)的類模板,且有如下語(yǔ)句序列
MyTemp<double>p2;
MyTemp<long>p3[2];
編譯系統(tǒng)在處理上面的語(yǔ)句序列時(shí),所生成的模板MyTemp的實(shí)例的個(gè)數(shù)是.
A、1
B、2
C、3
D、0
此題主要考核類模板。
類模板聲明的語(yǔ)法形式為:
template〈模板參數(shù)表》
class類名
{類成員聲明}
使用類模板來(lái)建立對(duì)象時(shí),應(yīng)按如下形式聲明:
類名〈模板實(shí)參表》對(duì)象名1,…,對(duì)象名n;
在定義對(duì)象的過(guò)程中,編譯系統(tǒng)會(huì)自動(dòng)地根據(jù)需要生成相應(yīng)的類定義,這種依據(jù)類模板生成類定義的過(guò)程稱為類模板的
實(shí)例化。類模板實(shí)例化所生成的每一個(gè)類定義就是相應(yīng)類模板的一個(gè)實(shí)例,因此類模板的實(shí)例個(gè)數(shù)由類型參數(shù)的種類決
定。此題使用類模板MyTemp定義對(duì)象時(shí)指定了兩種類型參數(shù):double和long,因此所生成的實(shí)例個(gè)數(shù)是2。
故此題答案為B。
27、假設(shè)x和y是程序中的兩個(gè)整型變量,那么以下if語(yǔ)句中正確的選項(xiàng)是o
A、if(x==0)y=l;elsey=2;
B、if(x==0)theny=lelsey=2;
C、if(x==0)y=lelsey=2;
D、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。
28、要定義一個(gè)引用變量p,使用引用類MyClass的一個(gè)對(duì)象,正確的定義語(yǔ)句是。
A、MyClassp=MyClass;
B、MyClassp=newMyClass;
C、MyClass&p=newMyClass;
D、MyClassa,&p=a;
此題主要考查了引用的聲明。
引用的聲明形式:類型標(biāo)識(shí)符&引用名二目標(biāo)變量名;
說(shuō)明:
〔1)&在此不是求地址運(yùn)算,而是起標(biāo)識(shí)作用。
[2)類型標(biāo)識(shí)符是指目標(biāo)變量的類型。
[3)聲明引用時(shí),必須同時(shí)對(duì)其進(jìn)行初始化。
[5)聲明一個(gè)引用,不是新定義了一個(gè)變量,它只表示該引用名是目標(biāo)變量名的一個(gè)別名,它本身不是一種數(shù)據(jù)類型,
因此引用本身不占存儲(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。
29、將運(yùn)算符〃+〃重載為非成員函數(shù),以下原型聲明中,錯(cuò)誤的選項(xiàng)是。
A、MyClockoperator+(MyClock,long);
B、MyClockoperator+(MyClock,MyClock);
C、MyClockoperator+(long,long);
D、MyClockoperator+(long,MyClock);
此題主要考查了運(yùn)算符的重載。
運(yùn)算符的重載是針對(duì)新類型數(shù)據(jù)的實(shí)際需要,對(duì)原有運(yùn)算符進(jìn)行適當(dāng)?shù)母脑?。一般?lái)講,重載的功能應(yīng)當(dāng)與原有功能類
似,不能改變?cè)\(yùn)算符的操作對(duì)象個(gè)數(shù),同時(shí)至少要有一個(gè)操作對(duì)象是自定義類型。選項(xiàng)A、選項(xiàng)B和選項(xiàng)D的兩個(gè)參數(shù)中
至少有一個(gè)參數(shù)是自定義類型,因此選項(xiàng)A、選項(xiàng)B和選項(xiàng)D正確。選項(xiàng)C中兩個(gè)參數(shù)都是根本數(shù)據(jù)類型,沒(méi)有自定義類型,
因此選項(xiàng)C錯(cuò)誤。
故此題答案是C。
30、關(guān)于函數(shù)中的〈返回類型》,以下表述中錯(cuò)誤的選項(xiàng)是。
A、〈返回類型》中有可能包含關(guān)鍵字int
B、〈返回類型〉中有可能包含自定義標(biāo)識(shí)符
C、〈返回類型》中有可能包含字符*
D、〈返回類型〉中有可能包含口
此題主要考查了函數(shù)的返回類型。
函數(shù)的定義形式為:
返回類型函數(shù)名(形參列表){函數(shù)體}
返回類型又稱函數(shù)類型,表示一個(gè)函數(shù)所計(jì)算(或運(yùn)行)的結(jié)果值的類型。因?yàn)楹瘮?shù)的結(jié)果值可以為整型,因此返回類
型可能包含關(guān)鍵字int,選項(xiàng)A正確;函數(shù)的返回類型可以為類,因此返回類型可能包含自定義標(biāo)識(shí)符,選項(xiàng)B正確;函數(shù)
的返回類型可以為指針,因此返回類型可能包含字符*,選項(xiàng)C正確;但返回類型不能為數(shù)組,因此返回類型中不可能包
含口,因此選項(xiàng)D錯(cuò)誤。
故此題答案為D。
31、以下控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是。
A、setprecision
B、setw
C、setfill
D、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。
32、將前綴運(yùn)算符〃--〃重載為非成員函數(shù),以下原型中,能正確用于類中說(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ù):int。如果將前綴一和后綴一作為非成員函數(shù)重載,那個(gè)唯
一的操作數(shù)必須作為第一參數(shù)提供。又因?yàn)橐薷牡谝徊僮鲾?shù),對(duì)應(yīng)的參數(shù)必須聲明為引用。
前綴一作為非成員函數(shù)重載的一般形式為:
friendDecr&operator一(Decr&);
后綴一作為非成員函數(shù)重載的一般形式為:
friendDeeroperator一(Decr&,int);
當(dāng)運(yùn)算符重載為類的成員函數(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。
33、下面是類Shape的定義:
classShape{
public:
virtualvoidDraw()=0;
);
以下關(guān)于Shape類的描述中,正確的選項(xiàng)是。
A、類Shape是虛基類
B、類Shape是抽象類
C、類Shape中的Draw函數(shù)聲明有誤
D、語(yǔ)句"Shapes能夠建立Shape的一個(gè)對(duì)象s
此題主要考查了純虛函數(shù)和抽象類。
聲明純虛函數(shù)的語(yǔ)法形式為:
virtual函數(shù)類型函數(shù)名(參數(shù)表)=0;
所以函數(shù)Draw。是純虛函數(shù)。帶有純虛函數(shù)的類是抽象類,所以類Shape是抽象類,因此選項(xiàng)B正確;抽象類不能實(shí)例化,
即不能定義一個(gè)抽象類的對(duì)象,因此選項(xiàng)D錯(cuò)誤。
故此題答案是B。
34、以下關(guān)于類模板的描述中,錯(cuò)誤的選項(xiàng)是。
A、類模板的成員函數(shù)都是模板函數(shù)
B、可以為類模板參數(shù)設(shè)置默認(rèn)值
C、類模板描述了一組類
D、類模板中只允許有一個(gè)類型參數(shù)
此題主要考查了類模板。
使用類模板可以為類聲明一種模式,使得類中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)、某些成員函數(shù)的返回值能取任意
類型。因此選項(xiàng)C正確;類模板聲明的語(yǔ)法形式為:
template〈模板參數(shù)表>
class類名
{類成員聲明}
其中,模板參數(shù)表”由用逗號(hào)分隔的假設(shè)干類型標(biāo)識(shí)符或常量表達(dá)式構(gòu)成,因此選項(xiàng)D錯(cuò)誤;可以為類模板中的類型參數(shù)和
非類型參數(shù)提供默認(rèn)值,如果某個(gè)類模板參數(shù)有默認(rèn)值,該列表中的所有后續(xù)參數(shù)也都必須指定默認(rèn)值。因此選項(xiàng)B正確。
類模板的成員函數(shù)都是模板函數(shù),因此選項(xiàng)A正確。
故此題答案為D。
35、有以下程序:
#include〈iostream〉
usingnamespacestd;
classB{
public:
B(intxx):x(xx){++count;x+=10;}
virtualvoidshow()const
{cout?count?5?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_120
B、2_120
C、l_20
D、2_20
此題主要考查了派生類的構(gòu)造函數(shù)、靜態(tài)成員函數(shù)以及虛函數(shù)。
建立派生類對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下:[1)執(zhí)行基類的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)基類被繼承時(shí)聲明的順序
(自左向右);(2)執(zhí)行成員對(duì)象的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員對(duì)象在類中聲明的順序〔自上而下);(3)執(zhí)
行派生類的構(gòu)造函數(shù)。
用static關(guān)鍵字聲明的數(shù)據(jù)成員為靜態(tài)數(shù)據(jù)成員,靜態(tài)成員在每個(gè)類只有一個(gè)拷貝,由該類的所有對(duì)象共同維護(hù)和使用。
在成員函數(shù)聲明的前面加上virtual修飾,即把該函數(shù)聲明為虛函數(shù)。在C++中,一個(gè)基類指針〔或引用)可以用于指向
它的派生類對(duì)象,而且通過(guò)這樣的指針〔或引用)調(diào)用虛函數(shù)時(shí),被調(diào)用的是該指針〔或引用)實(shí)際所指向的對(duì)象類的
那個(gè)重定義版本。
此題中,函數(shù)show在基類B和派生類D中都聲明為虛函數(shù)。在基類B中把保護(hù)成員定義為靜態(tài)成員count,派生類D以公有繼
承方式從基類B繼承了保護(hù)成員count。它被基類B和派生類D的所有對(duì)象所共享,但它不屬于類的任何一個(gè)對(duì)象。在main。
函數(shù)中,第一條語(yǔ)句通過(guò)new運(yùn)算符創(chuàng)立派生類D的對(duì)象,并把對(duì)象的首地址賦給基類指針ptr,即基類指針ptr指向派生
類對(duì)象。在創(chuàng)立派生類對(duì)象時(shí),先執(zhí)行基類B的構(gòu)造函數(shù),count的值為1,然后執(zhí)行派生類D的構(gòu)造函數(shù),count的值為2,
y的值為120;main。函數(shù)的第二條語(yǔ)句通過(guò)基類指針ptr調(diào)用虛函數(shù)show。,被調(diào)用的是該指針實(shí)際所指向的派生類對(duì)象
類的重定義版本,即輸出2」20。
故此題答案為B。
36、設(shè)某循環(huán)隊(duì)列的容量為50,如果頭指針front=45(指向隊(duì)頭元素的前一位置),尾指針rear=10(指向隊(duì)尾元素),
那么該循環(huán)隊(duì)列中共有個(gè)元素。
標(biāo)準(zhǔn)答案為:15或十五或15
在循環(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è)元素。
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)
碼也稱為關(guān)鍵字,是表中假設(shè)干屬性的屬性組,其值惟一標(biāo)識(shí)表中的一個(gè)元組。在關(guān)系模式選課中能惟一標(biāo)識(shí)一個(gè)
元組的是學(xué)號(hào),課號(hào)。
38、一個(gè)隊(duì)列的初始狀態(tài)為空。現(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
隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)
頭。在隊(duì)列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。因此,隊(duì)
列又稱為“先進(jìn)先出"或"后進(jìn)后出”的線性表。
39、設(shè)二叉樹如下:
對(duì)該二叉樹進(jìn)行后序遍歷的結(jié)果為。
標(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
后序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這二者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問(wèn)根
結(jié)點(diǎn),并且,在遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后遍歷右子樹,最后訪問(wèn)根結(jié)點(diǎn)。
40、軟件是、數(shù)據(jù)和文檔的集合。
標(biāo)準(zhǔn)答案為:程序
計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一局部,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。
41、在執(zhí)行語(yǔ)句序列
inti=0;doi++;while(i*i<10);
時(shí),do后面的循環(huán)體語(yǔ)句i++被執(zhí)行的次數(shù)為。
標(biāo)準(zhǔn)答案為: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。
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
此題主要考查了標(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ù)模板的定義是。
標(biāo)準(zhǔn)答案為:template<typenameT>Tsquare(Tn){returnn*n;}或template<classT>Tsquare(T
n){returnn*n;}
此題主要考查了函數(shù)模板。
函數(shù)模板是一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的源代碼形式相同,只是所針對(duì)的數(shù)據(jù)類型不同。對(duì)于函數(shù)模板,
數(shù)據(jù)類型本身成了它的參數(shù),因而是一種參數(shù)化類型的函數(shù)。聲明一個(gè)函數(shù)模板的格式是:
template〈模板形參表聲明》
函數(shù)聲明
其中的模板形參表聲明是由一個(gè)或多個(gè)模板形參組成〔如果是多個(gè),需要用逗號(hào)隔開)。每個(gè)模板形參具有下面幾種形
式:
[1)typename參數(shù)名[2)class參數(shù)名(3)類型修飾參數(shù)名
這里的參數(shù)名可以是任意的標(biāo)識(shí)符。在這三種形式中,前兩種是等價(jià)的:在聲明模板參數(shù)時(shí),關(guān)鍵字typename與class
可以互換。
因此該題函數(shù)模板定義是templateVtypenameT>Tsquare(Tn){returnn*n;}或template〈classT>Tsquare(T
n){returnn*n;}。
44、請(qǐng)將下面的類Date的定義補(bǔ)充完整,使得由語(yǔ)句
DateFirstDay;
定義的對(duì)象FirstDay的值為2010年1月1日。
classDate(
public:
Date():year(y),month(m),day(d){}
private:
intyear,month,day;〃依次表示年、月、日
};
標(biāo)準(zhǔn)答案為:inty=2010,intm=l,intd=l
此題主要考查了構(gòu)造函數(shù)。
構(gòu)造函數(shù)的作用是在對(duì)象被創(chuàng)立時(shí)利用特定的值構(gòu)造對(duì)象,將對(duì)象初始化為一種特定的狀態(tài),無(wú)參數(shù)的構(gòu)造函數(shù)稱
為默認(rèn)形式的構(gòu)造函數(shù),如果類中定義構(gòu)造函數(shù),編譯系統(tǒng)將不會(huì)再為其生成默認(rèn)構(gòu)造函數(shù)。構(gòu)造函數(shù)在對(duì)象被創(chuàng)立的
時(shí)候由系統(tǒng)自動(dòng)調(diào)用。類Date中定義了一個(gè)構(gòu)造函數(shù),由類Date的構(gòu)造函數(shù)的初始化列表可知構(gòu)造函數(shù)的形參應(yīng)是三個(gè)
整型變量y,m和d,編譯系統(tǒng)將不會(huì)為類Date建立無(wú)參數(shù)的默認(rèn)構(gòu)造函數(shù)。建立類Date的對(duì)象FirstDay時(shí)沒(méi)有給出初始值,
假設(shè)要正確調(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,intm=l,intd=lo
45、在有理數(shù)類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:
in
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版殯葬服務(wù)標(biāo)準(zhǔn)化協(xié)議模板版B版
- 2024年虛擬現(xiàn)實(shí)技術(shù)合伙開發(fā)合同協(xié)議3篇
- 2024年融資合作權(quán)益分配具體合同版B版
- 2024版中國(guó)石化設(shè)備采購(gòu)合作協(xié)議一
- 2024校車運(yùn)營(yíng)安全管理服務(wù)承包合同
- 2024演出合作協(xié)議書演出策劃合同
- 精神科停電和突然停電的應(yīng)急預(yù)案及程序
- 采購(gòu)部員工技能培訓(xùn)
- 福建省南平市文昌學(xué)校2021年高三語(yǔ)文模擬試題含解析
- 2024消防食品及飲料供應(yīng)合同
- Unit 4 Plants around us C (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 化工公司安全知識(shí)競(jìng)賽題庫(kù)(共1000題)
- 市消化內(nèi)科質(zhì)量控制分中心業(yè)務(wù)指導(dǎo)工作總結(jié)
- 青島版(五年制)四年級(jí)下冊(cè)小學(xué)數(shù)學(xué)全冊(cè)導(dǎo)學(xué)案(學(xué)前預(yù)習(xí)單)
- 退學(xué)費(fèi)和解協(xié)議書模板
- 課程評(píng)價(jià)與持續(xù)改進(jìn)計(jì)劃
- 2024年版美國(guó)結(jié)直腸外科醫(yī)師協(xié)會(huì)《肛周膿腫、肛瘺、直腸陰道瘺的臨床實(shí)踐指南》解讀
- 2024至2030年中國(guó)對(duì)氯甲苯行業(yè)市場(chǎng)全景調(diào)研及發(fā)展趨勢(shì)分析報(bào)告
- 智能教育輔助系統(tǒng)運(yùn)營(yíng)服務(wù)合同
- 心功能分級(jí)及護(hù)理
- 事業(yè)單位招錄公共基礎(chǔ)知識(shí)(政治)模擬試卷10(共258題)
評(píng)論
0/150
提交評(píng)論