C语言运算符优先级顺序

我知道从高到低为:圆括号 单目运算符 算术运算符 关系运算符 逻辑运算符 三目运算符 赋值运算符 逗号运算符
如:() ! + - */% + - > >= < <= == != && || ?: = ,
问按位运算符(& | ^ ~ >> <<)应该插在上面的哪里?

C语言运算符优先级顺序如下所示:

自增运算符 ++ 和自减运算符 --,在作后缀运算符(如表达式 x++)时,较其用作前缀运算符(如表达式 ++x)时,具有较高的优先级。

+、-、* 和 & 运算符记号不但可以当作一元运算符(unary operator,只需要一个操作数),也可以当作二元运算符(binary operator,需要两个操作数)。例如,* 只有一个操作数的时候,就是间接运算符(indirection operator),而有两个操作数的时候,就是乘号。

扩展资料

一个表达式可以包含多个运算符。在这种情况下,运算符的优先级决定表达式的哪部分被处理为每个运算符的操作数。例如,按照运算规则,表达式中 *、/、以及 % 的优先级比 + 和 - 高。如下列表达式:

a - b * c

相当于 a-(b*c)。如果想让操作数以不同的方式组合在一起,则必须使用括号:

(a - b) * c

如果一个表达式中的两个操作数具有相同的优先级,那么它们的结合律(associativity)决定它们的组合方式是从左到右或是从右到左。例如,算术运算符和操作数的组合方式是从左到右,赋值运算符则是从右到左。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-05

优先级从高到低依次如下表所示,优先级数字越小,表示优先级越高。

第2个回答  2009-03-15
一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
就着多吧 结合性:2 13 14 是从右至左 其他都是 从左至右
有问题可以在交流的 共同进步本回答被提问者采纳
第3个回答  2019-12-21
一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
☆注意: 结合性:2 13 14 是 右结合(从右至左) 其他都是 左结合(从左至右)
括号成员第一     // 括号运算符[]() 成员运算符. ->
全体单目第二     // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&
乘除余三加减四   // 这个"余"是指取余运算即%
移位五,关系六    // 移位运算符:<< >> ,关系:> < >= <= 等
等于 不等排第七   // 即== 和!=
位与异或和位或    // 这几个都是位运算: 位与(&)异或(^)位或(|)
三分天下八九十
逻辑与跟或     // 逻辑运算符:|| 和 &&
十一跟十二     // 注意顺序:优先级(&&) 高于 优先级(||)
条件高于赋值   // 三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低  // 逗号运算符优先级最低
标签:
C/C++
第4个回答  2009-03-15
7级优先级 左结合
== 等于运算符
!= 不等于运算符
8级优先级 左结合
& 按位与运算符
9级优先级 左结合
在!=后面

c语言中运算符的优先级是怎样的?
c语言运算符的优先级顺序:括号运算符、一元运算符、算术运算符、移位运算符、关系运算符。1、括号运算符 括号运算符具有最高的优先级,它可以改变其他运算符的优先级顺序。使用括号可以明确表达式的计算顺序。2、一元运算符 一元运算符包括正号+、负号-、递增运算符++、递减运算符--、取地址运算符&、取...

c语言运算符的优先级顺序
c语言运算符优先级从高到低的顺序依次如下:优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。不同类型的运算符之间也有相应的优先级...

C语言运算符的优先级
1、C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。2、c语言运算符优先级从高到低的顺序依次如下:优先级从上到下依次递减,最上面具有最高...

c语言中,运算符!优先级最高的是?
运算符基本的优先级:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.逻辑运算最后结合。

C语言中算术运算符优先级的问题
C语言中算术运算符优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。基本的优先级:1、指针最优,单目运算优于双目运算。2、先运算...

c语言运算符优先级顺序表
C语言中,运算符的优先级可以分为不同级别,具体优先级顺序如下:最高优先级:单目运算符(如取反、乘方等)、赋值运算符(=、+=、-=、*=等)、逻辑非运算符(!)、关系运算符(<、<=、>、>=等)、相等运算符(==、!=等)、按位与运算符(&)、按位异或运算符(^)、按位或运算符(|...

c语言运算符优先级顺序
C语言运算符优先级,从高到低依次如下:优先级速记:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。如果不记得优先级了,使用()来确定执行顺序。有()先算()里面的。

c语言运算符序依次为?
C语言中的运算符按照从高到低的优先级顺序排列,从数值运算符开始,递减到逗号操作符的最低优先级。运算符的结合次序遵循"从高到低"的原则,即优先级高的运算符先结合,低优先级的后结合。同一行中运算符的优先级相同,不同类型的运算符,如数值、字符串、关系和逻辑运算符,各自有特定的优先级序列...

在C语言中运算符的运算顺序是如何的?
运算符也有个运算顺序问题,先算乘除再算加减。单目正和单目负最先运算。取模运算符(%)用于计算两个整数相除所得的余数。例如:a=7%4;最终a的结果是3,因为7%4的余数是3。那么有人要问了,我要想求它们的商怎么办呢?b=7\/4;这样b就是它们的商了,应该是1。也许有人就不明白了,7/4...

c语言中,计算的顺序是从哪向哪?
在C语言中,表达式的计算顺序是由运算符的优先级和结合性决定的。以下是C语言中一些常用运算符的优先级(从高到低):后缀运算符:++、-- 一元运算符:++、--、+、-、*、\/、%、&、|、^、~、!乘性运算符:*、\/ 加性运算符:+、- 移位运算符:<<、>> 关系运算符:<、>、<=、>= 相等...

相似回答