1.3 逻辑类型

1. bool

引入 #include

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

int main()
{
    bool b = 6 > 5;
    bool t = false;

    printf("%d\n", b); // 1
    printf("%d\n", t); // 0

    t = 2;
    printf("%d\n", t); // 1
    return 0;
}

2.逻辑运算

  • 逻辑运算 是对逻辑量进行的运算
  • 结果只有 0 或 1
  • 逻辑量是 关系运算 或 逻辑运算 的结果

运算符:

  • !
    • 描述:逻辑非
    • 示例:!a
    • 结果:如果 a = true,返回false;如果 a = false,返回 true
  • &&
    • 描述:逻辑与
    • 示例:a && b
    • 结果:如果 a = true,b = true,返回true;否则 返回false
  • ||
    • 描述:逻辑或
    • 示例:a || b
    • 结果:如果 a = true 或者 b = true,返回true;如果 a = false,b = false,返回false

3.优先级

排序:
1. !
2. &&
3. ||

整体排序:

  1. 运算符:(),结合性:从左到右
  2. 运算符:! + - ++ –,结合性:从右到左(单目的+ 和 -)
  3. 运算符:* / %,结合性:从左到右
  4. 运算符:+ -,结合性:从左到右
  5. 运算符:< <= > >=,结合性:从左到右
  6. 运算符:== !=,结合性:从左到右
  7. 运算符:&&,结合性:从左到右
  8. 运算符:||,结合性:从左到右
  9. 运算符:= += -= *= /= %=,结合性:从右到左

    4.短路

    逻辑运算是 从左到右 进行的,如果左边的结果 已经能够决定结果了,就不做右边的计算了

    • 对于 &&,左边是 false,就不做右边的计算了
    • 对于 ||,左边是 true,就不做右边的计算了

不要把 赋值,复合赋值组合 写进表达式

#include<stdio.h>

int main()
{
    int a = -1;
    if(a > 0 && a++ > 1){
        printf("OK\n");
    }
    printf("%d\n", a); // -1
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值