C++線上測驗



以下測驗提供與C++框架相關的多項選擇題 (MCQ)。您需要閱讀所有給出的答案並點選正確的答案。如果您不確定答案,可以使用顯示答案按鈕檢視答案。您可以使用下一題按鈕檢視測驗中的新一組問題。

Questions and Answers

題 1 - 下列程式的輸出是什麼?

#include<iostream>

using namespace std;
class abc { 
   public: 
      static int x; 
      int i; 

      abc() {
         i = ++x;
      }
   };
int abc::x;

main() { 
   abc m, n, p;
   
   cout<<m.x<<" "<<m.i<<endl;
}

A - 3 1

B - 3 3

C - 1 1

D - 1 3

答案:A

解釋

靜態成員變數“x”在為該類建立的所有物件之間共享公共記憶體。

#include<iostream>

using namespace std;
class abc { 
   public: 
      static int x; 
      int i; 

      abc() {
         i = ++x;
      }
   };
int abc::x;

main() { 
   abc m, n, p;
   
   cout<<m.x<<" "<<m.i<<endl;
}

題 2 - C++中可以使用哪種資料型別來儲存寬字元?

A - unsigned char;

B - int

C - wchar_t

D - 以上都不是。

答案:C

解釋

wchar_t是我們可以用來儲存Unicode字元的資料型別。

題 3 - 執行時多型性是使用什麼實現的。

A - 函式過載

B - 虛類

C - 虛擬函式

D - 友元函式

答案:C

解釋

虛擬函式能夠將基類的功能重寫到派生類中,從而實現動態/執行時多型性。

題 4 - 類的解構函式可以接收多少個引數?

A - 0

B - 1

C - 2

D - 以上都不是。

答案:A

解釋

解構函式不接收任何引數,並且只能提供一種形式。因此,解構函式不能過載。

答案:D

解釋

選項 (a)、(b) 和 (c) 都適用。

答案:A

解釋

題 7 - 下列程式的輸出是什麼?

#include <iostream>
using namespace std;
 
int main () {
   // local variable declaration:
   int x = 1;

   switch(x) {
   case 1 :
      cout << "Hi!" << endl; 
      break;
   default :
      cout << "Hello!" << endl;
   }
}

A - Hello

B - Hi

C - HelloHi

D - 編譯錯誤

答案:B

解釋

Hi,在比較其餘情況常量後,控制到達default-case。

#include <iostream>
using namespace std;
 
int main () {
   // local variable declaration:
   int x = 1;

   switch(x) {
   case 1 :
      cout << "Hi!" << endl; 
      break;
   default :
      cout << "Hello!" << endl;
   }
}

答案:B

解釋

編譯是將高階語言語句轉換為等效機器程式碼(即物件程式碼)的過程。

題 9 - 下列程式的輸出是什麼?

#include<iostream>

using namespace std;
void f() {
	static int i = 3;
   
	cout<<i;
	if(--i) f();
}
main() {
	f();
}

A - 3 2 1 0

B - 3 2 1

C - 3 3 3

D - 編譯錯誤

答案:B

解釋

由於靜態變數保留來自函式呼叫的值,因此遞迴發生三次。

#include<iostream>

using namespace std;
void f() {
	static int i = 3;
   
	cout<<i;
	if(--i) f();
}
main() {
	f();
}

題 10 - i) 可以使用條件語句來跟蹤和控制異常。

ii) 對於嚴重的異常,編譯器提供處理程式

A - 只有 (i) 為真

B - 只有 (ii) 為真

C - (i) 和 (ii) 都為真

D - (i) 和 (ii) 都為假

答案:B

解釋

條件語句用於根據某些條件採取替代操作,但不進行多分支。C++也提供一些關鍵的異常處理程式。

cpp_questions_answers.htm
廣告