牛客網錯題筆記:C/C++專項 :1-10

1 32位平臺上struct{unsigned char a,int b,short c}s;請問s的起始地址下面說法正確的是哪一個?()

正確答案應該是四字節對齊,因爲起始地址應該按照結構體中最大類型的大小對齊。

2  請問以下說法哪個是正確的:

對於選項A,如果定義了有參數的構造函數時,編譯器不再提供無參數的默認構造函數。

選項B:拷貝構造函數可以定義爲刪除的,即爲沒有。

選項D;析構函數只能有一個,因此,正確答案爲C

3 浮點數算數標準是以下哪一個?

A:posix             B:c99          C:c89         D:ieee754

這種題沒有任何意義,爲了筆試。正確答案爲D。

4 以下表達式的正確結果是:

首先b=(a=-1),即b=-1,三目運算符條件爲真(不爲0都是真),因此b=2,

c=(a=0),a=0,爲假,因此a=3,正確答案爲C

5 下面哪個說法是正確的()(多項選擇)

浮點類型的單精度值具有 4 個字節,包括一個符號位、一個 8 位 二進制指數和一個 23 位尾數。由於尾數的高順序位始終爲 1,因此它不是以數字形式存儲的。此表示形式爲 float 類型提供了一個大約在 -3.4E+38 ~ 3.4E+38 之間的範圍。

正確答案:ABCD

6 以下程序段輸出的結果是()

答案爲:5+4+3+2+1+1=16,最後的f(0)也返回1.

7 以下程序段執行後的結果是();

答案爲:1,2,15,因爲short爲兩個字節大小,因此第二次輸出2.

8 關於C++語言中虛函數描述正確的有(不定項選擇)

對於選項A,因此虛函數是依賴於對象的,在構造函數執行完成之前,對象不存在,因此構造函數不可以爲虛函數。

對於選項B,析構函數可以是純虛,不過需要在父類中添加函數體!!!

選項C同A,選項D,在C++中,struct和class一樣,是可以定義虛函數的。

9 c++中,聲明const int i,是在哪個階段做到 i只可讀的?

答案爲編譯階段,const說明變量是常量,常量存儲在常量區,在編譯時就直接將其替換成相應的引用。

10 對於以下程序,哪個函數的調用會有問題?

答案爲FuntionC(),因爲函數本質上是通過類對象的虛表進行訪問,而且類的成員函數除了虛函數,其他都不存儲在類當中,因此類對象不存在的情況下,無法使用虛函數,其他函數都可以正常訪問(前提是這些函數都沒有存取類對象的成員變量) 。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章