C++模擬題1答案-2023修改整理_第1頁
C++模擬題1答案-2023修改整理_第2頁
C++模擬題1答案-2023修改整理_第3頁
C++模擬題1答案-2023修改整理_第4頁
C++模擬題1答案-2023修改整理_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

千里之行,始于足下。第2頁/共2頁精品文檔推薦C++模擬題1答案C++程序設計模擬試卷(一)

一、單項挑選題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中

惟獨一具是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無

分。

1.編寫C++程序普通需通過的幾個步驟依次是()

A.編輯、調試、編譯、連接

B.編輯、編譯、連接、運行

C.編譯、調試、編輯、連接

D.編譯、編輯、連接、運行

答案:B

解析:(P21)通過編輯、編譯、連接和運行四個步驟。編輯是將C++源程序輸入計算機的過程,保

存文件名為cpp。編譯是使用系統提供的編譯器將源程序cpp生成機器語言的過程,目標文件為

obj,由于沒有得到系統分配的絕對地址,還別能直截了當運行。連接是將目標文件obj轉換為可執(zhí)行

程序的過程,結果為exe。運行是執(zhí)行exe,在屏幕上顯示結果的過程。

2.決定C++語言中函數的返回值類型的是()

A.return語句中的表達式類型

B.調用該函數時系統隨機產生的類型

C.調用該函數時的主調用函數類型

D.在定義該函數時所指定的數據類型

答案:D

解析:(P51)函數的返回值類型由定義函數時的指定的數據類型決定的。A項的表達式的值要轉換

成函數的定義時的返回類型。

3.下面敘述別正確的是()

A.派生類普通都用公有派生

B.對基類成員的拜訪必須是無二義性的

C.賦值兼容規(guī)則也適用于多重繼承的組合

D.基類的公有成員在派生類中仍然是公有的

答案:D

解析:(P136)繼承方式有三種:公有、私有和愛護。多繼承中,多個基類具有同名成員,在它們

的子類中拜訪這些成員,就產生了二義性,但舉行拜訪時,別能存在二義性。賦值兼容規(guī)則是指

派生類對象能夠當作基類對象使用,只要存在繼承關系,因此單繼承或多繼承都適用。基類中的

公有成員采納私有繼承時,在派生類中變成了私有成員,因此D項錯誤。

4.所謂數據封裝算是將一組數據和與這組數據有關操作組裝在一起,形成一具

實體,這實體

也算是()

A.類

B.對象

C.函數體

D.數據塊

答案:A

解析:(P39)類即數據和操作的組合體,數據是類的靜態(tài)特征,操作是類具有的動作。

5.在公有派生類的成員函數別能直截了當拜訪基類中繼承來的某個成員,則該成員一定是基類中

的()

A.私有成員

B.公有成員

C.愛護成員

D.愛護成員或私有成員

答案:A

解析:(P133)在派生類中基類的愛護或者基類公有都能夠直截了當拜訪,基類的私有成員只能是基類

的成員函數來拜訪。因此挑選A項。

6.對基類和派生類的關系描述中,錯誤的是()

A.派生類是基類的具體化

B.基類繼承了派生類的屬性

C.派生類是基類定義的連續(xù)

D.派生類是基類的特別化

答案:B

解析:(P129)派生類的成員一具是來自基類,一具來自本身,因此派生類是基類的擴展,也是基

類的具體化和特別化,派生類是對基類擴展。B項基類別能繼承派生類成員,因此錯誤。

7.對于this指針使用講法正確的是()

A.保證每個對象擁有自個兒的數據成員,但共享處理這些數據的代碼

B.保證基類私有成員在子類中能夠被拜訪。

C.保證基類愛護成員在子類中能夠被拜訪。

D.保證基類公有成員在子類中能夠被拜訪。

答案:A

解析:(P86)this指針是躲藏的,能夠使用該指針來拜訪調用對象中的數據?;惖某蓡T在派生

類中能否拜訪,與繼承方式有關,與this沒有關系。因此挑選A項。

8.所謂多態(tài)性是指()

A.別同的對象調用別同名稱的函數

B.別同的對象調用相同名稱的函數

C.一具對象調用別同名稱的函數

D.一具對象調用別同名稱的對象

答案:B

