运算符优先级及结合

7 篇文章 0 订阅

下面的内容为本人无聊时自我猜想,不保正内容的正确性,如有问题,请见谅。

0、空格可以告诉编译器名显逻辑
1、注意向后不能连续有三个以上(---)(+++),可以用空格告诉编译器明显的逻辑。
如:不能有a++++b
可以有a+++ +b
2、注意向前不能有连续两个以上(--)(++),,可以用空格告诉编译器明显的逻辑。
如:不能有a++ +++b
可以有a+++ ++b或a++ + ++b
3、从左向右一次解释,所以
不能有交叉体
如a++++b
会分析为(a++)(++b),很显然这两者之间没有运算符,所以会出错。

而a++ + +b,会分析为(a++) + (+b)

如a+++ ++b++不正确
会解释为
(a++)+ [(++b)]++
4、当然与其它符号混合可以超过定数以上
5、取出结合体
a+++b+++ +c
a(++)+b(++)+ +c
5、取出最高优先级的" 算数表达式",在"算数表达式"中,执行算数表达式前增或后增
a=4
b=2
c=3
(a > ++b)|| (a > ++b)
结果为b=3
6、精度是按步提升

a=800
b=900
c=789
d=908.0
a*b*c+d
会出错
前三者在运算的时候,精度为int,而做”+“时,对会为double
每算一步进行一次精度检查与提升

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言运算符优先级结合性是指在一个表达式中,运算符按照优先级结合性的规则进行计算的顺序。 优先级运算符优先级指的是运算符在表达式中的优先级优先级高的运算符先计算。C语言中的运算符优先级从高到低依次为: 1. ():括号优先级最高,优先级最高的表达式先计算; 2. !、~、++、--:逻辑非、按位取反、自增、自减,优先级较高; 3. *、/、%:乘、除、取模,优先级较高; 4. +、-:加、减,优先级较低; 5. <<、>>:左移、右移,优先级较低; 6. <、<=、>、>=:比较运算符,优先级较低; 7. ==、!=:相等、不相等,优先级较低; 8. &:按位与,优先级较低; 9. ^:按位异或,优先级较低; 10. |:按位或,优先级较低; 11. &&:逻辑与,优先级最低; 12. ||:逻辑或,优先级最低。 结合性:结合性指的是运算符在表达式中的计算方向,包括左结合、右结合和不结合。C语言中的运算结合性分为以下几种: 1. 左结合优先级相同的运算符,按照从左到右的顺序进行计算。例如:a + b + c,先计算a + b,再计算结果与c相加; 2. 右结合优先级相同的运算符,按照从右到左的顺序进行计算。例如:a = b = c,先计算c赋值给b,再将b赋值给a; 3. 不结合优先级相同的运算符不能连续出现,必须使用括号明确优先级。例如:a = b + c * d,先计算c * d,再将结果与b相加,再将结果赋值给a。 在编写表达式时,需要注意运算符优先级结合性的规则,以保证表达式的计算顺序正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值