几道c笔试题(含参考答案)

几道c笔试题(含参考答案)

1.
What is displayed when f() is called given the code:
class Number {
public:
string type;

Number(): type(“void”) { }
explicit Number(short) : type(“short”) { }
Number(int) : type(“int”) { }
};
void Show(const Number& n) { cout << n.type; }
void f()
{
short s = 42;
Show(s);
}
a) void
b) short
c) int
d) None of the above

2. Which is the correct output for the following code
double dArray[2] = {4, 8}, *p, *q;
p = &dArray[0];
q = p + 1;
cout << q – p << endl;
cout << (int)q - (int)p << endl;
a) 1 and 8
b) 8 and 4
c) 4 and 8
d) 8 and 1


第一个选C;
虽然传入的是short类型,但是short类型的构造函数被生命被explicit,也就是只能显示类型转换,不能使用隐式类型转换。
第二个选A;
第一个是指针加减,按照的是指向地址类型的加减,只跟类型位置有关,q和p指向的数据类型以实际数据类型来算差一个位置,因此是1。而第二个加减是实际指针值得加减,在内存中一个double类型占据8个字节,因此是8




--------------------------------------------------------------------------------
  相关文章
  某公司java笔试题.(超难)2007-4-2 19:05:34
  深圳某公司几个vc/mfc笔试题目(含参考答案)2007-4-2 19:04:44
  数据库笔试题(含参考答案)2007-4-2 19:04:16
  一道C++笔试题(含参考答案)2007-4-2 19:03:39
  Delphi软件工程师试题2007-3-29 8:24:01
  Trilogy公司的笔试题(含参考答案)2007-3-8 18:07:01
  著名软件公司的java笔试算法题!(含参考答案)2007-3-8 18:06:03
  java最新笔试题(含参考答案)2007-2-17 10:55:59
  百度招聘在线笔试题2007-1-30 17:11:05
  Google面试的20题2007-1-11 23:25:19
Google
分类: Asm,C,C++,VC 面试题 日期:2007-4-2 1 查看:1