2018年4月自考04737C++程序設(shè)計(jì)試題及答案含解析_第1頁
2018年4月自考04737C++程序設(shè)計(jì)試題及答案含解析_第2頁
2018年4月自考04737C++程序設(shè)計(jì)試題及答案含解析_第3頁
2018年4月自考04737C++程序設(shè)計(jì)試題及答案含解析_第4頁
2018年4月自考04737C++程序設(shè)計(jì)試題及答案含解析_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

++程序設(shè)計(jì)年月真題

04737C20184

1、【單選題】下列關(guān)于C++標(biāo)識符的命名不合法的是

Pad

name_1

A:

#bc

B:

_a12

C:

答D:案:C

解析:構(gòu)成標(biāo)識符的符號可以是大小寫字母、下劃線和數(shù)字,且數(shù)字不能打頭。

2、【單選題】若有以下類型標(biāo)識符定義:intx=2;charw='a';float

y=23.45f;doublez=45.6789;則表達(dá)式w*x+y-z的結(jié)果類型是

float

char

A:

int

B:

double

C:

答D:案:D

解析:表達(dá)式的運(yùn)算結(jié)果的數(shù)據(jù)類型取決于參與運(yùn)算的操作數(shù)的類型及其運(yùn)算符的類型,

表達(dá)式w*x+y-z是基本算術(shù)運(yùn)算,操作數(shù)z的數(shù)據(jù)類型是double型,所以運(yùn)算結(jié)果的數(shù)

據(jù)類型就是double型。

3、【單選題】局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時,可

以用下列哪一項(xiàng)提供對全局變量的訪問

作用域運(yùn)算符

指針運(yùn)算符

A:

提取運(yùn)算符

B:

插入運(yùn)算符

C:

答D:案:A

解析:在有同名全局變量和局部變量的情形時,局部變量可以隱藏全局變量,但可以作用

域運(yùn)算符::對全局變量進(jìn)行訪問。

4、【單選題】下列關(guān)于delete運(yùn)算符的描述中,錯誤的是

它必須用于new返回的指針

對一個指針可以使用多次該運(yùn)算符

A:

它也適用于空指針

B:

指針名前只用一對方括號,不管所刪除數(shù)組的維數(shù)

C:

答D:案:C

解析:new與delete是配對使用的,delete必須用于new返回的指針。刪除一個指針p

(deletep;)實(shí)際意思是刪除了p所指的目標(biāo)(變量或?qū)ο蟮龋尫帕怂嫉亩芽?/p>

間,而不是刪除p本身(指針p本身并沒有撤銷,它自己仍然存在,該指針?biāo)純?nèi)存空間

并未釋放),釋放堆空間后,p成了空指針。delete不能用于空指針,空指針說明已經(jīng)被

釋放了。

5、【單選題】在C++中,類與類之間的繼承關(guān)系具有

自反性

對稱性

A:

傳遞性

B:

反對稱性

C:

答D:案:C

解析:在C++中,類與類之間的繼承關(guān)系具有傳遞性。比如B繼承了A,C繼承了B,那么

C自然也是繼承了A里面的東西。

6、【單選題】對類中聲明的變量,下列描述中正確的是

屬于全局變量

屬于該類,某些情況下也可被該類不同實(shí)例所共享

A:

只屬于該類

B:

任何情況下都可被該類所有實(shí)例共享

C:

答D:案:B

解析:類中聲明的變量屬于該類,某些情況下也可被該類不同實(shí)例所共享。

7、【單選題】在類定義的外部,可以被訪問的成員有

所有類成員

private或protected的類成員

A:

public的類成員

B:

public或private的類成員

C:

答D:案:C

解析:在類定義的外部,可以被訪問的成員只能是public的類成員。

8、【單選題】已知:intm=10;下列表示引用的方法中,正確的是

int&z;

int&t=1;

A:

int&x=m;

B:

float&f=&m;

