C 錯題歸納

2021-10-14 07:58:29 字數 2368 閱讀 6625

1、假定指標變數p定義為"int *p=new int[30];",要釋放p所指向的動態記憶體,應使用語句( )。(1.0分)答案:delete p

知識點:如果釋放的指標式一維陣列以上

需要 delete指標變數名 例:delete p;

2、關於訊息,下列說法中不正確的是( )。(1.0分)

答案:訊息的傳送者必須了解訊息的接收者如何響應訊息

3、儲存以下資料,占用儲存位元組最多的是( )。(1.0分)

答案:0.0

4、對類中常量成員的初始化是通過建構函式中給出的( )實現的。(1.0分)

答案:初始化表

5、假定ab為乙個類,則執行"ab a(2), b[3], *p[4];"語句時共呼叫該類建構函式的次數為( )。(1.0分

答案:4次

解析:宣告指標以及指標陣列並不會呼叫建構函式,a(2)呼叫一次,b[3]呼叫3次,所以總共4次

注意:當指標被賦值就會呼叫建構函式

例如a *pa=new a;

6、假定ab為乙個類,則執行"ab *s=new ab(a,5);"語句時得到的乙個動態物件為 ( )。(1.0分)

答案:*s

s是乙個指標,它指向記憶體中用new建立的乙個動態物件。因此s指向的內容即*s代表該物件

7、物件導向方法的多型性是指( )。(1.0分)

答案:針對一訊息,不同的物件可以以適合自身的方式加以響應

8、假定aa是乙個類,"aa& abc();"是該類中乙個成員函式的原型,若該函式存在對*this賦值的語句,當用x.abc()呼叫該成員函式後,x的值( )。(1.0分)

答案:已經被改變

9、要使語句"p=new int[10][20];"能夠正常執行,p應被事先定義為( )。(1.0分)

答案:int (*p)[20];

10、複雜物件可以由簡單物件構成,這種現象稱為__聚合__。

11、若採用p->abc(y)表示式呼叫乙個成員函式,在成員函式中使用的_this___就代表了類外的p指標。(2.0分)

12、int和float型別的資料分別占用____和____個位元組。(2.0分)

答案:4 4

13、以物件導向方法構造的系統,其基本單位是____。(2.0分)

答案:物件

14、物件將其大部分實現細節隱藏起來,這種機制稱為____。(2.0分)

答案:封裝

15、每個物件都是所屬類的乙個____。

答案:例項

16、假定ab為乙個類,則該類的拷貝建構函式的函式頭為____。(2.0分)

ab(const ab&)

17、假定aa是乙個類,"aa* abc();"是該類中乙個成員函式的原型,則在類外定義時的函式頭為____。(2.0分)

答案: aa* aa::abc();

18、若乙個函式的定義處於呼叫它的函式之前,則在程式開始可以省去該函式的____語句。(2.0分)答案:宣告(或原型)

19、計算函式引數順序引起的二義性是由不同的編譯系統決定的。(0.5分)√

20、指標常量可以指向相應型別的常量。√

21、下列關於虛析構函式的說法中,錯誤的是(1.0分)

答案:如果乙個基類的析構函式被說明為虛析構函式,則它的派生類中的析構函式用virtual關鍵字說明後才是析構函式

虛析構函式的一般格式:virtual ~類名()

知識點:在c++中不能宣告虛建構函式,但是能宣告虛析構函式

22、關於多繼承二義性的描述,( )是錯誤的;

答案:派生類和它的基類**現同名函式時,派生類將對這個成員函式的訪問可能出現二義性

知識點:如果在派生類中定義了與基類成員同名的成員,則稱派生類成員遮蔽了基類的同名成員,為了在派生類中使用基類的同名成員,必須在該成員名之前加上基類名和作用域識別符號」::「

23、下列有關模板的描述那些是錯誤的

答案:類模板即模板類

24、關於異常處理,那些說法是錯誤的

答案:catch子句實際上是乙個特殊函式

25、假定m是乙個類名,且m中過載了操作符=,可以實現m物件間的連續賦值,如"m1=m2=m3;"。過載操作符=的函式原型最好是( )。(1.0分)

答案:m& operator=(m);

26、下列關於抽象類說法中,正確的是

答案:抽象類可以作為一組子類的操作通用介面

知識點:

不能建立抽象類物件

抽象類不能用作引數型別、函式返回型別或顯示轉換的型別,但可以宣告指向抽象類的指標變數,此指標可以指向它的派生類,進而實現多型性

如果在抽象類的派生類中沒有重新說明純虛函式,則該函式在派生類中仍然為純虛函式,而這個派生類仍然是乙個抽象類

C錯題練習

1 strlen 函式 求字串的長度,不包括 0 strlen 所做的僅僅是乙個計數器的工作,它從記憶體的某個位置 可以是字串的開頭,中間某個位置等 開始掃瞄,直到碰到第乙個字串結束符 0 為止,然後返回計數器值 長度不包含 0 原型 unsigned int strlen char s inclu...

c錯題整理

一 1.c 2.b d 3.a 4.c 5.d 6.c 7.c a 8.b 9.d 10.c 11.a 12.c b 13.a 14.d 15.a 16.a b 17.d b 18.b c 19.d 20.b 2.以下選項中正確的 c 語言常量是 a.2.46e 1.5 b.0382 c.123 d...

c易錯題(一)

刷題也有幾天了,把自己刷題過程的錯題整理出來,以便以後不會再犯同樣的錯誤 1.已知int a 3 4 則下列可以表示a 1 2 元素的值的是 a.a 1 2 b.a 1 2 c.a 0 1 2 d.a 0 1 這道題看著不是很難,差不多可以選出a,但是卻不一定理解下邊的選項為啥錯。下邊我來乙個乙個分...