亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

理解C语言运算符优先级与结合性:清晰指南

运算符优先级

运算符优先级决定表达式中多个运算符时哪个先执行。

考虑示例:

 int x = 5 - 17 * 6;

C中*优先级高于-和=。故17 * 6先求值。接着因-优先级高于=,求含-表达式。

下表为运算符优先级由高到低表。结合性属性稍后讨论。

运算符优先级与结合性表

运算符含义结合性
()[]
->
.
函数调用
数组元素引用
间接成员选择
直接成员选择
左到右
!~
+
-
++
--
&
*
sizeof
(type)
逻辑非
位补码
一元加
一元减
自增
自减
取地址
指针引用
返回对象大小
类型转换
右到左
*
/
%
乘
除
取余
左到右
+
-
二元加(加法)
二元减(减法)
左到右
<<
>>
左移
右移
左到右
<
<=
>
>=
小于
小于等于
大于
大于等于
左到右
==
!=
等于
不等于
左到右
&位与左到右
^位异或左到右
|位或左到右
&&逻辑与左到右
||逻辑或左到右
?:条件运算符右到左
=
*=/
/=
%=
+=
-=
&=
^=
|=
<<=
>>=
简单赋值
赋乘积
赋商
赋余
赋和
赋差
赋位与
赋位异或
赋位或
赋左移
赋右移
右到左
,表达式分隔符左到右

运算符结合性

运算符结合性决定表达式求值方向。例如:

 b = a;

此处a值赋给b,而非反向。因=运算符结合性从右到左。

若两同优先级运算符同时存在,结合性决定执行方向。

考虑示例:

 1 == 2 != 3

此处==和!=优先级相同。结合性左到右。故1 == 2先执行。

上表达式等价于:

 (1 == 2) != 3

注意: 语句有多运算符时,可用括号()提高代码可读性。

目录

C语言

  1. 掌握 C++ std::list:语法、函数与实战示例
  2. 理解 C# 访问修饰符:public、private、protected、internal 等完全指南
  3. C# 接口完全指南:定义契约、实现多态与解耦设计
  4. 精通 C++ 多线程编程:高效并发开发实战
  5. 掌握 C# 继承:概念、类型与实战代码完全指南
  6. 掌握 C 语言字符指针与函数用法
  7. Guru99:综合在线教程与商业软件评测平台
  8. C 语言循环控制完全指南:while、for、do-while 与循环控制语句
  9. C++ std::vector 完全指南:动态数组、迭代器、修改器与实战示例
  10. 掌握 C# 类型转换:隐式、显式、Parse 与 Convert 全方位指南
  11. C 语言运算符完全指南:算术、关系、逻辑、位运算等
  12. C++ 指针深度解析:从入门到实战