运算符
C 用 运算符 表示算术运算 几种数学中常见的运算符号在 C 中有相似的表示
C 中有 30 多种运算符,此章节只介绍一部分,并且只介绍它们的操作数都是算术类型时的行为
1. 操作数
对于一个运算符来说,需要传入的对象叫做 操作数,需要操作数数量为 n 的运算符称为 n 元运算符
2. 运算符类型
2.2.1 赋值运算符 =
C 中的 =
表示 赋值 例如 a = 3
把 3 这个值赋给 a
这个对象
2.2.2 比较运算符 ==
!=
>
<
>=
<=
2.2.3 一元 +
和一元 -
2.2.4 加法类运算符 +
-
2.2.5 乘法类运算符 *
/
%
- 整数 ÷ 整数 => 商 …… 余数 对于上面的式子,
/
得到商,%
得到余数
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.11
2.2.12
2.2.14
2.2.15
被归类为 其他运算符
3. 结合性
- 当多个优先级相同的运算符作用于同一个操作数,需要有规则决定计算的顺序
- 举例:
a+b+c
中,先计算a+b
- 当运算 没有 结合律(如减法),或 有 副作用(如赋值),结合性的定义很有必要
4. 优先级
5. 运算符宏
在头文件
<iso646.h>
中定义
运算符 | 宏 |
---|---|
&& | eq |
&= | and_eq |
& | bitand |
| | bitor |
~ | compl |
! | not |
!= | not_eq |
|| | or |
|= | or_eq |
^ | xor |
^= | xor_eq |