news 2026/8/25 14:17:26

C语言基础知识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言基础知识

文章目录

  • C语言【完整版】运算符优先级+结合性 总表(最全无遗漏)
    • ✅ 完整版:C语言所有运算符优先级+结合性总表(按优先级从高到低排序)
    • ✅ 【必背】高频核心优先级口诀(不用死记全表,记住这个足够开发+笔试)
      • 口诀解释(对应优先级):
    • ✅ 【高频易错点】5个最容易踩坑的优先级/结合性规则(90%的C语言学习者都会错)
      • 易错点1:赋值运算符是「右结合」
      • 易错点2:sizeof 是「运算符」不是函数
      • 易错点3:自增/自减的「前置vs后置」优先级相同,执行时机不同
      • 易错点4:逻辑与 `&&` 优先级 > 逻辑或 `||`
      • 易错点5:位运算 vs 逻辑运算 优先级区分
    • ✅ 【实用技巧】记不住优先级?2个万能法则(永远不会错)
      • 总结

核心优先级关系:()> 单目 > 算术 > 关系 > 相等 > 位运算 > 逻辑运算 > 三目 > 赋值 > 逗号;

C语言【完整版】运算符优先级+结合性 总表(最全无遗漏)

✅ 核心规则(重中之重,必须记住):

  1. C语言运算符优先级分为1~15级数字越小,优先级越高(1级最高,15级最低),优先级越高的运算符越先执行;
  2. 同级别的运算符,执行顺序由「结合性」决定:
    • ✔️左结合:从左到右依次计算(绝大多数运算符是左结合);
    • ✔️右结合:从右到左依次计算(少量特殊运算符,是高频易错点);
  3. 小括号()优先级最高的运算符,任何时候想强制改变运算顺序,用()包裹即可,永远不会出错。

核心优先级关系:()> 单目 > 算术 > 关系 > 相等 > 位运算 > 逻辑运算 > 三目 > 赋值 > 逗号;

✅ 完整版:C语言所有运算符优先级+结合性总表(按优先级从高到低排序)

