c 試題庫 整理

2022-11-02 09:21:03 字數 4291 閱讀 1558

2009-2010學年第二學期

計算機系《物件導向程式設計c++》期末考試試卷(b卷)

一、填空題

1.在說明引用時用const修飾的引用為常引用,它所引用的物件不允許更改。

2.資訊隱藏是指將物件的資料和操作隱藏起來的技術。

3.執行時多型性主要是通過虛函式來實現的。

4.類的物件成員的建構函式的呼叫次序取決於這些物件成員在類中宣告的次序,與它們在初始化列表**現的次序無關。

5.拷貝建構函式是一種特殊的建構函式,其形參是本類物件的引用;其作用是使用乙個已經存在的物件去初始化另乙個同類的物件。

6.在c++中,可以通過在運算子函式引數表中是否插入關鍵字int來區分字首和字尾這兩種方式。

7.建構函式是一種特殊的成員函式,它主要用來為物件分配記憶體空間,對類的資料成員進行初始化並執行物件的其他內部管理操作。

8.如果在乙個類中說明了常資料成員,那麼建構函式就只能通過成員初始化列表對該資料成員進行初始化, 任何其他函式都不能對該成員賦值。

9.聯編是指將函式呼叫與相應函式體**彼此關聯的過程。若此過程在程式開始執行前的編譯時完成,則稱之為靜態聯編。

10.乙個非成員函式必須宣告為乙個類的 friend 才有可能訪問該類的私有資料成員。

二、判斷題

1.如果類中含有指標型別的資料,深拷貝就會產生錯誤

2. 類模板不是代表乙個具體的、實際的類, 而是代表著一類類

3. 常常用將類的下標運算子 [ ] 過載為友元函式

4. 類型別轉換函式既沒有引數, 也不顯式給出返回型別

5. 動態聯編在程式執行階段完成的聯編

6. 編譯時多型性主要是通過函式過載和運算子過載實現的

7. c++中的類屬關係運算子「.」也可以過載

8. 建構函式的名字必須與類名相同,其返回型別預設為void型別

9. 允許將乙個宣告為指向派生類物件的指標指向其基類的乙個物件

10. 常物件只能呼叫它的常成員函式, 而不能呼叫普通的成員函式

三、選擇題:

1.有關運算子過載正確的是( d )

a) c++語言允許在過載運算子時改變運算子的操作個數

b) c++語言允許在過載運算子時改變運算子的優先順序

c) c++語言允許在過載運算子時改變運算子的結合性

d) c++語言允許在過載運算子時改變運算子的原來的功能

2. 類的析構函式的作用是( d )

a)一般成員函式 b)類的初始化 c)物件的初始化 d)刪除類建立的所有物件

3. 什麼樣的成員函式不能修改資料成員?( c )

a) 私有成員函式 b)公有成員函式 c)常量成員函式 d)所有成員函式

4. 可以被物件之外訪問的成員是( b )

a) 私有成員函式 b) 公有成員函式 c) 常量成員函式 d) 所有成員函式

5. 類的例項化是指( a )

a) 建立類物件 b) 定義類 c)呼叫類的成員 d)指明具體的類

6. 要實現動態聯編,派生類中的虛函式( d )

a) 返回的型別可以與虛函式的原型不同

b) 引數個數可以與虛函式的原型不同

c) 引數型別可以與虛函式的原型不同

d) 以上都不對

7. 類的建構函式是在什麼時間被自動呼叫的?( b )

a)類建立時 b)建立物件時 c)刪除物件時 d)不自動呼叫

8. 多重繼承是( b )。

a) 多個單一繼承的疊加     b) 匯出類有多個直接基類

c) 多個匯出類有唯一的基類

d) 每個匯出類最多只有乙個直接基類,但它可以有多個間接基類

9、c++對c語言作了很多改進,下列描述中( d )使得c語言發生了質變,即從面向過程變成了物件導向。

a) 增加了一些新的運算子 b) 允許函式過載,並允許設定預設引數

c) 規定函式說明必須用原型 d) 引進了類和物件的概念

10. 關於虛函式,正確的描述是( a )

a) 建構函式不能是虛函式  b) 析構函式不能是虛函式

c) 虛函式可以是友元函式  d) 虛函式可以是靜態成員函式

一、選擇題(每小題3分,共48分。)

01、下列關於c++函式的敘述中,正確的是( c )。

