c语言中的非运算符作用,c语言中的!9为什么是0,非运算符如何使用

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

这个过程一般被理解为按右结合.

比如表达示:

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

-=,+=,*=,/=也算是赋值运算符,他们叫做复合运算符,和赋值运算符同一优先级,按右结合原则运算.

我再补充一点吧

以下全部引用自:(<>)

各个运算符:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

————————————————————————————

+ 加, 一目取正

- 减, 一目取负

* 乘

/ 除

% 取模

-- 减1

++ 加1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

—————————————————————————————

&& 逻辑与

|| 逻辑或

! 逻辑非

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

—————————————————————————————

> 大于

>= 大于等于

< 小于

<= 小于等于

== 等于

!= 不等于

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

————————————————————————————

& 位逻辑与

| 位逻辑或

^ 位逻辑异或

- 位逻辑反

>> 右移

<< 左移

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

turbo c运算符的优先次序

━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━

表达式 ┃优先级

————————————————————————————╂————

()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)┃ 最高

————————————————————————————┃ ↑

!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)┃ │

————————————————————————————┃ │

*(指针所指内容) type(函数说明) sizeof(长度计算) ┃ │

————————————————————————————┃ │

*(乘) /(除) %(取模) ┃ │

————————————————————————————┃ │

+(加) -(减) ┃ │

————————————————————————————┃ │

<>(位右移) ┃ │

————————————————————————————┃ │

(大于) >=(大于等于) ┃ │

————————————————————————————┃ │

==(等于) !=(不等于) ┃ │

————————————————————————————┃ │

&(位与) ┃ │

————————————————————————————┃ │

^(位异或) ┃ │

————————————————————————————┃ │

|(位或) ┃ │

————————————————————————————┃ │

&&(逻辑与) ┃ │

————————————————————————————┃ │

||(逻辑或) ┃ │

————————————————————————————┃ │

?:(?表达式) ┃ │

————————————————————————————┃ │

= += -=(联合操作) ┃ │

————————————————————————————┃ │

,(逗号运算符) ┃ 最低

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值