C语言运算符优先级

在C语言中,运算符的使用方式多样,它们根据类型和功能的不同,在表达式中扮演着各自的角色。以下是根据上述优先级列出的所有运算符及其基本使用方式:

1. 后缀运算符

  • ():函数调用,如func()
  • []:数组下标访问,如array[index]
  • .:结构体成员访问,如structVar.member
  • ->:结构体指针成员访问,如ptrStruct->member

2. 前缀运算符

  • ++:自增,如++x(先增后使用)或x++(先使用后增)。
  • --:自减,如--x(先减后使用)或x--(先使用后减)。
  • +:正号,如+x(通常用于强调,实际上等同于x)。
  • -:负号,如-x(取反)。
  • *:指针的解引用,如*ptr
  • &:取地址,如&x
  • !:逻辑非,如!condition
  • ~:按位取反,如~x
  • sizeof:计算大小,如sizeof(type)sizeof expr
  • _Alignof(C11及以后):计算对齐要求,如_Alignof(type)

3. 乘法、除法、取模运算符

  • *:乘法,如x * y
  • /:除法,如x / y
  • %:取模(求余),如x % y

4. 加法、减法运算符

  • +:加法,如x + y
  • -:减法,如x - y

5. 移位运算符

  • <<:左移,如x << n(将x的二进制位向左移动n位)。
  • >>:右移,如x >> n(将x的二进制位向右移动n位)。

6. 关系运算符

  • <:小于,如x < y
  • >:大于,如x > y
  • <=:小于等于,如x <= y
  • >=:大于等于,如x >= y

7. 等于、不等于运算符

  • ==:等于,如x == y
  • !=:不等于,如x != y

8. 按位与运算符

  • &:按位与,如x & y(对xy的每一位执行与操作)。

9. 按位异或运算符

  • ^:按位异或,如x ^ y(对xy的每一位执行异或操作)。

10. 按位或运算符

  • |:按位或,如x | y(对xy的每一位执行或操作)。

11. 逻辑与运算符

  • &&:逻辑与,如condition1 && condition2(两个条件都为真时结果才为真)。

12. 逻辑或运算符

  • ||:逻辑或,如condition1 || condition2(两个条件中只要有一个为真,结果就为真)。

13. 条件运算符

  • ? ::条件运算符,如condition ? expr1 : expr2(如果condition为真,则结果为expr1,否则为expr2)。

14. 赋值运算符

  • =:简单赋值,如x = y
  • 复合赋值(如+=-=*=/=%=<<=>>=&=^=|=),它们结合了赋值和算术、位或逻辑运算,如x += y(等同于x = x + y)。

15. 逗号运算符

  • ,:逗号运算符,用于顺序执行多个表达式,如expr1, expr2(整个表达式的值为expr2的值)。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值