1. 算术运算
- 定义:处理数值计算,操作数为数字(整数或浮点数)。
- 运算符:
+
(加)、-
(减)、*
(乘)、/
(除)、%
(取模)- 自增/自减:
++
、--
- 示例:
1
2
3int a = 10 / 3; // 结果为3(整数除法)
float b = 10.0 / 3; // 结果为3.333...
int c = 10 % 3; // 结果为1 - 注意事项:
- 整数除法会截断小数部分。
- 取模运算
%
仅适用于整数。
2. 逻辑运算
- 定义:基于布尔逻辑(真/假),操作数视为逻辑值(0为假,非0为真)。
- 运算符:
&&
(逻辑与)、||
(逻辑或)、!
(逻辑非)
- 示例:
1
int result = (5 > 3) && (2 != 4); // 结果为1(真)
- 特点:
- 短路求值:若
&&
左侧为假,右侧不执行;若||
左侧为真,右侧不执行。 - 结果只能是
0
(假)或1
(真)。
- 短路求值:若
3. 位运算
- 定义:直接操作二进制位,用于硬件控制或优化。
- 运算符:
&
(按位与)、|
(按位或)、^
(异或)、~
(取反)<<
(左移)、>>
(右移)
- 示例:
1
2int a = 5 & 3; // 0101 & 0011 = 0001(结果为1)
int b = 5 << 2; // 0101 → 10100(结果为20) - 与逻辑运算的区别:
- 操作对象是数值的所有二进制位。
- 结果仍是数值,而非
0/1
。
4. 关系运算
- 定义:比较两个值的大小或相等性。
- 运算符:
==
(等于)、!=
(不等于)>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)
- 示例:
1
int result = (5 == 3); // 结果为0(假)
- 结果:
0
(假)或1
(真)。
5. 赋值运算
- 定义:给变量赋值,可结合其他运算。
- 运算符:
=
(基本赋值)+=
、-=
、*=
、/=
、%=
、<<=
等(复合赋值)
- 示例:
1
2int a = 10;
a += 5; // 等价于a = a + 5;
6. 其他运算符
- 条件运算符(三目运算符):
1
int max = (a > b) ? a : b; // 若a>b返回a,否则返回b
- 逗号运算符:
1
int result = (a=2, b=3, a+b); // 依次执行表达式,结果为5
- sizeof运算符:
1
int size = sizeof(int); // 返回int类型占用的字节数
7. 运算符优先级总结
类别 | 运算符 | 优先级顺序 |
---|---|---|
算术运算 | * / % → + - |
高 → 低 |
关系运算 | == != → < <= > >= |
|
逻辑运算 | ! → && → ` |
|
赋值运算 | = 、+= 等 |
最低 |
- 关键提醒:
- 使用括号
()
明确优先级,避免混淆。 - 混淆
&
和&&
、|
和||
是常见错误!
- 使用括号
示例对比:逻辑运算 vs 位运算
1 | int a = 5 && 3; // 逻辑与:5和3均为非零,结果为1 |
本文作者:
ICXNM-ZLin
本文链接: https://talent-tudou.github.io/2025/03/02/C语言/C语言运算类型详解/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
本文链接: https://talent-tudou.github.io/2025/03/02/C语言/C语言运算类型详解/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!