变量:内存中的一片空间,有名字,大小由类型决定。
    int     :一般4个字节
    float   :4个字节
    double  :8个字节
    char    :1个字节(若函数的返回值为char型,则一般转化为返回整形)

    1字节(Byte)=8二进制位(bit)
 
    符号位 0 正数  1负数
   
 变量和作用域:
    局部变量和全局变量:
        局部变量:
            自动局部变量:在函数内部出现的都是自动变量。
            静态局部变量:在前面加上static
        全局变量:会自动初始化为0
            不能在前面加上auto。
            extern 类型  变量名  来声明,声明一般放在头文件中。
      静态全局变量:
          限制变量的访问,只能在本文件内部访问
      静态全局函数:
          限制函数的调用,只能在本文件的内部使用。
    可以在函数中定义函数,相当于局部函数,只能在定义的那个函数中调用。   
       
    内存中的一片空间,有名字,有空间的大小(由类型决定)。
    类型 名称;

    类型:
        char                           1Byte   -128 ~ 127
        unsigned char           1Byte   0 ~ 255
        short int                     2Byte   -32768 ~ 32767
        unsigned short int     2Byte   0 ~ 65535
        int                              4Byte   -2147483648 ~ 2147483647
        unsigned int              4Byte   0 ~ 4294967295
        long int                      4
        unsigned long int      4
        long long int              8     -2^63 ~ 2^63-1
        unsigned long long int  8      0 ~ 2^64 -1
        float                           4        10^38
        double                       8        10^308
        long double              12
       
   
    变量的声明:
        int x;
        float y,z;
   
    类型:大方向只有两种:int  float
   
标识符和关键字:identifier and keywords
    标识符,变量,函数,宏,其他尸体的名称:
        以字母、下划线开头
        可以包含数字,字母,下划线
        大小写敏感
        不能和关键字冲突
        标识符长度有限制吗?
            c89声明可以任意长度,但编译器只记住前31位
            c99中是63个
           
    变量名最好要望文生义
   
    关键字
        有特殊含义的一串字符
        全部小写
        标准库中的函数名全部是小写
       
       
c语言的书写规范:
    语句可以分开放在任意多行。
    空格可以使我们更容易区分。
    缩进有助于轻松识别程序嵌套
    空行可以把程序华分成逻辑单元
    驼峰命名方式和下划线区分方式。
        eg:isGirl   IsGirl(VC 居多)   is_girl(UC 中居多)
       
       
 数据类型:
    整数类型:
        char:
        int :
       
    浮点数类型:没有无符号的浮点数
        float(单精度) :4个字节
        double(双精度):8个字节
        long double(长双精度):12~16个字节
   
    整数类型:
        有符号:signed(默认)
            符号位:
                0:正数
                1:负数
        无符号:unsigned
       
        short:
            01111111 11111111 ~ 10000000 0000000
            范围:-32768 ~ 32767
                -2^15 ~ 2^15 -1
        unsigned short:
            0 ~ 65535   (2^16 - 1)
        int:
            范围;-2147483648 ~ -2147483647
                -2^31 ~ 2^31 - 1
        unsigned int :
            2^32 -1  
            0 ~ 4294967295
        long :
           

    32二进制位  1字节=8二进制位
    1Byte= 8bit
    1Mbit/8 =125Byte
   
    Long long int:8个字节的空间(C99中才有)
   
字面值和常量:
    字面值:
        3被认为是int
        3.5f被认为是float
        3.5被认为是double
        3.5L被认为是long double
        35L被认为是long int
        35LL被认为是long long int
        35U被认为是unsigned int
        35UL被认为是unsigned long int
       
    八进制和十六进制:(不能用二进制给变量赋值)
        0377
        0x12ab
       
       
十进制 --> 二进制
   (1) 除二取余法:
   
   (2)54:
       128 64 32 16 8  4  2  1
        0  0  1  1  0  1  1  0