news 2026/7/1 20:44:19

C语言中的运算符

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言中的运算符

C语言中的运算符非常丰富,大约有40多种,按照功能可以分为以下几类。下面按优先级从高到低整理,并标注结合方向(绝大多数是左结合,只有少数特殊的是右结合)。

运算符分类与优先级完整对照表(C11/C17标准)

优先级运算符含义 / 类别结合方向说明 / 常见陷阱
1()括号 / 函数调用左→右最高优先级,用于改变顺序
1[]数组下标左→右
1.->结构体/联合体成员访问左→右->用于指针
1++--(后置)后置自增/自减左→右i++先用后加
2++--(前置)前置自增/自减右→左++i先加后用
2+-(单目)正号 / 负号右→左
2!~逻辑非 / 按位取反右→左
2*(解引用)&(取地址)指针解引用 / 取地址右→左
2(类型)强制类型转换右→左
2sizeof求大小(编译期)右→左sizeof int需要括号
3*/%乘、除、取模左→右
4+-(双目)加、减左→右
5<<>>左移、右移左→右位运算,移位次数受限于类型宽度
6<<=>>=关系运算符左→右
7==!=相等、不等左→右
8&按位与左→右
9^按位异或左→右
10``按位或左→右
11&&逻辑与(短路)左→右左边为假,右边不计算
12``逻辑或(短路)
13?:三目条件运算符右→左C中唯一的三目运算符
14=+=-=*=/=%=赋值及复合赋值右→左a = b = c从右向左
14&=^=`=<<=>>=`位复合赋值右→左
15,逗号运算符(顺序求值)左→右优先级最低,整个表达式值是最后一个子表达式的值

常见分类速记(按功能分组)

类别运算符优先级范围结合方向备注
算术+-*/%++--2~4左→右(自增自减除外)
移位<<>>5左→右
关系<<=>>===!=6~7左→右
位运算&^`~`8~10,2左→右(~除外)
逻辑&&`!`11~12,2
条件?:13右→左
赋值=+=14右→左复合赋值与普通赋值同级
顺序,15左→右最低,常用于for循环
其他sizeof(类型)&*.->[]()1~2混合单目大多右结合

经典易错例子(强烈建议自己跑一遍)

inta=5,b=3,c=2;intx;// 这些表达式的值分别是多少?x=a+b*c;// 11 (先 * 后 +)x=a+++++b;// 9 (a先用5再+1, b先+1成4再用)x=a>b?a:b++;// 5 (三目右结合,但这里不影响)x=a&b==1;// 0 (== 优先级高于 &,相当于 a & (b==1))x=!a&&b++;// 0 (短路,b++不执行)x=(a=2,a+=3,a*4);// 20 (逗号表达式,整个值是最后一个)

记忆口诀(面试/刷题常用)

  • 括号 > 单目 > 算术 > 移位 > 关系 > 位运算 > 逻辑 > 条件 > 赋值 > 逗号
  • 单目、赋值、三目 → 右结合(其他几乎都是左结合)
  • 位运算优先级低于比较运算符(最经典陷阱:a & b == 0要加括号)
  • 逻辑与或短路(&& || 不要写有副作用的右表达式)
  • 后置 ++ – 高于前置(但只差一级,且都在单目层)

如果你想针对某类运算符(位运算、逻辑、赋值等)做更详细的例子、陷阱题或优先级推导过程,可以直接告诉我,我继续展开~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 7:53:38

Python 基础语法

以下是 Python 基础语法 的系统梳理&#xff08;2025–2026 视角&#xff09;&#xff0c;覆盖零基础到能写小工具的常用核心内容。 我会用最清晰的分类 代码示例 常见陷阱的方式呈现&#xff0c;方便快速查阅和记忆。 1. 基本规则&#xff08;必须记住的前5条&#xff09;…

作者头像 李华
网站建设 2026/6/24 23:40:01

电影影视网站 开题

目录电影影视网站开题介绍核心功能模块技术实现要点运营与扩展方向项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作电影影视网站开题介绍 电影影视网站是一个专注于提供电影、电视剧、综艺等视频内容的在线…

作者头像 李华
网站建设 2026/6/21 11:01:17

看懂Nginx源码才发现:我和高手的差距不在算法,而在Reactor模式

很多程序员有个误解:觉得自己和高手的差距在于算法不够强、数据结构不够熟。于是拼命刷LeetCode,背红黑树的旋转规则,研究各种排序算法的时间复杂度。 但当你真正打开Nginx、Redis、Netty这些顶级开源项目的源码时,会发现一个残酷的事实:高手写的代码之所以优雅,不是因为…

作者头像 李华
网站建设 2026/6/21 11:01:16

【计算机毕业设计案例】基于java+springboot的推荐算法的图书推荐系统基于SpringBoot+推荐算法的图书推荐系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/7/1 11:04:33

交稿前一晚!自考论文救星 —— 千笔·专业学术智能体

你是否在自考论文写作中屡屡受挫&#xff1f;选题难、框架乱、查重高、格式错……每一个问题都像一座大山压在心头。面对截止日期的逼近&#xff0c;你是否也曾感到无助和焦虑&#xff1f;别再独自挣扎&#xff0c;千笔AI——专为自考生打造的智能论文助手&#xff0c;正以强大…

作者头像 李华