C語言程序設計練習題四及答案_第1頁
C語言程序設計練習題四及答案_第2頁
C語言程序設計練習題四及答案_第3頁
C語言程序設計練習題四及答案_第4頁
C語言程序設計練習題四及答案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、單選題

1、下列哪種C++語法形式不屬于多態(tài)?()

A.不同函數(shù)中定義的同名局部變量

B.重載運算符

C.重載函數(shù)

D.對象多態(tài)

正確答案:A

2、為類ABC定義重載運算符,下列哪種定義形式是正確的?

()

A.定義為類ABC的函數(shù)成員:voidoperator+(){……}

B.定義為類ABC的函數(shù)成員:ABCoperator+(ABCobjl,ABCobj2)

{?}

C.定義為類ABC的友元函數(shù):ABCoperator+(ABCobj){……}

D.定義為類ABC的函數(shù)成員:ABCoperator+(ABCobj){……}

正確答案:D

3、下列關于Liskov準則的描述中,錯誤的是()。

A.派生類的對象不能賦值給基類對象

B.派生類對象的地址可以賦值給基類的對象指針

C.應用Liskov準則,實際上是將派生類對象當作基類對象來使用

D.派生類的對象可以初始化基類引用

正確答案:A

4、定義如下的基類A和派生類B:

classA

public:

virtualvoidfun()〃函數(shù)成員fun被聲明為虛函數(shù)

{cout<<"A::fun()called";}

);

classB:publicA

