问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言34种运算符和15歌等级运算优先顺序,各是什么!!

发布网友 发布时间:2022-04-30 14:46

我来回答

3个回答

热心网友 时间:2022-06-25 15:13

表达式在编译时,计算机是这么理解的,先把表达示全部压入栈内,然后再弹出,如果发现弹出的是运算符,则等到再弹出另一个运算符,比较两个运算符的优先级,如果前者优先或同级的话,则将运算符的前一个出栈数和后一个出栈数进行该运算符的运算,然后把运算结果入栈;如果优先级小的话,则再继续弹出栈顶元素.直到有一个运算符被运算,并且结果入栈,然后把未使用的出栈数和出栈运算符,按出栈的先后再次入栈(先出后入,后出先入).最后整个表达示得出结果.

这个过程一般被理解为按右结合.
比如表达示:
x=x*x+4^y+5+6+7
x=3;
则x的求值过程为:
x=4*4+4^2+5+13
x=x*x+4^2+18
x=x*x+34
x=9+34
x=43
赋值运算符的优先级一般最小,是最后计算的.所以得出43的值再赋值给x
-=,+=,*=,/=也算是赋值运算符,他们叫做复合运算符,和赋值运算符同一优先级,按右结合原则运算.

我再补充一点吧

以下全部引用自:(<<C语言编程宝典>>)

各个运算符:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
————————————————————————————
+ 加, 一目取正
- 减, 一目取负
* 乘
/ 除
% 取模
-- 减1
++ 加1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
—————————————————————————————
&& 逻辑与
|| 逻辑或
! 逻辑非
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
—————————————————————————————
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
————————————————————————————
& 位逻辑与
| 位逻辑或
^ 位逻辑异或
- 位逻辑反
>> 右移
<< 左移
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Turbo C运算符的优先次序
━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━
表达式 ┃优先级
————————————————————————————╂————
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)┃ 最高
————————————————————————————┃ ↑
!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)┃ │
————————————————————————————┃ │
*(指针所指内容) type(函数说明) sizeof(长度计算) ┃ │
————————————————————————————┃ │
*(乘) /(除) %(取模) ┃ │
————————————————————————————┃ │
+(加) -(减) ┃ │
————————————————————————————┃ │
<<(位左移) >>(位右移) ┃ │
————————————————————————————┃ │
<(小于) <=(小于等于) >(大于) >=(大于等于) ┃ │
————————————————————————————┃ │
==(等于) !=(不等于) ┃ │
————————————————————————————┃ │
&(位与) ┃ │
————————————————————————————┃ │
^(位异或) ┃ │
————————————————————————————┃ │
|(位或) ┃ │
————————————————————————————┃ │
&&(逻辑与) ┃ │
————————————————————————————┃ │
||(逻辑或) ┃ │
————————————————————————————┃ │
?:(?表达式) ┃ │
————————————————————————————┃ │
= += -=(联合操作) ┃ │
————————————————————————————┃ │
,(逗号运算符) ┃ 最低
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
另外,站长团上有产品团购,便宜有保证

热心网友 时间:2022-06-25 15:13

单算关 位逻 条赋逗,大致这样

热心网友 时间:2022-06-25 15:14

() [] -> . left to right
! ~ ++ -- + - * (type) sizeof right to left
* / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right
& left to right
^ left to right
| left to right
&& left to right
|| left to right
?: right to left
= += -= *= /= %= &= ^= |= <<= >>= right to left
, left to right
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
轻度慢性萎缩性胃炎 活动期,伴轻度肠 化 胃角多发糜烂。医生说了我... 胃窦粘膜慢性轻度萎缩性炎伴轻度肠化胃窦粘膜慢性轻度萎缩性炎? 芬兰留学读研费用是多少 芬兰留学读研时间 去芬兰留学学费生活费一年要多少 芬兰留学读研费用是多少? 芬兰留学读研学费多少? 感冒好多天了,可不可以打蓝球或者其它运动出出汗啊? 感冒打喷嚏,鼻塞然后可以让自己多出出汗吗 宝宝感冒了能去游泳吗 2/3 1/4怎样计算? 谁可以把C语言的32个关键字,9种控制语句,34个运算符帮我弄个详细的表给我啊.每一个都要详细啊. 2/3-1/4怎样计算 2/3减1/4等于多少? c语言里,a/b什么意思? 2/3-1/4等于多少? C语言中有32个关键词、9种控制语句和34种运算符分别是哪些? c语言34个运算符是哪些? C语言公有34种运算符都是什么 医保是缴多少年的 医保究竟要交多少年? 取得集团公司的内部借款利息的专票可以抵扣进项税吗? 抖音切换账户箭头没了 企业开具的借款利息发票可抵扣进项税吗 非金融企业开具的利息发票可以抵扣进项税吗 为什么购进贷款服务不能抵扣进项?税务局解释因为存款利息不征税, 但是贷款途径不都是从银行啊,如果从 开的利息发票销项税能用进项抵扣吗 1岁半每天睡眠时间 1岁半宝宝最佳睡眠时间 1岁宝宝睡眠时间 2/3加1/4等于多少 在c语言中要求参加运算的数必须是整数的运算符是 1/2+括号2/3-1/4等于多少结果化成分数 C语言的45种运算符都是什么? 2/3-1/4-1/5等于多少? 在C语言里运算符可分为几类 2/3×1/4等于多少。 一减括号2/3-1/4等于多少? 2/3-1/4,加8分之三等于多少? 2/3减1/4等于多少,结果要化成分数 2/3一(1/4+1/4)等于多少要有过程? (2/3-1/4+5/12)除以24等于多少? 简便计算写过程。 2/3仅1/4等于几分之几过程写出来 2/3-1/4+3/5等于多少? 12-2/3-1/4等于几分之几? (2/3-1/4+5/12)除以1/24等于多少? 简便计算写过程。 2/3十1/4等于多少 2/5 +1/3 +1/4等于多少? 山西太原除了醋有什么特产? 电脑真大神请进,win8怎么关掉3D加速???