C:

答D:案:C

解析:引用就是某一變量(目標(biāo))的一個別名,對引用的操作與對變量直接操作完全一

樣。引用的聲明方法:類型標(biāo)識符&引用名=目標(biāo)變量名。

9、【單選題】對于int*pa[5];的描述中,正確的是

pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素

pa是一個指向某數(shù)組中第5個元素的指針,該元素是int型變量

A:

pa[5]表示數(shù)組的第5個元素的值,是int型的值

B:

pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針

C:

答D:案:D

解析:int*pa[5]中pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針。

int(*pa)[5]中pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素。

10、【單選題】下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是

構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)

構(gòu)造函數(shù)在定義類對象時自動執(zhí)行

A:

構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)

B:

構(gòu)造函數(shù)不可以重載

C:

答D:案:D

解析:構(gòu)造函數(shù)主要用來在創(chuàng)建對象時初始化對象,即為對象成員變量賦初始值。一個類

可以有多個構(gòu)造函數(shù),可根據(jù)其參數(shù)個數(shù)的不同或參數(shù)類型的不同來區(qū)分它們即構(gòu)造函數(shù)

的重載。構(gòu)造函數(shù)的命名必須和類名完全相同。構(gòu)造函數(shù)不能被直接調(diào)用,必須通過new

運(yùn)算符在創(chuàng)建對象時才會自動調(diào)用;構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)。

11、【單選題】關(guān)于成員函數(shù)特征的描述中,錯誤的是

成員函數(shù)一定是內(nèi)聯(lián)函數(shù)

成員函數(shù)可以重載

A:

B:

成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值

成員函數(shù)可以是靜態(tài)的

C:

答D:案:A

解析:類的成員函數(shù)的原型要寫在類體中,原型說明了函數(shù)的參數(shù)表和返回值類型。而函

數(shù)的定義一般在類外面,也可以直接在類內(nèi)部定義。前者與普通函數(shù)不同的是,實(shí)現(xiàn)成員

函數(shù)時要指明類的名稱,具體形式為:返回值類型類名::函數(shù)成員名(參數(shù)表){函數(shù)

體};而后者一般為一些短小的函數(shù)(5行以內(nèi)),也就是內(nèi)聯(lián)函數(shù)。

12、【單選題】下列不是函數(shù)重載所要求的條件是

函數(shù)名相同

參數(shù)個數(shù)不同

A:

參數(shù)類型不同

B:

函數(shù)返回值類型不同

C:

答D:案:D

解析:函數(shù)重載的函數(shù)名必須相同,兩個重載函數(shù)必須在下列一個或兩個方面有所區(qū)別:

(1)函數(shù)的參數(shù)個數(shù)不同;(2)函數(shù)的參數(shù)類型不同或者參數(shù)類型順序不同。

13、【單選題】下列有關(guān)模板的描述中,錯誤的是

模板把數(shù)據(jù)類型作為一個設(shè)計(jì)參數(shù),稱為參數(shù)化程序設(shè)計(jì)

使用時,模板參數(shù)與函數(shù)參數(shù)相同,是按位置而不是名稱對應(yīng)的

A:

模板實(shí)例化參數(shù)類型包括數(shù)據(jù)類型和值

B:

類模板與模板類是同一個概念

C:

答D:案:D

解析:一個類模板(類生成類)允許用戶為類定義個一種模式,使得類中的某些數(shù)據(jù)成員、

默認(rèn)成員函數(shù)的參數(shù),某些成員函數(shù)的返回值,能夠取任意類型(包括系統(tǒng)預(yù)定義的和用

戶自定義的)。如果一個類中的數(shù)據(jù)成員的數(shù)據(jù)類型不能確定,或者是某個成員函數(shù)的參

數(shù)或返回值的類型不能確定,就必須將此類聲明為模板,它的存在不是代表一個具體的、

