C语言运算符优先级速查攻略
创作时间:
作者:
@小白创作中心
C语言运算符优先级速查攻略
引用
CSDN
等
7
来源
1.
https://blog.csdn.net/m0_37149062/article/details/135661757
2.
https://blog.csdn.net/2302_80357424/article/details/136953790
3.
https://blog.csdn.net/m0_73634434/article/details/139128464
4.
https://blog.csdn.net/2302_80837091/article/details/138231357
5.
https://en.cppreference.com/w/cpp/language/operator_precedence
6.
https://my.oschina.net/emacs_8657391/blog/16900912
7.
https://www.cnblogs.com/anliux/p/18367165
掌握C语言运算符优先级是每个程序员的基本功。在复杂的表达式中,运算符的执行顺序直接影响程序的运行结果。本文为你整理了一份完整的C语言运算符优先级表格,并对一些容易混淆的运算符进行了特别说明。建议将本文收藏,以便随时查阅。
01
C语言运算符优先级表
下表列出了C语言中所有运算符的优先级顺序,从高到低排列。同一行中的运算符具有相同的优先级,按照从左到右的顺序计算(除非特别说明)。
优先级 | 运算符 | 名称/含义 | 结合性 |
|---|---|---|---|
1 | () | 圆括号 (聚组) | 左 --> 右 |
[] | 下标引用 | ||
. | 成员选择(对象) | ||
-> | 用指针访问结构体 | ||
2 | ++ | 后置++ | 左 --> 右 |
-- | 后置-- | ||
! | 逻辑非 | 右 --> 左 | |
~ | 按位取反(二进制位) | ||
+ | 正号运算符 | ||
- | 负号运算符 | ||
++ | 前置++ | ||
-- | 前置-- | ||
* | 间接访问(解引用) | ||
& | 取地址运算符 | ||
sizeof | 求变量的长度 | ||
(类型) | 强制类型转换 | ||
3 | / | 除 | 左 --> 右 |
* | 乘 | ||
% | 余数(取模) | ||
4 | + | 加 | 左 --> 右 |
- | 减 | ||
5 | << | 左移 | 左 --> 右 |
>> | 右移 | ||
6 | > | 大于 | 左 --> 右 |
>= | 大于等于 | ||
< | 小于 | ||
<= | 小于等于 | ||
7 | == | 等于 | 左 --> 右 |
!= | 不等于 | ||
8 | & | 按位与(二进制位) | 左 --> 右 |
9 | ^ | 按位异或(二进制位) | 左 --> 右 |
10 | 按位或(二进制位) | ||
11 | && | 逻辑与 | 左 --> 右 |
12 | |||
13 | ?: | 条件运算符 | 右 --> 左 |
14 | = | 赋值 | 右 --> 左 |
/= | 除等于 | ||
*= | 乘等于 | ||
%= | 取余等于 | ||
+= | 加等于 | ||
-= | 减等于 | ||
<<= | 左移后赋值 | ||
>>= | 右移后赋值 | ||
&= | 按位与后赋值 | ||
^= | 异或后赋值 | ||
= | 按位或后赋值 | ||
15 | , | 逗号运算符 | 左 --> 右 |
02
特别说明
括号运算符:括号可以改变运算符的默认优先级,任何在括号内的表达式都会优先计算。
单目运算符:这一类运算符包括逻辑非(!)、按位取反(~)、正号(+)、负号(-)、前置和后置的自增自减运算符(++)和(--)、解引用(*)、取地址(&)、sizeof和类型转换。它们的优先级高于所有双目运算符。
关系运算符和逻辑运算符:关系运算符(如<、>、<=、>=)的优先级高于相等运算符(==、!=),而逻辑与(&&)的优先级又高于逻辑或(||)。
赋值运算符:所有赋值运算符的优先级都较低,这意味着在赋值表达式中,赋值运算通常最后执行。
03
实用建议
使用括号:即使你已经熟悉运算符优先级,使用括号来明确表达式的计算顺序也是一个好习惯。这不仅能避免潜在的错误,还能提高代码的可读性。
避免复杂表达式:如果一个表达式过于复杂,考虑将其分解为多个简单的语句。这不仅有助于调试,还能使代码更易于理解。
注意结合性:对于同一优先级的运算符,要注意它们的结合性(左结合或右结合),这在编写链式表达式时尤为重要。
掌握运算符优先级是编写正确C语言代码的基础。通过本文的表格和说明,你可以快速查询并理解各种运算符的执行顺序。建议将本文收藏,以便在需要时随时查阅。
热门推荐
爱信6AT vs 采埃孚8AT:谁更胜一筹?
富士山与出羽三山:日本山岳信仰的文化之旅
从唐尧到现代:中国气功的千年传承
《教父》里诠释了人生的9句台词
聚会聊天尴尬冷场怎么办?从容面对只需要这几点!
鸿田村的健身气功:舒缓焦虑的秘密武器
从小“吃手指”和“不吃手指”的孩子,长大后差距明显,父母多留意
孔雀鱼的正确饲养方法(孔雀鱼水温水质喂食要求)
职场竞争如何影响夫妻关系?
心理学揭秘:幸福婚姻的四大密码
夫妻关系:心理健康的重要基石
如何快速开通光线传媒股票交易权限?
蜻蜓飞入古诗,这些诗句你背过吗?
Cosplay Collection精选:引领你进入奇幻的角色扮演世界
脾胃科医生提醒:这些症状可能是胃息肉的预警信号
幽门螺杆菌感染高发!这些饮食习惯帮你防胃息肉
激光矫正需要几天才能改善视力?了解治疗后的恢复时间和注意事项
孔雀鱼怎么繁殖(孔雀鱼选种及环境要求)
家用别墅电梯安装的三大注意事项
紫薇斗数解读:天机星奥秘揭晓
连锁店长职业晋升路径:从精细管理到战略领导
火腿肉的做法大全,解锁火腿肉创意做法,美味翻倍!
12种招人讨厌的肢体语言,你中招了几个?
“我一直在默默关注你…”这张小纸条为什么火了?
试管婴儿生双胞胎的几率是否较高?
雷诺曼牌教你脱单秘籍!
无人机在当代战争中的作用和影响:对战争形式和战略选择的革新
“去班味儿”,下班后的100种快乐
理财的有效方法有哪些?这些方法在实际操作中有何注意事项?
服务器接收请求数据失败,如何解决?