zoukankan      html  css  js  c++  java
  • 张照行160809332 的第二次作业 张照行

    1. C语言基本数据类型及其占用的内存空间大小分别是:int:4字节;short int:2字节;long int :4字节;unsigned int:4字节;unsigned short int :2字节;unsigned long int:4字节;char :1字节;float:4字节;double:8字节。
    2. 算数运算符有:+  -  *  /  %   ++   --
    3. 关系运算符有:>   <      ==    >=    <=    !=     <>
    4. 逻辑运算符的优先顺序是:!   &&    ||
    5. 赋值运算符有:=   +=    -=    *=    /=    %=
    6. 下面代码的输出结果是什么?请解释原因。

    6.

    #include<stdio.h>
    int main()
    {
        char c=132; printf("%d",c);
    }

    输出的结果是-124,因为char占一个字节,132的二进制为:1000 0100,第一位为1,计算机识别为负数,取反为1111 1011,进位加一为1111 1100,所以输出-124

    7. int a=-7; printf(“%d”,a>>1);

    #include<stdio.h>
    int main()
    {
     int a=-7; printf("%d",a>>1);
    }

    输出的结果是-4,因为int占四个字节,-7是负数,存储取反进一为:1111 1111 1111 1111 1111 1111 1111 1001

                                                                              -7>>1:1111 1111 1111 1111 1111 1111 1111 1100

                                                                     再取反进一为 :0000 0000 0000 0000 0000 0000 0000 0100,所以输出为-4

    8. int a=7;

       int b=8;

       printf(“%d”,a&b);

    #include<stdio.h>
    int main()
    {
       int a=7;
       int b=8;
        printf("%d",a&b);
    }

    输出结果为0,因为&是按位与,上下都是1才是1,否则为0,7是0000 0000 0000 0000 0000 0000 0000 0111

                                                                               8是0000 0000 0000 0000 0000 0000 0000 1000,所以32位都为0,输出为0

    9. int a=7;

        int b=8;

        printf(“%d”,a^b);

    #include<stdio.h>
    int main()
    {
       int a=7;
       int b=8;
        printf("%d",a^b);
    
    }

    输出结果为15,因为^是按位异或,不相同的为1,相同的为0,7是0000 0000 0000 0000 0000 0000 0000 0111

                                                                                     8是0000 0000 0000 0000 0000 0000 0000 1000,

                                                                              a^b为:0000 0000 0000 0000 0000 0000 0000 1111,所以输出15

  • 相关阅读:
    ubuntu下解决无法解析或打开软件包列表或状态文件的问题
    linux 解除文件root权限限制
    查看linux设备信息的命令
    R系安装rpm包
    重启窗口管理器
    内存泄漏如何定位?
    双屏显示,HDMI可以正常显示,lvds不显示
    避免linux下log在/var/log/messages 中重复输出的办法
    debian编包成功后,想要修改的文件的内容没有变化
    linux terminal 显示不全 将log内容打印出来
  • 原文地址:https://www.cnblogs.com/160809332zzh/p/5893951.html
Copyright © 2011-2022 走看看