当前位置: 首页 > news >正文

C语言运算符优先级速记口诀

在C语言中,运算符优先级是写出正确且高效代码的关键。为了帮助你更好地记住这些优先级,我整理了一套记忆技巧速查表,让你不再混淆!


📌 C语言运算符优先级速记口诀

口诀:
“单算移关与,异或逻条赋”
(单目 > 算术 > 移位 > 关系 > 位与 > 异或 > 位或 > 逻辑 > 条件 > 赋值)

1️⃣ 单目运算符(最高优先级)

  • ++ --(自增/自减)
  • ! ~(逻辑非、按位取反)
  • + -(正负号,如 -5
  • (type)(强制类型转换)
  • * &(指针、取地址)
  • sizeof

记忆技巧:

“单枪匹马闯天下”(单目运算符优先级最高,单独行动)


2️⃣ 算术运算符

  • * / %(乘、除、取模)
  • + -(加、减)

记忆技巧:

“先乘除,后加减”(和数学一样)


3️⃣ 移位运算符

  • << >>(左移、右移)

记忆技巧:

“移动位置,但不如算术重要”


4️⃣ 关系运算符

  • < <= > >=(比较大小)
  • == !=(等于、不等于)

记忆技巧:

“先比大小,再判等”


5️⃣ 位运算符

  • &(按位与)
  • ^(按位异或)
  • |(按位或)

记忆技巧:

“与或非,按位算”& > ^ > |


6️⃣ 逻辑运算符

  • &&(逻辑与)
  • ||(逻辑或)

记忆技巧:

“先与后或”&&|| 优先级高)


7️⃣ 条件运算符(三目运算符)

  • ? :(如 a > b ? a : b

记忆技巧:

“问号冒号,最后决定”


8️⃣ 赋值运算符(最低优先级)

  • = += -= *= /= %= <<= >>= &= ^= |=

记忆技巧:

“赋值总是最后算”


📊 运算符优先级完整速查表(从高到低)

优先级运算符描述结合性
1() [] -> . ++ --函数调用、数组、成员访问、自增自减左→右
2! ~ + - * & sizeof (type)单目运算符右→左
3* / %乘、除、取模左→右
4+ -加、减左→右
5<< >>左移、右移左→右
6< <= > >=关系比较左→右
7== !=等于、不等于左→右
8&按位与左→右
9^按位异或左→右
10|按位或左→右
11&&逻辑与左→右
12||逻辑或左→右
13? :三目运算符右→左
14= += -= *= /= %= <<= >>= &= ^= |=赋值运算符右→左
15,逗号运算符左→右

💡 如何避免混淆?

  1. 多用括号(a + b) * ca + b * c 更清晰。
  2. 记住关键顺序
    • 单目 > 算术 > 移位 > 关系 > 位运算 > 逻辑 > 条件 > 赋值
  3. 测试代码:不确定时,写个小程序验证优先级。

📝 测试示例

#include <stdio.h>

int main() {
    int a = 5, b = 3, c = 2;
    int result = a + b * c;  // 先算 b * c,再 + a → 5 + 6 = 11
    printf("%d\n", result);  // 输出 11
    
    result = (a + b) * c;    // 先算 a + b,再 * c → 8 * 2 = 16
    printf("%d\n", result);  // 输出 16
    
    return 0;
}

🎯 总结

口诀“单算移关与,异或逻条赋”
关键顺序:单目 > 算术 > 移位 > 关系 > 位运算 > 逻辑 > 条件 > 赋值
最佳实践多用括号,避免歧义!

这样记忆后,C语言的运算符优先级就不再是难题啦! 🚀

相关文章:

  • 基于查表法的 CRC8 / CRC16 / CRC32校验解析
  • PowerBI 条形图显示数值和百分比
  • Vue使用el-table给每一行数据上面增加一行自定义合并行
  • C++算法(1):stringstream详解,高效字符串处理与类型转换的利器
  • 【NLP 55、强化学习与NLP】
  • OpenHarmony Camera开发指导(二):相机设备管理(ArkTS)
  • ALOPS智能化运维管理平台
  • 浅析Centos7安装Oracle12数据库
  • 详解正则表达式中的?:、?= 、 ?! 、?<=、?<!
  • 火语言RPA--增加减少时间
  • EN控制同步整流WD1020 ,3.0V-21V 的宽 VIN 输入范围,0.9V-20V 的宽输出电压范围
  • Android activity属性taskAffinity的作用
  • call、bind、apply
  • MySQL Error Log
  • 【第16届】蓝桥杯C++b组--记录一次被薄纱的心情
  • 艾伦·图灵:计算机科学与人工智能之父
  • 08-JVM 面试题-mk
  • KWDB创作者计划—KWDB认知引擎:数据流动架构与时空感知计算的范式突破
  • 20250412_代码笔记_CVRProblemDef
  • js 颜色转换分析
  • 老板让我做网站负责人/上google必须翻墙吗
  • 怎么给别人做网站优化/2023年10月疫情恢复
  • 重庆一般建一个网站需要多少钱/网络营销推广流程
  • asp的web音乐网站设计/台湾永久免费加密一
  • 网站制作需要多长时间/小程序开发制作
  • 缪斯设计上海/seo搜索引擎优化内容