實(shí)際的類,而是代表一類類。模板類是類模板實(shí)例化后的一個產(chǎn)物。

14、【單選題】用new運(yùn)算符創(chuàng)建一維數(shù)組的正確形式是

int*p=newa[10];

float*p=newfloat[10];

A:

int*p=newfloat[10];

B:

int*p=newint[5]={1,2,3,4,5,6};

C:

D:

答案:B

解析:float*p=newfloat[10];的含義是:開辟一個長度為10的float型數(shù)組的空間,

并把首地址賦予指針變量p,而p是指向float型數(shù)據(jù)的指針。選項(xiàng)D中對數(shù)組的初始化

時非法的。

15、【單選題】以下關(guān)于this指針的敘述中,正確的是

任何與類相關(guān)的函數(shù)都有this指針

類的成員函數(shù)都有this指針

A:

類的友元函數(shù)都有this指針

B:

類的非靜態(tài)成員函數(shù)才有this指針

C:

答D:案:D

解析:this指針是隱藏的,可以使用該指針來訪問調(diào)用對象中的數(shù)據(jù)。靜態(tài)成員函數(shù)沒有

this指針,類的非靜態(tài)成員函數(shù)才有this指針。

16、【單選題】如果有intx,*p;floaty,*q;則下面操作中,正確的是

p=x

p=q

A:

p=&x

B:

p=&y

C:

答D:案:C

解析:選項(xiàng)C,指針變量p指向整型變量x,正確。

17、【單選題】下列關(guān)于運(yùn)算符重載的表述中,正確的是

C++已有的任何運(yùn)算符都可以重載

運(yùn)算符函數(shù)的返回類型不能聲明為基本數(shù)據(jù)類型

A:

在類型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類型

B:

可以通過運(yùn)算符重載來創(chuàng)建C++中原來沒有的運(yùn)算符

C:

答D:案:C

解析:運(yùn)算符重載時要遵循以下規(guī)則:(1)除了類屬關(guān)系運(yùn)算符“.”、成員指針運(yùn)算符

“.*”、作用域運(yùn)算符“::”、sizeof運(yùn)算符和三目運(yùn)算符“?:”以外,C++中的所有運(yùn)

算符都可以重載。(2)重載運(yùn)算符限制在C++語言中已有的運(yùn)算符范圍內(nèi)的允許重載的運(yùn)

算符之中,不能創(chuàng)建新的運(yùn)算符。(3)重載之后的運(yùn)算符不能改變運(yùn)算符的優(yōu)先級和結(jié)

合性,也不能改變運(yùn)算符操作數(shù)的個數(shù)及語法結(jié)構(gòu)。

18、【單選題】友元運(yùn)算符@obj被C++編譯器解釋為

operator@(obj)

operator@(obj,0)

A:

obj.operator@()

B:

obj.operator@(0)

C:

答D:案:A

解析:單目運(yùn)算符的情況:如友元運(yùn)算符@obj被C++編譯器解釋為operator@(obj)。雙目

運(yùn)算符的情況:如友元運(yùn)算符obj1>obj2被C++編譯器解釋為operator>(obj1,obj2)

19、【單選題】考慮函數(shù)原型voidtest(inta,intb=7,charch='*'),下面的函數(shù)調(diào)用

中,屬于不合法調(diào)用的是

test(5)

test(5,8)

A:

test(6,'#')

B:

test(0,0,'*')

C:

答D:案:C

解析:題中函數(shù)聲明帶有默認(rèn)參數(shù),那么在C)選項(xiàng)的調(diào)用中,將會把字符型實(shí)參#賦值給

整型形參b,這不符合參數(shù)傳遞規(guī)則。

20、【單選題】使用setw()時需要包含頭文件

iostream.h

fstream.h

A:

iomanip.h

B:

stdlib.h

C:

答D:案:C

解析:使用setw()時需要包含頭文件iomanip.h。

