简单总结C语言中的运算符优先级攻略
1. 运算符优先级的概念
运算符优先级指定了在表达式中各个运算符的执行顺序。当多个运算符同时出现时,按照优先级从高到低的顺序依次执行。运算符优先级规定了表达式中运算符的结合方式。
2. 运算符优先级分类
C语言中的运算符优先级可以分为以下几个类别:
- 最高优先级:括号运算符 ()
- 一元运算符:逻辑非 !
,取反 ~
,正负号 +
-
,一元加 ++
,一元减 --
,取地址 &
,取值 *
,大小 sizeof
- 算术运算符:乘法 *
,除法 /
,求余 %
,加法 +
,减法 -
- 移位运算符:左移 <<
,右移 >>
- 关系运算符:大于 >
,小于 <
,大于等于 >=
,小于等于 <=
- 相等性运算符:等于 ==
,不等于 !=
- 位运算符:按位与 &
,按位异或 ^
,按位或 |
- 逻辑运算符:逻辑与 &&
,逻辑或 ||
- 赋值运算符:赋值 =
,复合赋值 +=
,-=
,*=
,/=
,%=
,<<=
,>>=
,&=
,^=
,|=
- 逗号运算符:逗号 ,
3. 示例说明
示例一
int a = 5;
int b = 10;
int c = 15;
int result = a + b * c % a - b / c;
在上述示例中,根据运算符优先级,乘法和除法具有比加法和减法更高的优先级,取余运算具有比加法和减法更低的优先级。因此,表达式会按照以下步骤计算:
1. b * c
:先计算乘法运算,结果为 150
2. 150 % a
:接着计算取余运算,结果为 0
3. b / c
:再计算除法运算,结果为 0
4. a + 0 - 0
:最后进行加法和减法运算,结果为 5
因此,最终的结果 result
为 5
。
示例二
int a = 5;
int b = 10;
int c = 15;
int result = a > b && b < c || a != c;
在上述示例中,逻辑与运算 &&
具有比逻辑或运算 ||
更高的优先级。因此,表达式会按照以下步骤计算:
1. a > b
:先计算大于运算,结果为 0
(false)
2. b < c
:接着计算小于运算,结果为 1
(true)
3. 0 && 1
:然后进行逻辑与运算,结果为 0
(false)
4. a != c
:最后计算不等于运算,结果为 1
(true)
因此,最终的结果 result
为 1
(true)。
以上是对C语言中运算符优先级的简单总结。在编写表达式时,明确各个运算符的优先级可以避免因为运算符顺序问题带来的错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单总结C语言中的运算符优先级 - Python技术站