一些容易出问题题目

1.

unsigned int i;
 i = -1;         //i = -m (m是正整数)
 cout<<i<<endl;  //输出4294967296-m

 

2.关于类占用的空间的大小

 

 

3. int a(5),b(6); 下面会出现二义性的语句是(C)

A. k = ++a+b++;    //6+6 = 12
B. k = a+(b=3);      //5+3 = 8
C. k = b+a<<2;      //
D. k = (b=3)-b++;  //3-3 = 0

 

 4. 这是yahoo2011年校园招聘的一道题目,着重考察了指针引用,字符数组和字符串的内存表示,使用strcpy必须确保字符串有结束符'/0'等,是一个很能体现基本功的题:

 

 

5. Little-endian和Big-endian的概念解释,判定

 

      little endian和big endian是表示计算机字节顺序的两种格式,所谓的字节顺序指的是长度跨越多个字节的数据的存放形式.
        假设从地址0x00000000开始的一个字中保存有数据0x1234abcd,且假设机器是每个内存单元以8位即一个字节为单位的,那么在两种不同的内存顺序的机器上从字节的角度去看的话分别表示为:
       1) Little-endian:在内存中的存放顺序是0x00000000-0xcd,0x00000001-0xab,0x00000002-0x34,0x00000003-0x12
       2) Big-endian:在内存中的存放顺序是0x00000000-0x12,0x00000001-0x34,0x00000002-0xab,0x00000003-0xcd 
       简言之,Little-endian把低字节存放在内存的低位;而Big-endian将低字节存放在内存的高位.
       现在主流的CPU,intel系列的是采用的little endian的格式存放数据。而motorola系列的CPU采用的是big endian。

 

 

 

6. 

 

 

 7. 注意下面的构造函数调用方法(默认的复制构造函数)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值