news 2026/6/10 13:32:54

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/6/10 11:43:54

【毕业设计】SpringBoot+Vue+MySQL Spring Boot企业员工薪酬关系系统平台源码+数据库+论文+部署文档

系统架构设计### 摘要 随着信息技术的快速发展&#xff0c;企业管理的数字化和智能化需求日益增长&#xff0c;薪酬管理作为企业人力资源管理的核心环节&#xff0c;传统的手工操作模式已无法满足现代企业对高效、精准和透明管理的需求。企业薪酬管理系统能够有效整合薪资计算、…

作者头像 李华
网站建设 2026/6/10 16:04:18

爱心捐助平台开题报告

目录 爱心捐助平台开题报告概述项目背景与意义平台核心功能技术方案创新点与难点预期成果参考文献与资料 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 爱心捐助平台开题报告概述 爱心捐助平台是一种基…

作者头像 李华
网站建设 2026/6/10 12:59:00

【课程设计/毕业设计】基于Spring Boot的二手图书交易系统基于SpringBoot的二手交易系统【附源码、数据库、万字文档】

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

作者头像 李华
网站建设 2026/6/10 12:55:48

OBS使用教程:OBS多路推流插件怎么用?如何下载?如何安装?

OBS使用教程&#xff1a;OBS多路推流插件怎么用&#xff1f;如何下载&#xff1f;如何安装&#xff1f; 具体如何下载&#xff1f;如何安装&#xff1f;如何使用&#xff1f;我写了一个保姆级教程&#xff0c;请往下看&#xff0c;步骤很详细的&#xff0c;你一定看得懂 第一步…

作者头像 李华
网站建设 2026/6/9 18:31:46

导师推荐10个降AIGC平台 千笔AI助专科生轻松降AI率

AI降重工具&#xff1a;专科生论文的“隐形助手” 随着人工智能技术在学术领域的广泛应用&#xff0c;越来越多的论文开始出现明显的AI痕迹&#xff0c;导致AIGC率过高&#xff0c;影响论文质量与通过率。对于专科生而言&#xff0c;这无疑是一个巨大的挑战。然而&#xff0c;…

作者头像 李华