C语言运算符优先级

在C语言中,运算符的优先级决定了表达式中运算符的执行顺序。以下是C语言中常见运算符的优先级列表,从高到低:

  1. 圆括号 ():最高优先级,用于强制改变表达式的计算顺序。

  2. #include <stdio.h>
    
    int main() {
        int result = 2 + 3 * 4;
        printf("Without parentheses: %d\n", result); // 输出:14
    
        result = (2 + 3) * 4;
        printf("With parentheses: %d\n", result); // 输出:20
    
        return 0;
    }
    

    在第一个表达式中,乘法优先于加法,因此先计算3乘以4,再加2,结果为14。在第二个表达式中,由于有圆括号,先计算括号内的加法,结果为5,再乘以4,结果为20。

  3. 单目递增和递减运算符 ++ --:作用于变量时优先级高于其他运算符。

  4. #include <stdio.h>
    
    int main() {
        int a = 5, b = 5, c;
    
        c = ++a * 2;
        printf("Pre-increment: %d\n", c); // 输出:12
    
        c = b++ * 2;
        printf("Post-increment: %d\n", c); // 输出:10
    
        return 0;
    }
    

    在第一个表达式中,++a 先递增a,然后再乘以2,结果为12。在第二个表达式中,b++ 先用b的原始值乘以2,然后再递增b,结果为10。

  5. 取地址运算符 & 和间接访问运算符 *:优先级高于其他运算符。

  6. 乘法和除法 * / %:乘法、除法和取模运算的优先级相同,按从左到右顺序计算。

  7. 加法和减法 + -:加法和减法运算的优先级相同,按从左到右顺序计算。

  8. 关系运算符 < > <= >=:用于比较两个表达式的值,优先级高于相等性运算符但低于算术运算符。

  9. 相等性运算符 == !=:用于检查两个表达式是否相等,优先级低于关系运算符但高于逻辑运算符。

  10. 逻辑非 !:用于对表达式取反,优先级低于所有关系和相等性运算符。

  11. 逻辑与 &&:用于逻辑与运算,优先级低于逻辑非。

  12. 逻辑或 ||:用于逻辑或运算,优先级低于逻辑与。

  13. 条件运算符 ? ::用于根据条件选择执行不同的操作,优先级较低。

  14. 赋值运算符 =:用于给变量赋值,优先级最低。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值