解析:(P167)多態(tài)性有兩種靜態(tài)多態(tài)性和動態(tài)多態(tài)性,靜態(tài)多態(tài)性是指調用同名函數,由于參數

的別同調用別同的同名函數;動態(tài)多態(tài)性是指別同對象調用同名函數時,由于對象別同調用別同

的同名函數。多態(tài)性確信具有相同的函數名,因此挑選B項。

9.一具函數功能別太復雜,但要求被頻繁調用,則應把它定義為()

A.內聯函數

B.重載函數

C.遞歸函數

D.嵌套函數

答案:A

解析:(P59)內聯函數特征代碼少,頻繁調用,執(zhí)行效率高。重載函數解決統一接口的咨詢題;遞

歸是子程序調用,程序調用要耗費非常多空間和時刻,循環(huán)/迭代都比遞歸有效率得多,遞歸不過

從形式上,邏輯比較簡潔。嵌套函數即反復調用,速度較慢。因此挑選A項。

10.下面函數模板定義中別正確的是()

A.A

B.B

C.C

D.D

答案:A

解析:(P147)A項中F是一具返回Q類型的值,而return中用返回類型作為返回值錯誤。因此挑選

A項。

11.假設ClassY:publicX,即類Y是類X的派生類,則講明一具Y類的對象時和刪除Y類對象時

,調用構造函數和析構函數的次序分不為()

A.X,Y;Y,X

B.X,Y;X,Y

C.Y,X;X,Y

D.Y,X;Y,X

答案:A

解析:(P130)派生類構造函數必須對這三類成員舉行初始化,其執(zhí)行順序:調用基類構造函數

;調用子對象的構造函數;派生類的構造函數體。析構函數在執(zhí)行過程中也要對基類和成員對象

舉行操作,但它的執(zhí)行過程與構造函數正好相反,即對派生類新增一般成員舉行清理;調用成員

對象析構函數,對派生類新增的成員對象舉行清理;調用基類析構函數,對基類舉行清理,因此

挑選A項。

12.適宜采納inline定義函數事情是()

A.函數體含有循環(huán)語句

B.函數體含有遞歸語句

C.函數代碼少、頻繁調用

D.函數代碼多、別常調用

答案:C

解析:(P59)內聯函數具有程序代碼少、頻繁調用和執(zhí)行效率高的特征,因此挑選C項。

13.假定一具類的構造函數為A(intaa,intbb){a=aa--;b=a*bb;},則執(zhí)行Ax(4,5);語句后

,x.a和x.b的值分不為()

A.3和15

B.5和4

C.4和20

D.20和5

答案:C

解析:(P75)a=4,因為后減,b的值與a、bb相關,b=4*5=20,而與aa沒有任何關系。

14.在類中講明的成員能夠使用關鍵字的是()

A.public

B.extern

C.cpu

D.register

答案:A

解析:extern用于聲明外部變量的。register聲明寄存器類型變量。無cpu類型。它們都別能聲

明類成員。public聲明為公有拜訪權限,因此挑選A項。

15.下列別能作為類的成員的是()

A.自身類對象的指針

B.自身類對象

C.自身類對象的引用

D.另一具類的對象

答案:B

解析:類的定義,假如有自身類對象,使得循環(huán)定義,B項錯誤。在類中具有自身類的指針,可

以實現鏈表的操作,固然也能夠使用對象的引用。類中能夠有另一具類的對象,即成員對象。所

以挑選B選項。

16.使用地址作為實參傳給形參,下列講法正確的是()

A.實參是形參的備份

B.實參與形參無聯系

C.形參是實參的備份

D.實參與形參是同一對象

答案:D

解析:(P51)地址作為實參,表示實參與形參代表同一具對象。假如實參是數值,形參也是一般

變量,此刻形參是實參的備份。因此挑選D項。

17.下列程序的輸出結果是()

#include

voidmain()