优先级运算符结合性运算符名称/含义说明举例
1(最高)()左结合圆括号(表达式分组)(a+b)*cfunc(a)
[]左结合数组下标访问arr[5]
->左结合结构体/联合体指针成员访问p->name
.左结合结构体/联合体普通变量成员访问stu.age
2!右结合逻辑非运算符!flag
~右结合按位取反运算符(位运算)~num
++右结合自增运算符(前置,如++a++i
--右结合自减运算符(前置,如--a--j
-右结合负号运算符(单目,取负值)-10-x
+右结合正号运算符(单目,无实际作用,可省略)+5+y
*右结合取值运算符(指针解引用)*p
&右结合取地址运算符&a
sizeof右结合计算数据/变量所占字节数(运算符!非函数)sizeof(int)sizeof a
(类型名)右结合强制类型转换运算符(float)a(int)3.14
3*左结合乘法运算符a*b
/左结合除法运算符(整数相除取整,浮点正常除)a/b
%左结合取模运算符(求余数,仅适用于整型)a%b
4+左结合加法运算符a+b
-左结合减法运算符a-b
5<<左结合按位左移运算符(位运算)a<<2
>>左结合按位右移运算符(位运算)a>>1
6>左结合大于关系运算符a>b
>=左结合大于等于关系运算符a>=b
<左结合小于关系运算符a<b
<=左结合小于等于关系运算符a<=b
7==左结合等于判断运算符(你之前问的)a==1
!=左结合不等于判断运算符a!=2
8&左结合按位与运算符(位运算,注意区别取地址&)a&b
9^左结合按位异或运算符(位运算)a^b
10``左结合按位或运算符(位运算)
11&&左结合逻辑与运算符(你之前问的
12``左结合
13?:右结合条件运算符(三目运算符,C语言唯一)a>0?1:0
14=右结合赋值运算符a=10
+=-=右结合复合赋值运算符a+=5b-=3
*=/=%=右结合复合赋值运算符a*=2b/=2
<<=>>=右结合复合赋值运算符a<<=1
&=^=`=`右结合复合赋值运算符
15(最低),左结合逗号运算符(分隔表达式,取最后值)a=1,b=2,c=3

✅ 【必背】高频核心优先级口诀(不用死记全表,记住这个足够开发+笔试)

✔️ 括号最高,单目第二;
✔️ 算术移位,关系相等;
✔️ 位逻逻,三目赋值;
✔️ 逗号最低,永不失误。

口诀解释(对应优先级):

  1. 括号(1级)优先级绝对第一;单目运算符(2级)第二;
  2. 算术运算(乘除3级 > 加减4级)→ 移位运算(5级);
  3. 关系运算(6级)→ 相等运算(7级,==/!=);
  4. 位运算(按位与8 → 异或9 → 或10)→ 逻辑运算(与11 → 或12);
  5. 三目运算符(13)→ 赋值运算符(14);
  6. 逗号运算符(15)优先级最低。

✅ 【高频易错点】5个最容易踩坑的优先级/结合性规则(90%的C语言学习者都会错)

易错点1:赋值运算符是「右结合」

a=b=c;// 等价于 a = (b = c),不是 (a=b)=c

因为=是14级,右结合,先算右边的b=c,再把结果赋值给a。

易错点2:sizeof 是「运算符」不是函数

sizeofint;// 合法sizeof(int);// 也合法,括号只是表达式分组,不是函数调用sizeofa;// 合法(a是变量)

sizeof优先级是2级,极高,所以sizeof a+1等价于(sizeof a)+1,不是sizeof(a+1)

易错点3:自增/自减的「前置vs后置」优先级相同,执行时机不同

inta=1;printf("%d",a++);// 输出1,执行后a=2(后置:先取值,后自增)printf("%d",++a);// 输出3,执行前a先自增为3(前置:先自增,后取值)

易错点4:逻辑与&&优先级 > 逻辑或||

a||b&&c;// 等价于 a || (b && c),不是 (a||b)&&c

这也是为什么你的==+||代码正确,逻辑运算符都是左结合,且同级从左到右。

易错点5:位运算 vs 逻辑运算 优先级区分

按位运算(& ^ |)优先级 > 逻辑运算(&& ||),所以:

a&b||c;// 等价于 (a&b) || c

✅ 【实用技巧】记不住优先级?2个万能法则(永远不会错)

  1. 所有不确定优先级的地方,直接加()括号,括号优先级最高,强制指定运算顺序,代码可读性也更高,比如:
    // 不确定优先级,加括号更稳妥if((enable_status==1)||(enable_status==2))
  2. 赋值表达式尽量单独写,不要和其他运算符混写,比如a = b + c * da = (b + c) * d更清晰,除非明确需求。

总结

  1. C语言运算符优先级共15级,1级最高,15级最低,同级看结合性;
  2. 核心优先级关系:()> 单目 > 算术 > 关系 > 相等 > 位运算 > 逻辑运算 > 三目 > 赋值 > 逗号;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 8:08:07

Cookie本地导出终极指南:3步掌握安全数据迁移技巧

Cookie本地导出终极指南&#xff1a;3步掌握安全数据迁移技巧 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在数字化生活中&#xff0c;浏览器Co…

作者头像 李华
网站建设 2026/8/25 4:42:48

Switch破解新手指南:从零开始搭建大气层系统

Switch破解新手指南&#xff1a;从零开始搭建大气层系统 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想要让您的Switch主机获得更多可能性吗&#xff1f;大气层系统为您开启了一扇通往自…

作者头像 李华
网站建设 2026/8/18 19:43:43

手部关键点检测应用:MediaPipe Hands在教育领域实践

手部关键点检测应用&#xff1a;MediaPipe Hands在教育领域实践 1. 引言&#xff1a;AI手势识别的教育新范式 1.1 技术背景与行业痛点 随着人工智能技术的普及&#xff0c;人机交互方式正从传统的键盘鼠标向更自然的视觉感知演进。尤其在教育领域&#xff0c;学生注意力分散…

作者头像 李华
网站建设 2026/8/24 23:56:44

【数据结构进阶】:深度剖析集合表达式嵌套的执行机制与优化路径

第一章&#xff1a;集合表达式嵌套使用在现代编程语言中&#xff0c;集合表达式&#xff08;如列表推导、字典推导、集合推导&#xff09;是处理数据结构的高效工具。当业务逻辑复杂时&#xff0c;单一层次的表达式难以满足需求&#xff0c;此时嵌套使用集合表达式能够显著提升…

作者头像 李华
网站建设 2026/8/23 15:14:07

AI手势识别企业应用实战:生产线人机协作部署方案

AI手势识别企业应用实战&#xff1a;生产线人机协作部署方案 1. 引言&#xff1a;AI手势识别在工业场景中的价值跃迁 随着智能制造和柔性产线的快速发展&#xff0c;传统基于按钮、触摸屏或遥控器的人机交互方式已难以满足高效率、非接触式操作的需求。特别是在洁净车间、重型…

作者头像 李华
网站建设 2026/8/25 5:54:45

Z-Image-ComfyUI模型微调实战:云端GPU低成本训练,效果立现

Z-Image-ComfyUI模型微调实战&#xff1a;云端GPU低成本训练&#xff0c;效果立现 1. 为什么设计师需要定制AI画风&#xff1f; 想象一下&#xff0c;你是一位插画设计师&#xff0c;每次使用AI生成工具时总感觉缺了点什么——生成的图像虽然精美&#xff0c;但缺乏你独特的个…

作者头像 李华