a)每個函式至少要具有乙個引數 b)每個函式都必須返回乙個值

c)函式在被呼叫之前必須先宣告 d)函式不能自己呼叫自己

02、下列關於類和物件的敘述中,錯誤的是( a )。

a)乙個類只能有乙個物件 b)物件是類的具體例項

c)類是對某一類物件的抽象 d)類和物件的關係是一種資料型別與變數的關係

03、在c++中,用於實現執行時多型性的是( d )。

a)內聯函式 b)過載函式 c)模板函式 d)虛函式

04、下列關於運算子過載的敘述中,正確的是( b )。

a)通過運算子過載,可以定義新的運算子 b)有的運算子只能作為成員函式過載

c)若過載運算子+,則相應的運算子函式名是+ d)過載二元運算子時,必須宣告兩個形參

05、對於語句 cout< a)「cout」是乙個輸出流物件 b)「endl」的作用是輸出回車換行

c)「x」是乙個變數d)「<<」稱作提取運算子

06、有如下類宣告,則類myderived中保護的資料成員和成員函式的個數是( b )。

class mybase

int get( )const };

class myderived: protected mybase

int get( ) const };

a)4 b)3 c)2 d)1

07、已知在乙個類體中包含如下函式原型: volume operator-(volume)const;,下列關於這個函式的敘述中,錯誤的是( b )。

a)這是運算子-的過載運算子函式  b)這個函式所過載的運算子是乙個一元運算子

c)這是乙個成員函式d)這個函式不改變類的任何資料成員的值

08、執行如下的程式段後,輸出結果是( a )。

'*'); '#'); cout << 123 << endl;

a)###123 b)123### c)***123 d)123***

09、在下列函式原型中,可以作為類aa建構函式的是( d )。

a)void aa(int); b)int aa(); c)aa(int)const; d)aa(int);

10、下面四個選項中,( a )是用來宣告虛函式的。

a)virtual b)public c)include d)using namespace

11、實現執行時的多型性要使用( d )。

a)過載函式 b)建構函式 c)析構函式 d)虛函式

12、要實現動態聯編,必須通過( a )呼叫虛函式。

a)物件指標 b)成員名限定 c)物件名 d)派生類名

13、以下( c )成員函式表示純虛函式。

a)virtual int vf(int); b)void vf(int)=0;

c)virtual void vf()=0; d)virtual void vf(int){}

14、有如下類宣告:class xa

private: int x;

public: xa(int n) };

class xb: public xa

private: int y;

public: xb(int a,int b); };

在建構函式xb的下列定義中,正確的是(b )。

a)xb::xb(int a,int b): x(a),y(b) b)xb::xb(int a,int b): xa(a),y(b)

c)xb::xb(int a,int b): x(a),xb(b) d)xb::xb(int a,int b): xa(a),xb(b)

15、在表示式 x+y*z中, + 是作為成員函式過載的運算子,* 是作為非成員函式過載的運算子。則 operator+ 有個引數,operator* 有引數。(c )

a)2、2 b)2、1 c)1、2 d)1、1

16、應在下列程式劃線處填入的正確語句是( c )。

class base

{ public:

void fun(){cout<<"base::fun"< class derived:public base

{ void fun()

C 考試題庫

一 選擇題,每題1分,共40分 下列各題a b c d 四個選項中,只有乙個選項是正確的,請將正確選項填寫在答題卡相應位置上,答在試卷上不得分 1 以下程式段中與語句k a b?b c?1 0 0 功能等價的是 a if a b b c k 1 b if a b b c k 1 else k 0el...

C 考試題庫

江西財經大學 10 11第一學期期末考試上機考試100題 試卷 18095授課課時 96考試用時 180分鐘 課程名稱 c 程式設計 軟體適用物件 軟體工程4班 專公升本 試卷命題人試卷審核人 一 第一類題目 50道,每題7分,在word中保留 並將輸出結果視窗保留 1.求圓的面積。圓的半徑從1到1...

C證面試題庫

中小學心理健康教育教師c級資格證書面試試題2 心理健康教育活動課構思與設計 一 活動內容範圍 如何幫助學生增強自信心?請根據所指定的活動內容範圍,以自己所在學校的學生為物件,構思與設計一堂心理健康教育活動課,並簡述各項設計安排的主要理論依據。時間不超過10分鐘。敘述中應包括以下內容 1 本堂活動課的...