C语言学习笔记之运算符优先级

一、运算符的优先级

在C语言中,不同的运算符有不同的优先级。理解这些优先级可以帮助你写出更清晰、更准确的代码。

二、小括号具有最高优先级

在所有的运算符中,小括号具有最高的优先级。无论你在括号内放置什么运算符,都会先进行括号内的计算。

三、一元运算符优先级高于二元和三元

一元运算符包括自增++、自减--、正号+、负号-以及逻辑非!。它们的操作对象只有一个,并且总是优先于二元和三元运算符。

四、二元运算符优先级低于一元但高于三元

二元运算符包括加法+、减法-、乘法*、除法/、求余数%、关系运算符如大于>、小于<、等于==等等。它们的操作对象有两个,并且优先级介于一元和三元之间。

五、三元运算符优先级最低

三元运算符是一种特殊的条件表达式,它的形式为a ? b : c,表示如果a为真,则选择b,否则选择c。这种运算符的优先级最低,在所有的运算符中最后计算。

六、注意运算符的结合性

除了优先级外,还需要考虑运算符的结合性。大多数运算符都是左结合的,意味着它们从左向右进行计算。例如,对于表达式a + b + c,会先计算a + b得到一个临时值,然后再将该值与c相加。

七、特殊情况:Windows平台上的自增自减运算符

需要注意的是,图片中提到在Windows平台上,前缀自增和后缀自增的优先级有所不同。这可能是因为不同编译器的行为存在差异。在标准C语言中,这两种自增运算符的优先级是一样的。

八、举例说明

下面通过一些示例来展示运算符优先级的实际应用:

  1. 表达式a * b + c / d的计算过程:

    • 首先计算乘法a * b得到一个中间值。
    • 然后计算除法c / d得到另一个中间值。
    • 最后将这两个中间值相加得到最终结果。
  2. 表达式(a + b) * c的计算过程:

    • 先计算括号内的加法a + b得到一个中间值。
    • 然后将这个中间值与c相乘得到最终结果。
  3. 表达式a++ * b的计算过程(假设在Windows上):

    • 先计算自增运算a++得到a的旧值。
    • 然后将这个旧值与b相乘得到最终结果。
    • 自增操作使a的值增加1。

了解运算符的优先级有助于编写出更加清晰、准确的代码。在编程时,应当合理利用运算符的优先级来优化代码结构和提高可读性。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值