2012年计算机二级C++第四套笔试模拟试题及答案分析

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

本文导航
  • 第1页:选择题(1)—(10)
  • 第2页:选择题(11—(20)
  • 第3页:选择题(21)—(30)
  • 第4页:选择题(31)—(35)
  • 第5页:填空题(1)—(13)
  • 第6页:参考答案及分析

  (21)执行下列程序段,结果是

  #include

  void main()

  { int x=40;

  char y=′C′;

  int n;

  n=(x&0xff)&&(y>′B′);

  cout << n;}

  A)0

  B)1

  C)2

  D)3

  (22)关于this指针的说明不正确的是

  A)不能在程序中修改this指针

  B)this指针可以给其他指针赋值,但不能修改this指针

  C)静态成员函数中没有this指针

  D)this指针可以被赋值

  (23)下面程序的结果是

  #include

  class A

  { public:

  A(){cout << "construtA" << endl;}

  virtual ~A(){cout << "destructA" << endl;}};

  class B : public A

  { };

  class C : public A

  { };

  class D : public B,public C

  { };

  void main()

  {D d;}

  A)constructA

  destructA

  B)constructA

  constructA

  destructA

  destructA

  C)constructA

  constructA

  constructA

  destructA

  destructA

  destructA

  D)constructA

  constructA

  constructA

  constructA

  destructA

  destructA

  destructA

  destructA

  (24)关于虚函数下面说的正确的是

  A)若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

  B)虚函数不能声明为友元

  C)子类必须重定义父类的虚函数

  D)虚函数不能是static的

  (25)如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为

  A)(operator++(x)).operator/(y)

  B)(operator++(0)).operator/(y)

  C)operator/((operator++(x,0)),y)

  D)operator/((operator++(0)),y)

  (26)要想使23.78965421的输出为23.7887应用的语句是

  A)cout << 23.78965421;

  B)cout << fixed << 23.78965421;

  C)cout << 23.78965421 -0.001;

  D)cout << fixed << 23.78965421 - 0.001;

  (27)有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)

  int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

  A)a[p-a]

  B)*(&a[i])

  C)p[i]

  D)*(*(a+i))

  (28)有以下程序

  #include

  float fun(int x,int y)

  { return(x+y); }

  void main()

  { int a=2,b=5,c=8;

  cout << fun((int)fun(a+c,b),a-c);}

  程序运行后的输出结果是

  A)编译出错

  B)9

  C)21

  D)9.0

  (29)下列程序的运行结果是

  #include

  class Location {

  private:

  int X, Y;

  public:

  void init(int=0, int=0);

  void valueX( int val ){X=val;}

  int valueX(){ return X;}

  void valueY(int val){Y=val;}

  int valueY( ){return Y;}};

  void Location::init(int initX, int initY)

  { X=initX;

  Y=initY;}

  void main( )

  { Location A,B;

  A.init( );

  A.valueX (5);

  cout <  B.init(6,2);

  B.valueY (4);

  cout<  A)5

  0

  6

  4

  B)0

  0

  6

  4

  C)5

  0

  6

  2

  D)0

  0

  6

  2

  (30)在C++语言中,封装是借助于什么达到的?

  A)结构

  B)类

  C)数组

  D)函数

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答