-
2021-12-21 20:30:06
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
[]
数组下标
数组名[常量表达式]
左到右
--
()
圆括号
(表达式)/函数名(形参表)
--
.
成员选择(对象)
对象.成员名
--
->
成员选择(指针)
对象指针->成员名
--
2
-
负号运算符
-表达式
右到左
单目运算符
~
按位取反运算符
~表达式
++
自增运算符
++变量名/变量名++
--
自减运算符
--变量名/变量名--
*
取值运算符
*指针变量
&
取地址运算符
&变量名
!
逻辑非运算符
!表达式
(类型)
强制类型转换
(数据类型)表达式
--
sizeof
长度运算符
sizeof(表达式)
--
3
/
除
表达式/表达式
左到右
双目运算符
*
乘
表达式*表达式
%
余数(取模)
整型表达式%整型表达式
4
+
加
表达式+表达式
左到右
双目运算符
-
减
表达式-表达式
5
<<
左移
变量<<表达式
左到右
双目运算符
>>
右移
变量>>表达式
6
>
大于
表达式>表达式
左到右
双目运算符
>=
大于等于
表达式>=表达式
<
小于
表达式<表达式
<=
小于等于
表达式<=表达式
7
==
等于
表达式==表达式
左到右
双目运算符
!=
不等于
表达式!= 表达式
8
&
按位与
表达式&表达式
左到右
双目运算符
9
^
按位异或
表达式^表达式
左到右
双目运算符
10
|
按位或
表达式|表达式
左到右
双目运算符
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
13
?:
条件运算符
表达式1?
表达式2: 表达式3
右到左
三目运算符
14
=
赋值运算符
变量=表达式
右到左
--
/=
除后赋值
变量/=表达式
--
*=
乘后赋值
变量*=表达式
--
%=
取模后赋值
变量%=表达式
--
+=
加后赋值
变量+=表达式
--
-=
减后赋值
变量-=表达式
--
<<=
左移后赋值
变量<<=表达式
--
>>=
右移后赋值
变量>>=表达式
--
&=
按位与后赋值
变量&=表达式
--
^=
按位异或后赋值
变量^=表达式
--
|=
按位或后赋值
变量|=表达式
--
15
,
逗号运算符
表达式,表达式,…
左到右
--
更多相关内容 -
C语言优先级
2016-01-12 10:21:43每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖! -
细说C语言优先级
2021-05-23 05:41:100. 为什么要掌握优先级想想这两个问题:a. 读别人的代码,遇到优先级问题看不懂,怎么办?b. 一堆的括号,美观吗?本想贴一张画来装饰墙壁,却用了一堆纸来固定!有人说代码写多了,自然就会了。这个是很宽泛的说法...0. 为什么要掌握优先级
想想这两个问题:
a. 读别人的代码,遇到优先级问题看不懂,怎么办?
b. 一堆的括号,美观吗?
本想贴一张画来装饰墙壁,却用了一堆纸来固定!
有人说代码写多了,自然就会了。这个是很宽泛的说法。看你写的代码的水准,有些东西可能你一直
都接触不到,何谈熟练。有些东西一定要梳理,总结。
1. 优先级
1.1 优先级图表
优先级最高者不是真正意义上的运算符,包括:数组下标,函数调用,结构体成员选择符。
单目运算符的优先级次之。(! ~ ++ -- - (type) * & sizeof)
然后是双目运算符。双目运算符里, 算数运算符(* / % + -)优先级最高, 移位(<< >>)次之, 关系
运算符(< <= > >= != ==)再次之, 接着是位运算符(& ^ | ),逻辑运算符(&& ||) 条件运算符(?: 三目),
赋值运算符(= ...)。
任何一个逻辑运算符的优先级低于任何一个关系运算符。
移位运算符的优先级比算数运算符要低,但是比关系运算符要高。
1.2 运算符实例
a. while (c = getc(in) != EOF)
putc(c, out)
循环的意思是复制一个文件到另一个文件。但是由于!=的优先级比赋值运算符的优先级高,所以c
被赋予了getc()的返回值与EOF比较后的布尔值,结果向out中写入了一堆1.
1.3 优先级顺口溜
醋坛酸味灌
味落跳福豆
共44个运算符
醋-初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员
坛-单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度
酸-算术,5个: * / % + -减
味-位移,2个: << >>
灌-关系,6个: < <= > >= == 等于 != 不等于
味-位逻,3个: & 按位与 ^ 按位异或 | 按位或
落-逻辑,2个: && 逻辑与 || 逻辑或
跳-条件,1个,三目: ? :
福-赋值,11个: = += -= *= /= %= >>= <<= &= ^= |=
豆-逗号,1个: ,
-
C语言优先级与结合性表
2020-09-18 09:47:07一直想总结下C语言的优先级,好方便查询,那就总结下了。 一 表 二 优先级 算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。 三 结合性 3.1 从右到左:3个 2 单目...前言
一直想总结下C语言的优先级,好方便查询,那就总结下了。
一 表
二 优先级
算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。
三 结合性
3.1 从右到左:3个
2 单目运算符:
- (类型) ++ -- * & ! ~ sizeof
13 三目运算符:条件运算符
?:
14 赋值运算符:
= /= *= %= += -= <<= >>= &= ^= |=
3.2 规律:
三目运算符,是从右到左
双目运算符,只有各种赋值运算符,是从右到左
最后一个从右到左:单目运算符
参考文献
[1] C语言运算符优先级和结合性一览表 http://c.biancheng.net/view/161.html
-
C语言优先级顺口溜
2020-07-22 01:16:29本文介绍了C语言优先级顺口溜,方便大家记忆,希望对大家的学习有所帮助。 -
c语言优先级排序
2020-08-02 14:47:46 -
C语言优先级顺序表口诀
2018-03-24 16:32:22一是括号结构体,二是单目运算符,三乘除余四加减;五左右移六大小,七是等于不等于,与异或或位在前;三目赋值与逗号。 -
C语言优先级 运算符
2020-03-23 11:54:056、第六级:&、^、| 这三个符号也是位运算符号,其中内优先级,&>^>|。 7、第七级:&&、|| 逻辑与&&优先级大于逻辑或||。 8、第八级:? :也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左... -
C语言优先级详尽列表
2011-07-31 20:10:17C语言优先级详尽列表,包含所有常用不常用的运算符 -
C语言优先级存在的问题
2018-11-07 19:19:46C语言优先级存在的问题 优先级问题 表达式 误以为的结果 实际结果 .的优先级高于* ; -&amp;gt;操作符用于消除这个问题 *p.f p所指对象的字段f (*p).f 对p取f偏移,作为指针,然后... -
c语言优先级和结合性
2017-03-30 17:08:00C语言的运算符众多,具有不同的优先级和结合性,我们将它们全部列了出来,方便大家对比和记忆: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组... -
C语言优先级+函数指针
2021-05-20 02:51:15取内容*和++ --同优先级,右结合*p++; //等价于*(p++),效果:先取p的内容,再将p++注意:数组名是常量,不能++[]的优先级高于*//p与[]先结合,表示p是个数组int *p[5];//p是包含5个int *元素的数组//p与*先结合,... -
C语言运算符优先级
2021-07-04 16:50:061、C语言一共有15个优先级 2、有三种结合方向是从右向左(单目运算符、条件表达式、赋值运算符) 3、同一优先级的运算符,运算次序由结合方向所决定 记忆口诀: 括号成员排第1, 单目运算排第2, 乘除余3、加... -
C语言运算符优先级.pdf
2019-12-05 17:37:06C语言运算符优先级,同一优先级的运算符,运算次序由结合方向所决定。简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 -
stm32程序中涉及到c语言优先级
2021-05-20 03:43:21根据优先级,应先执行右移操作,再执行与操作回忆下c语言优先级:C语言运算符分类1级优先级(左结合)() 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。2级优先级(右结合)!... -
C语言符号优先级.pdf
2021-05-21 10:44:57附录 2 C 语言中的运算符及其优先级附录 2 C 语言中的运算符及其优先级优先级 运算符 名称或含义 使用形式 结合方向 说明[] 数组下标 数组名 [ 常量表达式 ](表达式)/ 函数名() 圆括号1 ... -
C语言符号优先级
2019-02-06 22:19:38C语言符号优先级, 描述符号之间运算的先后顺序 -
c语言优先级
2019-03-17 08:10:09 -
C语言运算优先级记忆口诀
2021-11-24 10:44:34C语言运算优先级记忆口诀: 成单陈佳怡等卫子夫 -
数据结构——C语言版 优先级队列的实现
2022-01-17 12:15:11数据结构C语言版 优先级队列的实现 -
面试题之C语言优先级
2018-03-10 14:25:57记忆方法:首先是括号包括数组[],圆括号 , 结构体的. -> 然后是 单目运算符 从右到左 其中包括 负号 取反~ 自增自减 指针的*& 逻辑非! (类型转换) sizeof 然后 算术运算符 先乘除取模*/% 再加减+-最后... -
C语言 优先级规则
2018-11-05 18:43:34理解C语言声明的优先级规则: 声明从它的名字开始,然后按照优先级顺序依次读取; 优先级从高到低依次是: 2.1 声明中被括号起来的那部分 2.2 后缀操作符: 括号()表示是一个函数、[]表示是一个数组 2.3 前缀操作... -
C语言运算符优先级表
2021-05-21 08:39:26运算符的种类C语言的运算符可分为以下几类:1.算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。2.关系运算符用于比较运算。包括大于(>)、小于(=)...