• 2012搜狗校园招聘笔试题


    1、下面代码中for循环共执行了多少次?

    unsigned short i,j;
    for(i=0, j=2; i!=j; i+=5, j+=7)
    {}

    unsigned short占用2个字节,当数据范围到头了(2^16-1),就又从0开始计数了,这个其实就是两辆汽车行驶在一个圆圈里的汽车追及问题。一个速度为5,一个速度为7,当速度为7的超越速度为5的时候,两个汽车就相遇了,2 + 7n - 5n = 2^16 所以共循环了32767次。

    2、下列代码的输出为多少?

    int main(void)  
    {  
        enum {a, b=5, c, d=4, e};  
        enum {h,x, y, z, v=120, w, r=99,s,t};  
        return 0;  
    }  

    a、c、e、h、x、y、z、w、s、t的值分别是多少?

    在枚举类型中声明的第一个枚举成员它的默值为零。没有显示赋值的枚举成员的值,总是前一个枚举成员的值+1。
    a:0          c:6            e:5

    h:0          x:1           y:2            z:3           w:121               s:100                 t:101

    3、高度为1的平衡二叉树节点为1个,高度为5的平衡二叉树节点最少多少个?答案:12

    平衡二叉树:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树,最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1

    4、union Test
    {
       char a[4];
        short b;
    };
    Test test;
    test.a[0]=256;
    test.a[1]=255;
    test.a[2]=254;
    test.a[3]=253;
    printf("%d ",test.b);
    问题:在80X86架构下,输出什么值?填空题。
    输出:-256
    short类型占2个字节,如果右边是低地址,左边是高地址,那么存储如下:
    1111  1111           0000   0000
      test.a[1]               test.a[0]
    显然b占用上面的2个字节,最高位为1,则是一个负数,取反+1后,得到-256(1000 0001 0000 0000){计算机中数是以补码的形式存储,所以对存储的数-1取反}

    5、C++什么时候使用拷贝构造函数?
    在下面几种情况下会调用拷贝构造函数:
    a、   显式或隐式地用同类型的一个对象来初始化另外一个对象。
    b、  作为实参(argument)传递给一个函数。如CClass(const CClass c_class)中,就会调用CClass的拷贝构造函数;
    c、  在函数体内返回一个对象时,也会调用返回值类型的拷贝构造函数;

    6、以下程序输出什么?

    复制代码
    int main(void)  
    {  
        unsigned int un = -1;      // 0~4294967295  
        unsigned short us = -1;    // 0~65535  
      
          
        printf("%d %d
    ",us,un);  
        /* 
        us的二进制表示是0xffff,以4个字节的int类型输出时表示的是0x0000ffff,所以输出65535 
        un的二进制表示是0xffffffff,以4个字节的int类型输出时表示的是-1,所以输出-1 
        */  
      
        cout<<us<<endl;   // -1在无符号的short数据中是65535  
        cout<<un<<endl;   // -1在无符号的int数据中是4294967295  
      
      
        //printf("%x %x
    ",us,un);      // 16进制的形式  
        //printf("%p %p
    ",&us,&un);    // 输出地址  
      
        return 0;  
    }  
    复制代码

    输出:65535 -1
    65535
    4294967295

  • 相关阅读:
    实验一报告 20135238&20135207
    第十周
    极客Web前端开发资源大荟萃#022
    一个不错的编程小挑战 没事的时候可以试试
    变形金刚的能量方块(含代码)
    Angular控制器之间的数据通信
    使用HTML5本地 Drag和Drop API(native API)
    用requestAnimationFrame优化你的javascript动画
    模板字符串
    ES6的全新特性:模板字符串
  • 原文地址:https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/3963814.html
Copyright © 2020-2023  润新知