一、核心前提(必记)
C 语言里判断「真 / 假」特别简单:0 代表假,非 0(正数、负数)全代表真。逻辑表达式的最终结果只有两个:✅成立为1,❌不成立为0。
二、3 个核心逻辑运算符(全学会就够用)
✅ 1. 逻辑与 && → 中文意思:并且
规则:两边条件同时为真,结果才为真;有一个假,结果就假(一假则假,全真才真)白话:必须两个条件都满足,才算满足
通俗示例:
c
运行
3>2 && 5>1; // 真&&真 → 结果1(成立)
3>2 && 5<1; // 真&&假 → 结果0(不成立)
0 && 100; // 假&&真 → 结果0(不成立)
✅ 2. 逻辑或 || → 中文意思:或者
规则:两边条件只要有一个为真,结果就为真;两个都假,结果才假(一真则真,全假才假)白话:两个条件满足任意一个,就算满足
通俗示例:
c
运行
3>2 || 5<1; // 真||假 → 结果1(成立)
3<2 || 5<1; // 假||假 → 结果0(不成立)
0 || -5; // 假||真 → 结果1(成立)
✅ 3. 逻辑非 ! → 中文意思:取反、不是
规则:单目运算符(只作用 1 个条件),真变假,假变真(颠倒黑白)白话:对条件结果反过来
通俗示例:
c
运行
!0; // 假取反 → 结果1(真)
!(3>2); // 真取反 → 结果0(假)
!100; // 真取反 → 结果0(假)
三、逻辑表达式(最简定义)
用「逻辑运算符」把多个条件连接起来的式子,就是逻辑表达式。它的唯一作用:判断多个条件的组合是否成立,最终得到 1(成立)或 0(不成立)。
实战常用例子(一看就懂)
c
运行
// 例子1:判断年龄age在18~30之间(包含18、30)
age>=18 && age<=30;
// 例子2:判断成绩score及格(≥60) 或 加分后及格(score+10≥60)
score>=60 || (score+10)>=60;
// 例子3:判断num不是0
!num;
四、超实用特性:短路求值(必懂,写代码省坑)
C 语言逻辑运算有「偷懒」机制,能提前确定结果时,后面的条件就不计算了,这就是短路,2 种情况:
&&短路:左边条件为假,直接返回假,右边条件不执行;||短路:左边条件为真,直接返回真,右边条件不执行。
通俗示例(一眼看懂) :
c
运行
int a=1;
0 && (a=100); // 左边是假,&&短路,右边a=100不执行 → a最终还是1
int b=1;
100 || (b=200); // 左边是真,||短路,右边b=200不执行 → b最终还是1
✅ 极简总结(30 秒记完)
- 真假规则:0 = 假,非 0 = 真;表达式结果只有 1/0;
- 三个运算符:
&&并且、||或者、!取反; - 关键特性:
&&遇假短路、||遇真短路。