下面这些题目都是我之前准备笔试面试过程中积累的,大部分都是知名公司的笔试题,C++基础薄弱的很容易栽进去。我从中选了10道简单的题,C++初学者可以进来挑战下,C++大牛也可以作为娱乐玩下(比如下面的第6题)。为了便于大家思考,将题目与答案分开,不过无论题目本身如何,我觉得后面的解析过程更值得学习,因为涉及很多我们学习C++过程中必知必会的小知识点 。
  第一部分:题目
  如下函数,在32 bit系统foo(2^31-3)的值是:()
  int foo(int x)
  {
  return x&-x;
  }
  A:0 B: 1 C: 2 D: 4
  运算符优先级
  unsigned char i=0x80;
  printf("0x%x ", ~i>>3+1);
  输出什么?
  静态对象是否调用构造函数?

 

#include <iostream>
using namespace std;
class A
{
public:
A() { cout << "A's Constructor Called " << endl;  }
};
class B
{
static A a;
public:
B() { cout << "B's Constructor Called " << endl; }
};
int main()
{
B b;
return 0;
}

 

  union问题

 

#include <stdio.h>
union
{
int i;
char x[2];
}a;
int main()
{
a.x[0] = 10;
a.x[1] = 1;
printf("%d",a.i);
return 0;
}

 

  下面代码会报错吗?为什么?
  class A {
  public:
  int m;
  void print() {  cout << "A ";  }
  };
  A *pa = 0;
  pa->print();