Skip to content

运算符

C 用 运算符 表示算术运算 几种数学中常见的运算符号在 C 中有相似的表示

C 中有 30 多种运算符,此章节只介绍一部分,并且只介绍它们的操作数都是算术类型时的行为

1. 操作数

对于一个运算符来说,需要传入的对象叫做 操作数,需要操作数数量为 n 的运算符称为 n 元运算符

2. 运算符类型

2.2.1 赋值运算符 =

C 中的 = 表示 赋值 例如 a = 33 这个值赋给 a 这个对象

2.2.2 比较运算符 == != > < >= <=

2.2.3 一元 + 和一元 -

2.2.4 加法类运算符 + -

2.2.5 乘法类运算符 * / %

  1. 整数 ÷ 整数 => 商 …… 余数 对于上面的式子,/ 得到商,% 得到余数

2.2.6 位运算符 & | ^ << >>

参见 位操作

2.2.7 更多的赋值运算符 += -= *= /= %= &= |= ^= <<= >>=

a += b 相当于 a = a + b,以此类推

2.2.8 逻辑运算符 && || !

2.2.9 条件运算符 ? :

2.2.10 sizeof 运算符

2.2.11 _AlignOf运算符

2.2.12 逗号运算符

2.2.13 成员访问运算符

2.2.14 函数调用运算符

2.2.15 转型运算符

2.2.1 2.2.7 合称 赋值运算符 > 2.2.3 2.2.4 2.2.5 2.2.6 合称 算术运算符 > 2.2.9 2.2.10 2.2.112.2.12 2.2.14 2.2.15 被归类为 其他运算符

3. 结合性

  1. 当多个优先级相同的运算符作用于同一个操作数,需要有规则决定计算的顺序
  2. 举例:a+b+c 中,先计算 a+b
  3. 当运算 没有 结合律(如减法),或 副作用(如赋值),结合性的定义很有必要

4. 优先级

5. 运算符宏

在头文件 <iso646.h> 中定义

运算符
&&eq
&=and_eq
&bitand
|bitor
~compl
!not
!=not_eq
||or
|=or_eq
^xor
^=xor_eq