21、【問答題】面向?qū)ο蟪绦蛟O(shè)計(jì)不僅能進(jìn)行功能抽象,而且能進(jìn)行_________抽象。

答案:數(shù)據(jù)

22、【問答題】C++提供的預(yù)處理語句有3種,文件包含、條件編譯和__________。

答案:宏定義

23、【問答題】在類體外面定義成員函數(shù)時,必須用關(guān)鍵字_________重寫類模板聲明。

答案:template

24、【問答題】輸入流istream用來處理標(biāo)準(zhǔn)輸入的一個對象的是_________。

答案:cin

25、【問答題】編譯時的多態(tài)性通過_________函數(shù)實(shí)現(xiàn)。

答案:重載

26、【問答題】假定x=5,y=6,則表達(dá)式x++*++y的值為_________。

答案:35

27、【問答題】在C++程序中,對剛創(chuàng)建的對象進(jìn)行初始化的工作由構(gòu)造函數(shù)來完成;而對象

被刪除前的一些清理工作則是由_________函數(shù)來完成的。

答案:析構(gòu)

28、【問答題】在用class定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪問權(quán)限是

_________。

答案:private

29、【問答題】不同對象可以調(diào)用相同名稱的函數(shù),但執(zhí)行完全不同行為的現(xiàn)象稱為

_________。

答案:多態(tài)性

30、【問答題】用new申請某一個類的動態(tài)對象數(shù)組時,在該類中必須能夠匹配到?jīng)]有形參

或_________的構(gòu)造函數(shù),否則應(yīng)用程序會產(chǎn)生一個編譯錯誤。

答案:缺省參數(shù)

31、【問答題】在C++中,變量的三個基本要素是指:變量名、變量類型和。_________

答案:變量值

32、【問答題】若有定義inta=3;則執(zhí)行完語句a+=a-=a*a;之后,a的值為

_________。

答案:-12

33、【問答題】如果要把Student類的返回值為void的成員函數(shù)score(),聲明為類

Teacher的友元函數(shù),則應(yīng)在類Teacher的定義中加入語句_________。

答案:friendvoidStudent::score();

34、【問答題】假定x是一個邏輯量,則x&&0的值為_________。

答案:0

35、【問答題】構(gòu)造函數(shù)、析構(gòu)函數(shù)和友元函數(shù)中,不是該類成員的是_________。

答案:友元函數(shù)

36、【問答題】使用對象的引用來初始化創(chuàng)建中的對象的函數(shù)是_________。

答案:拷貝構(gòu)造函數(shù)

37、【問答題】定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調(diào)用該類的_________構(gòu)造函數(shù)

對其進(jìn)行初始化。

答案:無參

38、【問答題】復(fù)制構(gòu)造函數(shù)使用_________作為形式參數(shù)。

答案:對象的引用

39、【問答題】當(dāng)編譯系統(tǒng)編譯含有虛函數(shù)的類時,將為它建立一個虛函數(shù)表,表中的每一

個元素都指向一個_________。

答案:虛函數(shù)的地址

40、【問答題】在函數(shù)體之前加_________關(guān)鍵字可以防止覆蓋函數(shù)改變數(shù)據(jù)成員的值。

答案:const

41、【問答題】

答案:intx=7;y=9;錯,y沒有指定類型。

42、【問答題】

答案:f.set(1,2);f.show();錯,f是個類不能直接被調(diào)用。

43、【問答題】

答案:constint*p=a;錯,給指針變量賦值時需要加上&。

44、【問答題】

答案:inta[6]={1,2,3,4,5,6,7};錯,初始化數(shù)組元素的個數(shù)超出數(shù)組長度。

45、【問答題】

答案:voidperson(){x=1;}錯,構(gòu)造函數(shù)不應(yīng)有void返回類型。

46、【問答題】

答案:#includei=0;i<n-1;i++

47、【問答題】

答案:第一空

溫馨提示

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

評論

0/150

提交評論