视频加载失败

C 语言关系与逻辑运算符

719 字
4 分钟
C 语言关系与逻辑运算符

【一】关系运算符#

运算符功能说明举例
>大于a > b
>=大于等于a >= 5
<小于3 < x
<=小于等于x <= y + 1
==等于x + 1 == 0
!=不等于c != '\0'
  • 真为1,假为0,非零为真,0为假
int a=5, b=6;
a>(b-1) // 结果值为0
(a +1)== b // 结果值为1
a>=(b-2) // 结果值为1
a<100 // 结果值为1
(a+3)<=b // 结果值为0
a != (b-1) // 结果值为0

【二】逻辑运算符#

运算符功能说明举例
!逻辑反(非)!(x == 0)
&&逻辑与x > 0 && x < 100
``

【三】逻辑非运算符#

逻辑非 ! 运算符的运算律如下(一元运算符):

运算量结果
10
01

结合我们上一节学的“非零为真,0为假”,可以推导出:!非0 = 0;!0 = 1。

int k=8;
! (k ==0) // 结果值为1
! ((k-8) == 0) // 结果值为0
! (k<= 0) // 结果值为1

【四】逻辑与运算符 (&&)#

逻辑与 && 运算符的运算规律如下(二元运算符):

左运算量右运算量结果
111
100
010
000

提炼核心规则:全真才真,一假即假。只有当左右两边都为“真”(非0)时,整个表达式的结果才为“真”(1)。

【五】逻辑与的短路特性#

  • 定义:如果第一个操作数是 false(假,即0),那么无论第二个操作数是什么值,结果也不可能等于 true(真,即1)。
  • 形式:(表达式1) && (表达式2)
  • 规则:如果表达式1为假,则表达式2不会进行运算,即表达式2“被短路”。
int x = 5, y = 6 ;
(x>5)&&(y++) ; // 结果为假 ,运算后 x=5, y=6

【六】逻辑或运算符 (||)#

逻辑或 || 运算符的运算规律如下(二元运算符):

左运算量右运算量结果
111
101
011
000

提炼核心规则:有真即真,全假才假。只要左右两边有一个为“真”(非0),整个表达式的结果就为“真”(1)。只有当两边都为“假”(0)时,结果才为“假”(0)。

【七】逻辑或的短路特性#

  • 定义:如果第一个操作数是 true(真,非0),第二个操作符就不会再被求值了。
  • 形式:(表达式1) || (表达式2)
  • 规则:如果表达式1为真,则表达式2不会进行运算,即表达式2“被短路”。
int x = 5, y = 6 ;
(x<= 5)||(y++) ; // 结果为真 ,运算后 x=5, y=6
  1. 初始状态:x = 5,y = 6。
  2. 计算左侧 (x <= 5):5 <= 5 为真,返回 1。
  3. 触发短路:因为 || 的左侧为 1(真),整个 || 表达式的结果已确定为真(1)。
  4. 跳过右侧:编译器直接跳过右侧的 (y++),根本不执行。
  5. 最终结果:整个表达式为真(1),x 依然是5,y 依然是6。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
C 语言关系与逻辑运算符
https://firefly.cuteleaf.cn/posts/language/c/20c语言基础/70关系与逻辑运算符/
作者
Dream
发布于
2026-09-26
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Dream
Hello, I'm Dream.
公告
欢迎来到我的博客!爱学习爱进步。
分类
标签
最新动态
站点统计
文章
169
分类
3
标签
26
总字数
334,507
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录