二、C_base——数据类型/运算符

【1】数据类型

1--- 定义变量

        数据类型 变量名 = 初始值;
        数据类型 变量名;


        变量名:由数字、字母、下划线组成,开头不能是数字

2--- bool
        #include <stdbool.h>
        bool a = 123;
        printf(“a = %d\n”,a);       



3--- char
        char a = 'A';           //占1个字节,8位
        printf(“a = %c\n”,a);   --> A   
        printf(“a = %d\n”,a);   --> 65
        signed char     :-128~127
        unsigned char    :0~255



4--- int
        int 占4字节,32位
        signed int  :-2147483648 ~ 2147483647
        unsigned int    :0~ 4294967295



        short 占2字节,16位
        signed short    :-32768 ~ 32767
        unsigned short  :0 ~ 65535


        long 占4字节



5--- float

        float   占4字节
        double  占8字节

【2】数据的存储

    正数:unsigned  char a = 12    
         0000  1100 源码、反码、补码相同

    负数:signed   char a = -12
        1000  1100   源码(最高位是符号位)
        1111  0011   反码(符号位不变,其它位取反)
        1111  0100   补码(反码+1)


unsigned char b = -1;                   signed char c = 129;
存储(看数值):                              存储(看数值):

源码:  1000 0001    --> -1             源码: 1000 0001   --> 129
反码:  1111 1110                          
补码:  1111 1111                 读取(signed): 

读取(unsigned):                    补码:  1000 0001    
                                    反码:  1000 000
补码:  1111 1111    --> 255         源码:  1111 1111   --> -127

【3】全局变量和局部变量

     全局变量,不初始化时为0。   
     局部变量,不初始化时为随机值。
     全局变量和局部变量名字相重时默认使用局部的变量。

【4】常量

    只读的数据。

    字符常量  :‘A’  ‘*’  ‘!’ ‘\n’
    整数常量  : 12    012    0x12
    浮点型常量: 12.34
    指数常量  : 1.2e-3
    字符串常量: "world"      //以‘\0’作为结束标志

    "world"     // w o r l d \0
    ‘w’         //一个字符 
    "w"         //字符串: 'w' + '\0'

【5】运算符

1--- 算术运算符
        +  -  *  /  %(参与运算的只能是整数)

        ++   自增运算符;++在变量名的后面:则先参与其他所有运算,再执行自增
        --   自建运算符;--在变量名的后面:则先参与其他所有运算,再执行自减


2--- 关系运算符
        运算结果只有两种情况:真1  假0

        <   <=    >    >=   ==   !=

3--- 逻辑运算
        运算结果只有两种情况:真1  假0

        &&  :一假则假   
        ||  :一真则真
        !   :真变假,假变真

        短路原则:当一个表达式可以决定整个运算的结果,其它运算不执行      

4--- 位运算

        ~   :位运算取反 
        ^   :异或,相同为0,不同为1
        &   :位与
        |   :位或

        a>>n : a / 2^n;
        a<<n : a * 2^n;


5--- 复合运算符

        =  +=  -=   *=   /=  %=
        &=  |=  ^=  <<=  >>=

6--- 条件运算符
        <表达式1>  ?  <表达式2>  :  <表达式3>
        先判断表达式1,为真执行表达式2, 为假执行表达式3

【6】运算优先级

    ()
     ++  --

     *  /  %
     +   -

    <<   >>

    关系运算

    位运算符(&  ^  |)

    逻辑运算

    赋值运算,复合运算符

      , 

源码及注释:

1、1_bool.c

#include <stdio.h>
#include <stdbool.h>

//数据类型 变量名 = 初始值;

int main(int argc, const char *argv[])
{
    bool  a = 123;
    printf("a = %d\n", a);  //printf:用于向终端输出指定格式的数据
                            //双引号里的数据原样输出,除%形式以外
    a = 0;
    printf("a = %d\n", a);  //printf:用于向终端输出指定格式的数据


    return 0;
}

2、2_char.c

#include <stdio.h>

//数据类型 变量名 = 初始值;

int main(int argc, 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值