C 语言关系与逻辑运算符
719 字
4 分钟
C 语言关系与逻辑运算符
- 1C 语言数据类型
- 2C 语言语法符号
- 3C 语言常量
- 4C 语言变量与存储类型
- 5C 语言强制类型转换
- 6C 语言算术运算符
- 7C 语言关系与逻辑运算符本文
【一】关系运算符
| 运算符 | 功能说明 | 举例 |
|---|---|---|
> | 大于 | 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 // 结果值为1a>=(b-2) // 结果值为1a<100 // 结果值为1(a+3)<=b // 结果值为0a != (b-1) // 结果值为0【二】逻辑运算符
| 运算符 | 功能说明 | 举例 |
|---|---|---|
! | 逻辑反(非) | !(x == 0) |
&& | 逻辑与 | x > 0 && x < 100 |
| ` | ` |
【三】逻辑非运算符
逻辑非 ! 运算符的运算律如下(一元运算符):
| 运算量 | 结果 |
|---|---|
| 1 | 0 |
| 0 | 1 |
结合我们上一节学的“非零为真,0为假”,可以推导出:!非0 = 0;!0 = 1。
int k=8;! (k ==0) // 结果值为1! ((k-8) == 0) // 结果值为0! (k<= 0) // 结果值为1【四】逻辑与运算符 (&&)
逻辑与 && 运算符的运算规律如下(二元运算符):
| 左运算量 | 右运算量 | 结果 |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
提炼核心规则:全真才真,一假即假。只有当左右两边都为“真”(非0)时,整个表达式的结果才为“真”(1)。
【五】逻辑与的短路特性
- 定义:如果第一个操作数是
false(假,即0),那么无论第二个操作数是什么值,结果也不可能等于true(真,即1)。 - 形式:
(表达式1) && (表达式2) - 规则:如果表达式1为假,则表达式2不会进行运算,即表达式2“被短路”。
int x = 5, y = 6 ;(x>5)&&(y++) ; // 结果为假 ,运算后 x=5, y=6【六】逻辑或运算符 (||)
逻辑或 || 运算符的运算规律如下(二元运算符):
| 左运算量 | 右运算量 | 结果 |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
提炼核心规则:有真即真,全假才假。只要左右两边有一个为“真”(非0),整个表达式的结果就为“真”(1)。只有当两边都为“假”(0)时,结果才为“假”(0)。
【七】逻辑或的短路特性
- 定义:如果第一个操作数是
true(真,非0),第二个操作符就不会再被求值了。 - 形式:
(表达式1) || (表达式2) - 规则:如果表达式1为真,则表达式2不会进行运算,即表达式2“被短路”。
int x = 5, y = 6 ;(x<= 5)||(y++) ; // 结果为真 ,运算后 x=5, y=6- 初始状态:
x = 5,y = 6。 - 计算左侧
(x <= 5):5 <= 5为真,返回1。 - 触发短路:因为
||的左侧为1(真),整个||表达式的结果已确定为真(1)。 - 跳过右侧:编译器直接跳过右侧的
(y++),根本不执行。 - 最终结果:整个表达式为真(1),
x依然是5,y依然是6。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
C 语言算术运算符
编程语言学习 C 语言表达式、算术运算符、整数除法和浮点除法的基本规则。
2
C 语言变量与存储类型
编程语言理解 C 语言变量的定义、命名规则、作用域,以及 auto、register、extern 和 static 存储类型。
3
C 语言开发环境的安装与配置
编程语言在 Windows、Linux 与 macOS 上安装 C 工具链,配置编辑器,并编译运行第一个 C 程序。
4
C 语言常量
编程语言学习 C 语言中的整型、浮点、字符和字符串常量,以及常量的使用方式。
5
C 语言发展史
编程语言了解 C 语言从 BCPL、B 语言到现代标准 C 的发展历程、核心特点与应用领域。
随机文章随机推荐














