[经验分享] 转:单片机C语言运算符的优先级和结合性

[复制链接]
2375|1
 楼主| 中国无芯 发表于 2011-11-12 16:16 | 显示全部楼层 |阅读模式
运算符的优先级和结合性
优先级操作符功能结合性
1(最高)()改变优先级
从左到右






2
[]数组下标
->指向结构体成员
.结构体成员

++;–
自增1;自减1(++i,–i: 在使用之前,先使i值加(减)1;i++在使用之后再使i值加(减)1)



从右到左
&取地址
*取内容
逻辑 (非)求反 (! 条件式)
~按位取反
+、-取正数、负数
()强制类型转换
sizeof取所占内存字节数
3*、/、%乘法、除法、取余



从左到右
4+、-加法、减法
5<<、>>左移位、右移位
6<、<=、>、>=、小于、小于等于、大于、
大于等于
7= =、!=等于、不等于
8&按位与
9^按位异或
10|按位或
11&&逻辑与
12||逻辑或
13?:条件运算符从右到左





14
+=加法赋值




从右至左
-=减法赋值
*=乘法赋值
/=除法赋值
%=取模赋值
<<=左移位赋值
>>=右移位赋值
| =逻辑或赋值
& =逻辑与赋值
^ =逻辑异或赋值
~ =逻辑非赋值
15(最低)
逗号运算符,顺序求值
从左至右
说明:同一优先级的运算符由结合方向确定
CPU单线程 发表于 2011-11-12 16:42 | 显示全部楼层
还是用的时候加括号吧,否则记着麻烦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

103

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部