完美世界笔试题和面试题答案(完整版)(一)

|来源:新高考网

  小编如下为大家分享的是完美世界的完整版笔试题,大家敬请收藏和练习!
  1、设有矩阵A1(30*35)、A2(35*15)、A3(15*5)、A4(5*10),M=A1*A2*A3*A4,下列组合计算M所需数乘次数最少的是:

  A、(A1(A2(A3A4))) B、(A1((A2A3)A4)) C、((A1A2)(A3A4)) D、((A1(A2A3))A4) E、(((A1A2)A3)A4)

  2、在32位机器上,有如下代码:

  [cpp] view plaincopy

  char array[] = "abcdefg";

  printf("%d\n",sizeof(array)); // 8

  char *p = "abcdefg";

  printf("%d\n",sizeof(p)); // 4

  void func(char p[10])

  {

  printf("%d\n",sizeof(p)); // 4

  }

  void func(char (&p)[10])

  {

  printf("%d\n",sizeof(p)); // 10

  }

  int main(void)

  {

  printf("%d\n",sizeof(char[2])); // 2

  printf("%d\n",sizeof(char&)); // 1

  return 0;

  }

  其输出结果依次为:

  A、8 4 4 10 2 1

  B、4 4 4 10 4 1

  C、8 4 4 10 2 4

  D、8 4 4 4 2 1

  E、8 4 4 10 4 4

  F、以上答案都不对

  3、

  [cpp] view plaincopy

  CONTAINER::iterator iter , tempIt;

  for(iter = cont.begin() ; iter != cont.end() ; )

  {

  tempIt = iter;

  ++iter;

  cont.erase(tempIt);

  }

  假设cont是一个CONTAINER的示例,里面包含数个元素,那么当CONTAINER为:

  1、vector

  2、list

  3、map

  4、deque

  会导致上面的代码片段崩溃的CONTAINER类型是:

  A、1,4 B、2,3 C、1,3 D、2,4

  正确答案选择A(第1个、第4个都是线性的类型存储,所以会存在崩溃)

  4、以下代码

  [cpp] view plaincopy

  class classA

  {

  public:

  classA()

  {

  clear();

  }

  virtual ~classA()

  {

  }

  void clear()

  {

  memset(this , 0 , sizeof(*this));

  }

  virtual void func()

  {

  printf("func\n");

  }

  };

  class classB : public classA

  {

  };

  int main(void)

  {

  classA oa;

  classB ob;

  classA * pa0 = &oa;

  classA * pa1 = &ob;

  classB * pb = &ob;

  oa.func(); // 1

  ob.func(); // 2

  pa0->func(); // 3

  pa1->func(); // 4

  pb->func(); // 5

  return 0;

  }

  A、func func 执行出错 执行出错 func

  B、执行出错 func 执行出错 执行出错 func

  C、执行出错 执行出错 执行出错 执行出错 执行出错

  D、func func func func func

  E、func func 执行出错 func func

  F、以上选项都不对

中国点击率最高的一篇文章 !