(

public:

voidfun()//重寫虛函數(shù)成員fun

{cout<<**B::fun()called";}

);

執(zhí)行下列代碼:

A*p;//定義基類A的對象指針p

BbObj;//定義派生類B的對象bObj

P=&bObj;//將基類指針p指向派生類對象bObj

p->fun();//通過基類指針p調用虛函數(shù)成員fun

通過基類指針p調用虛函數(shù)成員fun,將自動調用哪個函數(shù)?()

A.A::fun()

B.先調用A::fun(),再調用B::fun()

C.B::fun()

D.語法錯誤

正確答案:c

5、下列關于對象多態(tài)性的描述中,錯誤的是()。

A.通過基類引用訪問派生類對象的虛函數(shù)成員,將自動調用基類的函

數(shù)成員

B.通過基類對象指針訪問派生類對象的虛函數(shù)成員,將自動調用派生

類的函數(shù)成員

C.應用對象多態(tài)性的目的是為提高程序代碼的可重用性

D.應用對象多態(tài)性,實際上是用基類來代表派生類

正確答案:A

6、下列關于虛函數(shù)的描述,錯誤的是()o

A.基類中聲明的虛函數(shù)成員被繼承到派生類后仍是虛函數(shù)

B.類中的靜態(tài)函數(shù)、構造函數(shù)、析構函數(shù)都可以是虛函數(shù)

C.聲明虛函數(shù)需使用關鍵字virtual

D.只有虛函數(shù)成員才會在調用時表現(xiàn)出多態(tài)性

正確答案:B

7、下列關于純虛函數(shù)的描述,錯誤的是()o

A.含有純虛函數(shù)成員的類被稱為抽象類

B.純虛函數(shù)在實現(xiàn)之后就是一個正常的虛函數(shù),會在調用時表現(xiàn)出多

態(tài)性

C.純虛函數(shù)沒有函數(shù)體

D.定義純虛函數(shù)的目的是為了重用其算法代碼

正確答案:D

8、下列關于抽象類的描述,錯誤的是()。

A.不能用抽象類定義對象,即抽象類不能實例化

B.可以用抽象類定義對象引用,引用其派生類對象

C.可以用抽象類定義對象指針,指向其派生類對象

D.抽象類的派生類一定是抽象類

正確答案:D

9、下列關于多繼承的描述,錯誤的是()o

A.多繼承會造成從不同基類所繼承的成員之間互相重名

B.派生類可以從多個基類繼承,這就是多繼承

C.多繼承時,不同基類必須使用相同的繼承方式

D.多繼承時,派生類不能繼承基類的構造和析構函數(shù)

正確答案:C

10、派生類從基類A和B各繼承了一個數(shù)據(jù)成員X。如需訪問派生類

對象obj中從基類A繼承來的成員x,下列哪種訪問形式是正確的?

()

A.obj.x

B.obj.A::x

C.obj.B::x

D.obj.A.x

正確答案:B

IK下列關于輸入/輸出的描述中,錯誤的是()。

A.格式化輸入/輸出是在二進制與十進制之間進行格式轉換

B.輸入是將數(shù)據(jù)輸入到內存變量中

C.輸出是將內存中的數(shù)據(jù)輸出到某個輸出設備

D.內存中的數(shù)據(jù)是以二進制存儲的

正確答案:A

12、下列關于輸入/輸出的描述中,錯誤的是()。

AC++語言是以輸入/輸出流對象的形式提供輸入/輸出功能

B.cin、cout是流類庫中預定義的流對象

CC++語言通過關鍵字cin/cout以語句的形式提供輸入/輸出功能

D.C語言以系統(tǒng)函數(shù)的形式提供輸入/輸出功能

正確答案:C

13、C++流類庫中不包括下列哪種操作?()

A標準I/O

B.文件I/O

C系統(tǒng)函數(shù)scanf/printf

D.字符串I/O

正確答案:C

14、下列關于流類庫的描述中,錯誤的是()。

A.流類庫中總共定義了3個類

B.流類庫是一個以類ios為基類的類族

C.流類庫的作用主要是為C++語言提供輸入/輸出功能

D.流類庫是C++語言的附屬組成部分

正確答案:A

15、下列關于通用輸入流類的描述中,錯誤的是()。

A.通用輸入流類istream只提供了提取運算符“>>”這一種輸入方法

B.提取運算符是一種格式化輸入方法

C.流類庫中,通用輸入流類的類名為istream

D.通用輸入流類istream重載了右移運算符,稱為提取運算符

正確答案:A

16、下列哪種方法不能實現(xiàn)換行顯示?()

A.cout<<"\n";

B.cout<<endl;

C.cout<<An';

D.cout<<<n';

正確答案:D

17、下列關于文本文件的描述中,錯誤的是()。

A.文本文件便于人的閱讀

B.文本文件所存儲的內容是一個字符序列

C.文本文件存儲的是純文本內容,而且使用的是標準編碼

D.文本文件不能用于程序與程序之間的數(shù)據(jù)交換

正確答案:D

18、下列關于二進制文件的描述中,錯誤的是()。

A.二進制文件以內存的二進制存儲格式來在外存上存儲數(shù)據(jù)

B.將內存中二進制數(shù)據(jù)保存到二進制文件時,需要進行格式轉換

C.和文本文件相比,二進制文件的讀寫速度快

D.和文本文件相比,二進制文件的通用性差

正確答案:B

19、下列定義字符串類string對象的語句中,錯誤的是()。

A.stringstr="Hello,world";

B.stringstr='Hello,world,;

C.stringstr("Hello,world");

□.stringstr;

正確答案:B

20、執(zhí)行下列語句:

istringstreamstrin('38.5");

doublex=0,y=0;

strin>>x>>y;

執(zhí)行后變量x和y的值分別為()。

A.8.5,3.0

B.3.0,8.5

C.3,8

D.0,0

正確答案:B

21、下列關于函數(shù)模板的描述中,錯誤的是()o

A.函數(shù)模板通過數(shù)據(jù)類型參數(shù)化,將一組算法相同但所處理數(shù)據(jù)類型

不同的重載函數(shù)凝練成一個函數(shù)模板

B.函數(shù)模板不能提高函數(shù)代碼的可重用性

C.定義函數(shù)模板以關鍵字“template”開頭

D.編譯時,由編譯器按照函數(shù)模板自動生成針有不同數(shù)據(jù)類型的重載

函數(shù)定義代碼

正確答案:B

22、已定義如下函數(shù)模板:

template<typenameT>Tmax(Tx,Ty){……}

則編譯模板函數(shù)調用語句:cout<<max(3.5f,6.2f);將自動生成下列

哪個函數(shù)定義代碼?()

A.floatmax(floatx,floaty){......}

B.shortmax(shortx,shorty){……}

C.intmax(intx,inty){……}

D.doublemax(doublex,doubley){......}

正確答案:A

23、下列關于類模板的描述中,錯誤的是()。

A.類模板通過數(shù)據(jù)類型參數(shù)化,將一組功能相同但所處理數(shù)據(jù)類型不

同的類凝練成一個類模板

B.類模板可以提高類代碼的可重用性

C.編譯時,由編譯器按照類模板自動生成針對不同數(shù)據(jù)類型的類定義

代碼

D.定義類模板以關鍵字“class”開頭

正確答案:D

24、已定義如下的類模板:

template<typenameT,typenameTT>

classABC

{……}:

則下列對象定義語句中,錯誤的是()o

A.ABC〈double,double〉obj;

B.ABC<short,long>obj;

C.ABC<int,char>obj;

D.ABCobj;

正確答案:D

25、已定義如下類模板:

template<typenameT>classABC{......};

則下列哪條語句是錯誤的?()

A.classDerived:publicABC<double>{......}

B.typedefABC<double>DoubleABC;

C.ABCobj;

0.template<typenameT,typenameTT>classDerived:publicABC

<T>{……}

正確答案:c

26、下列關于類模板的描述中,錯誤的是()

A?類模板禁止被繼承

B.類模板可以提高類代碼的可重用性

C.類模板可以戒少源程序代碼量

D.類模板可以被實例化

正確答案:A

27、下列關于C++標注庫的描述中,錯誤的是()。

A.流類庫是C++標準庫的組成部分

BC++標準庫在編寫時沒有采用模板技術

CC++語言以標準庫的形式為程序員提供了很多常用的函數(shù)和類

DC++標準庫擴展了C++語言的功能,使程序員可以在更高的起點上

開發(fā)程序

正確答案:B

28、異常處理機制主要解決下列哪種錯誤?()

A.語義錯誤

B.注釋錯誤

C.語法錯誤

D.運行時錯誤

正確答案:D

29、C++語言中負責捕捉異常的語句是?()

A.throw語句

B.try子句

C.if語句

D.catch子句

正確答案:D

30、下列關于異常的描述中,錯誤的是()o

A.異常表達式結果的數(shù)據(jù)類型被用于區(qū)分不同類型的異常

B.catch(...彤式的子句捕捉不到任何一種類型的異常

C.異常表達式結果的值被用于描述異常的詳細信息

D.每個catch子句通常只負責捕捉并處理一種類型的異常

正確答案:B

31、不屬于數(shù)據(jù)集合基本存儲結構的是()。

A.單向鏈表

B.結構體

C.數(shù)組

D.雙向

溫馨提示

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

評論

0/150

提交評論