常量变量、进制转换、数据存储

1.常量和变量及数据存储
    (1)常量:值不能被改变
        宏定义---定义常量
        #define 宏名 常量
    (2)变量:值可以被改变
        变量就是在内存开一块空间,用于数据的存储
        先定义在使用
        变量格式:
            数据类型 变量名;
            数据类型:根据实际需求自己选择数据类型关键字
            变量名:内存空间的名称,自定义,符合标识符的命名规范。
            标识符的命名规范:
                1、数字、字母、_、$
                2、不能以数字开头
                3、不能和关键字重复
                4、见名知意  单词  拼音 a1 a2
        变量的分类:
            按照定义的位置分为局部变量和全局变量
            局部变量不赋值里面存储的是垃圾值不确定。
            定义在{}内
            全局变量不赋值是0
            定义在所有的{}之外就是全局数据区
        使用变量:存储数据用
            1、赋值符号 =
            2、输入 scanf        scanf(“%d”,&a);
            3、输出 printf        printf(“%d\n”,a);
                (1)普通字符:原样输出"helloworld"
                (2)转义字符:\+字母具有特殊功能的字符
                (3)格式控制符:%---该读内存或者运算了
            //面试题:以下字符是合法字符的是?
            //A、'\901'      B、'\xae'     C、"a"        D、'ar'
2.进制转换:
    十进制、二进制、八进制、十六进制
    1、进制前缀:
        十进制:97                                没有前缀
        二进制:0b01100001                前缀0b
        八进制:0141                            前缀0
        十六进制:0x61                         前缀0x
    2、(整形)进制的格式控制符:
            short                     int                 long                    long long
    十进制格式控制符:   %hd                     %d                 %ld                        %lld
    八进制格式控制符:   %ho                     %o                 %lo                        %llo
    十六进制格式控制符:%hx                     %x                  %lx                        %llx
    二进制没有格式控制符
    %#x-------显示前缀
    二进制检查:补码        int a=补码;printf(“%d”,a);
    3、进制转换规则:
        十进制转其他进制:使用短除法,然后余数倒写,到零为止
        其他进制转十进制:相应权重相乘然后相加
        十进制快速转二进制:将权重列出使用加法或减法
        二进制、八进制、十六进制之间的转换:3 位二进制=1 位八进制    4 位二进制=1 位十六进制
3.数据存储:
    1、存储单位:字节 位
        一个十六进制=4 位二进制
        一个字节=8 位二进制
        一个字节里可以存两个十六位进制数
    2、数据的存储一律采用补码的存储
        正数:原码=反码=补码
        负数:原码:11100001
                  反码:10011110        反码=原码符号位不变其他取反
                  补码:10011111        补码=反码加一
    补码出现的原因:区分正数和负数、计算机里只有加法器
    面试题:int b=~7;b的值是多少?
4.数据溢出:
    数据类型有范围,超出这个范围就存不下
    数据溢出遵循环形转换规律
    计算规律:数据如果是正向超出就减一圈数据个数 看是不是在数据类型的范围内。如果不在就在减一圈,直到落在数据范围内;
        数据如果是负向超出就加一圈数据个数 看是不是在数据类型的范围内。如果不在就在加一圈,直到落在数据范围内;
    例:         short a= 40000;
        printf(“%d”,a);//-25536
        short: -32768~32767                 40000-65536=-25536
        short b=32768;//-32768           32768-65536=-32768

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值