博客
关于我
关于C之运算符优先级
阅读量:677 次
发布时间:2019-03-16

本文共 1555 字,大约阅读时间需要 5 分钟。

C语言运算符优先级说明

运算符在C语言中的优先级和结合方向直接影响代码的执行结果。理解运算符的优先级规则有助于避免逻辑错误。以下是C语言中常见运算符的优先级列表:

1. 继续

  • []:数组下标
    • 使用形式:数组名[整型表达式]
    • 结合方向:左到右

2. ()

  • ():圆括号
    • 使用形式:(表达式)/函数名(形参表)
    • 结合方向:无结合

3. .

  • .:成员选择(对象)
    • 使用形式:对象.成员名
    • 结合方向:无结合

4. ->

  • ->:成员选择(指针)
    • 使用形式:对象指针->成员名
    • 结合方向:无结合

5. 2. 单目运算符

  • -:负号运算符
    • 使用形式:-算术类型表达式
    • 结合方向:右到左

6. ()

  • type:强制类型转换
    • 使用形式:(纯量数据类型)纯量表达式
    • 结合方向:无结合

7. ++、--

  • ++、--:自增、自减运算符
    • 使用形式:
      • ++纯量类型可修改左值表达式
      • --纯量类型可修改左值表达式
    • 结合方向:单目运算符

8. *, &

  • *、&:取值、取地址运算符
    • 使用形式:
      • *指针类型表达式
      • &表达式
    • 结合方向:单目运算符

9. !, ~, sizeof

  • !:逻辑非运算符
    • 使用形式:!纯量类型表达式
  • ~:按位取反运算符
    • 使用形式:~整型表达式
  • sizeof:长度运算符
    • 使用形式:
      • sizeof 表达式
      • sizeof(类型)
    • 结合方向:无结合

10. 3. 双目运算符

  • /、*、%:除、乘、余数运算符
    • 使用形式:
      • 表达式/表达式
      • 表达式*表达式
      • 整型表达式%整型表达式
    • 结合方向:左到右

11. 4. 常见算术运算符

  • +、-:加、减运算符
    • 使用形式:
      • 表达式+表达式
      • 表达式-表达式
    • 结合方向:左到右

12. 5. 移位运算符

  • <<、>>:左移、右移运算符
    • 使用形式:
      • 整型表达式<<整型表达式
      • 整型表达式>>整型表达式
    • 结合方向:左到右

13. 6. 关系运算符

  • >、>=、<、<=:大于、大于等于、小于、小于等于运算符
    • 使用形式:
      • 表达式>表达式
      • 表达式>=表达式
      • 表达式<表达式
      • 表达式<=表达式
    • 结合方向:左到右

14. 7. 等式运算符

  • ==、!=:等于、不等于运算符
    • 使用形式:
      • 表达式==表达式
      • 表达式!=表达式
    • 结合方向:左到右

15. 按位运算符

  • &、^、|:按位与、按位异或、按位或运算符
    • 使用形式:
      • 整型表达式&整型表达式
      • 整型表达式^整型表达式
      • 整型表达式|整型表达式
    • 结合方向:左到右

16. 8. 逻辑运算符

  • &&、||:逻辑与、逻辑或运算符
    • 使用形式:
      • 表达式&&表达式
      • 表达式||表达式
    • 结合方向:左到右

17. 9. 赋值运算符

  • =、/=、*=、%=、<<=、>>=、&=、^=、|=:赋值运算符
    • 使用形式:
      • 可修改左值表达式=表达式
      • 可修改左值表达式/=表达式
      • 可修改左值表达式*=表达式
      • 可修改左值表达式%=表达式
      • 可修改左值表达式+=表达式
      • 可修改左值表达式-=表达式
      • 可修改左值表达式<<=表达式
      • 可修改左值表达式>>=表达式
      • 可修改左值表达式&=表达式
      • 可修改左值表达式^=表达式
      • 可修改左值表达式|=表达式
    • 结合方向:右到左

18. 10. 逗号运算符

  • ,:逗号运算符
    • 使用形式:表达式,表达式,…
    • 结合方向:左到右

运算符结合方向规则

  • 右结合:以下运算符遵循右结合:
    • !
    • --
    • +=
    • -=
    • *=
    • /=
    • %=
    • <<=
    • >>=
    • &=
    • ^=
    • |=
  • 左结合:以下运算符遵循左结合:
    • 算术运算符(+, -, *, /, %, <<, >>)
    • 关系运算符(>, >=, <, <=)
    • ==, !=
    • &&, ||
    • 按位运算符(&, ^, |)
  • 单目运算符:自增、自减、逻辑非、取反、取值、取地址运算符,均为单目运算符。

了解这些运算符的优先级和结合方向,有助于编写更高效、更正确的C代码。

转载地址:http://rnmqz.baihongyu.com/

你可能感兴趣的文章
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>
python各进制的表述与转换
查看>>
python各种库安装
查看>>
python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
查看>>
python可维护性_使用这7大神器,让你的Python 代码更容易于维护
查看>>
Python只运行一次while循环
查看>>
python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
查看>>
Python变量命名方法-ChatGPT4o作答
查看>>
Python变量与运算符
查看>>
Python变量/运算符/函数/模块/string
查看>>
python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法
查看>>
python系列【仅供参考】:python flask框架 debug功能
查看>>
python发送notes邮件_使用python在Lotus Notes中发送邮件
查看>>
Python双版本下创建一个Scrapy(西瓜皮)项目
查看>>
Python双版本下No module named 'requests'
查看>>
python及pycharm2018软件安装教程
查看>>