打印
[应用方案]

C语言运算符优先级一览表

[复制链接]
1513|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tabmone|  楼主 | 2024-4-21 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

[color=var(--comiis-color)]C语言运算符优先级一览表:

优先级运算符名称或含义使用形式结合方向说明
1[]数组下标数组名[常量表达式]左到右
()圆括号(表达式)
函数名(形参表)
.成员选择(对象)对象.成员名
->成员选择(指针)对象指针->成员名
2-负号运算符-表达式右到左单目运算符
(类型)强制类型转换(数据类型)表达式
++自增运算符++变量名单目运算符
变量名++
--自减运算符--变量名单目运算符
变量名--
*取值运算符*指针变量单目运算符
&取地址运算符&变量名单目运算符
!逻辑非运算符!表达式单目运算符
~按位取反运算符~表达式单目运算符
sizeof长度运算符sizeof(表达式)
3/表达式 / 表达式左到右双目运算符
*表达式*表达式双目运算符
%余数(取模)整型表达式%整型表达式双目运算符


使用特权

评论回复
沙发
mollylawrence| | 2024-5-1 20:06 | 只看该作者
C语言中的运算符优先级决定了表达式中各个运算符的执行顺序。当表达式包含多个运算符时,优先级高的运算符会先被计算。

使用特权

评论回复
板凳
timfordlare| | 2024-5-4 19:51 | 只看该作者
运算符优先级并不是绝对的              

使用特权

评论回复
地板
bestwell| | 2024-5-8 21:57 | 只看该作者
a + b * c 和 (a + b) * c 的结果是不同的,因为乘法运算符的优先级高于加法运算符。

使用特权

评论回复
5
rosemoore| | 2024-5-9 15:14 | 只看该作者
位运算符的优先级低于算术运算符,高于赋值运算符。另外,赋值运算符和条件运算符的结合性是从右至左,与其他运算符的结合性不同。

使用特权

评论回复
6
pixhw| | 2024-5-9 17:55 | 只看该作者
最高优先级:包括各种括号(如()、[])、成员访问运算符(如.和->*)。
第二优先级:所有单目运算符,例如自增(++)、自减(--)、逻辑非(!)、位非(~)等。
第三优先级:乘法(*)、除法(/)、取模(%)运算符。
第四优先级:加法(+)、减法(-)运算符。
第五优先级:移位运算符,包括左移(<<)和右移(>>)。
第六优先级:关系运算符,包括大于(>)、大于等于(>=)、小于(<)、小于等于(<=)。
第七优先级:相等性运算符,包括等于(==)和不等于(!=)。
第八至十优先级:分别是按位与(&)、按位异或(^)、按位或(|)。
第十一至十二优先级:逻辑与(&&)和逻辑或(||)。
第十三优先级:条件运算符(? :)。
第十四优先级:各种赋值运算符,如等于(=)、加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)等。
最低优先级:逗号运算符(,)。

使用特权

评论回复
7
adolphcocker| | 2024-5-10 11:38 | 只看该作者
可以通过使用圆括号来改变运算顺序。

使用特权

评论回复
8
biechedan| | 2024-5-10 20:06 | 只看该作者
面是一览表,展示了C语言中运算符的优先级从高到低的顺序,以及它们的结合性(即当运算符的优先级相同时,如何确定运算的顺序):

括号(()):最高优先级,用于改变运算顺序。
负号(-)、类型转换([], (), .):用于单目运算,优先级相同。
乘法(*)、除法(/)、模运算(%):从左至右结合。
加法(+)、减法(-):从左至右结合。
左移(<<)、右移(>>):从左至右结合。
小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)、不等于(!=):从左至右结合。
位与(&):从左至右结合。
位异或(^):从左至右结合。
位或(|):从左至右结合。
逻辑与(&&):从左至右结合。
逻辑或(||):从左至右结合。
条件运算符(?:):从左至右结合。
赋值(=、+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=):从右至左结合。
逗号(,):最低优先级,用于分隔表达式列表。

使用特权

评论回复
9
linfelix| | 2024-5-10 20:59 | 只看该作者
在C语言中,运算符的优先级决定了表达式中各运算的执行顺序。掌握运算符的优先级对于编写出高效且正确的代码至关重要。

使用特权

评论回复
10
maudlu| | 2024-5-12 12:30 | 只看该作者
逗号运算符在表达式中用于分隔多个表达式,整个逗号表达式的值为最后一个表达式的值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

1195

帖子

0

粉丝