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
广告