就业数据资源平台
当前位置:首页 > C++语言程序设计
2012年计算机二级C++第四套笔试模拟试题及答案解析(3)

(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)函数

就业数据资源平台