{intn[][3]={10,20,30,40,50,60};

int(*p)[3];

p=n;

cout。

p表示指向數組n的行指針。假如將指針的初始化(*p)[3]=b;地址的等價形式:p+ip[i]*(p+i)都表示b數組第i+1行的第1個元素的首地址。

*(p+i)+jp[i]+j&p[i][j]都表示b數組第i+1行、第j+1列元素的地址。值的等價形式:

*(*(p+i)+j)*(p[i]+j)p[i][j]都表示b數組第i+1、第j+1列元素的值。因此題目分不拜訪p[0][0],p[0][1],p[0][2]。

18.在C++中,使用流舉行輸入輸出,其中用于屏幕輸入()

A.cin

B.cerr

C.cout

D.clog

答案:A

解析:(P193)(1)標準輸入流cin:istream類的對象。(2)標準輸出流cout:ostream類的對象。

(3)非緩沖型標準出錯流cerr:ostream類的對象。(4)緩沖型標準出錯流clog:ostream類的對象

19.假定AA為一具類,a()為該類公有的函數成員,x為該類的一具對象,則拜訪x對象中函數

成員a()的格式為()

A.x.a

B.x.a()

C.x->a

D.(*x).a()

答案:B

解析:(P41)對象拜訪成員的方式為:對象名.成員。指針能夠有兩種:(*對象指針).成員或者對

象指針->成員。A選項是拜訪數據成員,B項是拜訪成員函數。

20.對于對象概念的描述中,講法錯誤的是()

A.對象算是C語言中的結構變量

B.對象代表著正在創(chuàng)建的系統中的一具實體

C.對象是類的一具變量

D.對象之間的信息傳遞是經過消息舉行的

答案:A

解析:(P37)A對象在C++中才有,包括數據和操作兩項,而C中的變量惟獨數據,沒有操作。所

以A項錯誤。

二、填空題(本大題共20小題,每小題1分,共20分)請在每小題的空格中填上正確答案

。錯填、別填均無分。

1.C++的流庫預定義了4個流,它們是cin、cout、clog和___。

答案:(P193)cerr

[解析]cin、cout、clog和cerr分不用于標準輸入、輸出、標準錯誤流(緩沖)和標準錯誤流

(非緩沖)。

2.每個對象基本上所屬類的一具___。

答案:(P69)實例

[解析]類是對象的抽象,對象是類的一具實例。

3.在差不多定義了整型指針ip后,為了得到一具包括10個整數的數組并由ip所指向,應使用語

句___。

答案:(P78)int*ip=newint[10];

[解析]new用來動態(tài)開發(fā)空間。常用來產生動態(tài)數組及對象構造函數。

4.函數模板中緊隨template之后尖括號內的類型參數都要冠以保留字___。

答案:(P145)class

[解析]類模板的使用。template,也能夠引入多參數的如:template

5.定義類的動態(tài)對象數組時,系統只可以自動調用該類的___構造函數對其舉行初始化。

答案:(P80)無參

[解析]使用new創(chuàng)建對象數組,調用無參構造函數。

6.表達式cout

[解析]指針使用成員有兩種辦法:“->”指向運算符和“.”成員拜訪運算符。

8.如果一具類的名稱為MyClass,使用那個類的一具對象初始化該類的另一具對象時,能夠調

用___構造函數來完成此功能。

答案:(P80)復制或拷貝

復制或拷貝構造函數算是用對象初始化新的對象。

9.對賦值運算符舉行重載時,應聲明為___函數。

答案:(P183)類成員

[解析]運算符重載的辦法有友元或者成員函數兩種途徑,然而賦值運算符只能使用成員函數的

辦法來實現。

10.假如要把A類成員函數f()且返回值為void聲明為類B的友元函數,則應在類B的定義中加

入的語句___。

答案:(P109)friendvoidA::f();

[解析]成員函數作為另一具類的友元函數,格式為:friend返回類型類名::函數(形參)。

11.下列程序段的輸出結果是___。

for(i=0,j=10,k=0;iV2(V1);

[解析]采納向量初始化另一具向量的形式:vectorname1(name);三、改錯題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯誤,請用下

橫線標出錯誤所在行并給出修改意見。

1.#include

classTest

{private:

intx,y=20;

public:

Test(inti,intj){x=i,y=j;}

intgetx(){returnx;}

intgety(){returny;}

};

voidmain()

{Testmt(10,20);

cout

classTest

{intx,y;

public:

fun(inti,intj)

{x=i;y=j;}

show()

{cout

classA

{inti;

public:

溫馨提示

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

評論

0/150

提交評論