博客
关于我
关于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/

你可能感兴趣的文章
SharePoint 2013 图文开发系列之定义站点模板
查看>>
PCB生产流程详解-ChatGPT4o作答
查看>>
PCB设计十条黄金法则
查看>>
SpringSecurity框架介绍
查看>>
PCI Express学习篇:Power Management(二)
查看>>
pcie握手机制_【博文连载】PCIe扫盲——Ack/Nak 机制详解(一)
查看>>
pcm转wav的方法及代码示例
查看>>
PC史上最悲剧的16次失败
查看>>
PC端恶意代码分析Lab1.1-5.1,从零基础到精通,收藏这篇就够了!
查看>>
PC端稳定性测试探索
查看>>
PC端编辑 但能在PC端模拟移动端预览的富文本编辑器
查看>>
PDB文件:每个开发人员都必须知道的
查看>>
springMVC学习(二)
查看>>
Pdfkit页眉和页脚
查看>>
PDF中的Pandoc语法突出显示不起作用
查看>>
pdf从结构新建书签_在PDF文件中怎样创建书签
查看>>
pdf做成翻页电子书_第一弹:常见BOOX电子书阅读器问题解答,这些技能你都会吗?...
查看>>
PDF工具箱-分割提取合并
查看>>
PDF文字识/编辑?这个工具真的很强大!
查看>>
pdf文档出现乱码如何修改
查看>>