theme: channing-cyan highlight: a11y-dark
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
运算符是任何编程语言的基础。因此,如果不使用运算符,C/C++ 编程语言的功能是不完整的。我们可以将运算符定义为帮助我们对操作数执行特定数学和逻辑计算的符号。换句话说,我们可以说操作符操作操作数。 例如,考虑以下语句: \
c = a + b;
这里,'+' 是称为加法运算符的运算符,'a' 和 'b' 是操作数。加法运算符告诉编译器将操作数 'a' 和 'b' 相加。
C/C++ 有很多内置的运算符类型,它们的分类如下: \
a = 10;
b = 20;
ch = 'y';
2. “+=” :此运算符是 '+' 和 '=' 运算符的组合。此运算符首先将左侧变量的当前值与右侧值相加,然后将结果赋给左侧变量。 例子: \
(a += b) 可以写成 (a = a + b)
例子: \
(a -= b) 可以写成 (a = a - b)
(a *= b) 可以写成 (a = a * b)
(a /= b) 可以写成 (a = a / b)
运算符优先级图表
下表描述了 C/C++ 中运算符的优先顺序和结合性。运算符的优先级从上到下递减。 \
优先级 | 运算符 | 描述 | 关联性 |
---|---|---|---|
1 | () | 括号(函数调用) | 左到右 |
[] | 括号(数组下标) | ||
. | 通过对象名称选择成员 | ||
-> | 通过指针选择成员 | ||
++/– | 后缀递增/递减 | ||
2 | ++/– | 前缀递增/递减 | 右到左 |
+/- | 一元加/减 | ||
!~ | 逻辑否定/按位补码 | ||
(type) | Cast(将值转换为类型的临时值) | ||
* | 取消引用 | ||
& | 地址(操作数) | ||
sizeof | 确定此实现的大小(以字节为单位) | ||
3 | *,/,% | 乘法/除法/模数 | 左到右 |
4 | +/- | 加法/减法 | 左到右 |
5 | << , >> | 按位左移,按位右移 | 左到右 |
6 | < , <= | 关系小于/小于或等于 | 左到右 |
> , >= | 关系大于/大于或等于 | 左到右 | |
7 | == , != | 关系等于/不等于 | 左到右 |
8 | & | 按位与 | 左到右 |
9 | ^ | 按位异或 | 左到右 |
10 | 一条竖杠 | 按位或 | |
11 | && | 逻辑与 | 左到右 |
12 | 两条竖杠 | 逻辑或 | |
13 | ?: | 三元条件 | 右到左 |
14 | = | 任务 | 右到左 |
+= , -= | 加法/减法赋值 | ||
*= , /= | 乘法/除法赋值 | ||
%= , &= | 模数/按位与赋值 | ||
^= , | = | 按位异/包含 OR 赋值 | |
<>= | 按位左移/右移赋值 | ||
15 | , | 表达式分隔符 | 左到右 |