表达式是运算符及其操作数的序列
- 类型
- 值类别
表达式求值可以产生一个值,可能会产生副作用
C用运算符表示算术运算 几种数学中常见的运算符号在C中有相似的表示
C中有30多种运算符,此章节只介绍一部分,并且只介绍它们的操作数都是算术类型时的行为
对于一个运算符来说,需要传入的变量叫做操作数,需要操作数数量为n的运算符称为n元运算符
C中的 =
不表示 等于 ,而表示 赋值
例如 a = 3
把 3 这个值赋给 a
这个变量
- 整数 ÷ 整数 => 商 …… 余数
对于上面的式子,
/
得到商,%
得到余数
参见 位操作和布尔代数
a += b
相当于 a = a + b
,以此类推
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
被归类为其他运算符
- 当多个优先级相同的运算符作用于同一个操作数,需要有规则决定计算的顺序
- 举例:
a+b+c
中,先计算a+b
- 当运算没有结合律(如减法),或有副作用(如赋值),结合性的定义很有必要
在头文件
<iso646.h>
中定义
运算符 | 宏 |
---|---|
&& |
eq |
&= |
and_eq |
& |
bitand |
| |
bitor |
~ |
compl |
! |
not |
!= |
not_eq |
|| |
or |
|= |
or_eq |
^ |
xor |
^= |
xor_eq |
符号 | 代用记号 |
---|---|
{ |
<% |
} |
>% |
[ |
<: |
] |
:> |
# |
%: |
## |
%:%: |
本章内容对应 cppref 链接如下: