Arduino - 运算符



运算符是一个符号,它告诉编译器执行特定的数学或逻辑函数。C 语言富含内置运算符,并提供以下类型的运算符:

  • 算术运算符
  • 比较运算符
  • 布尔运算符
  • 位运算符
  • 复合运算符

算术运算符

假设变量 A 包含 10,变量 B 包含 20,则:

显示示例

运算符名称 运算符简写 描述 示例
赋值运算符 = 将等号右侧的值存储到等号左侧的变量中。 A = B
加法 + 将两个操作数相加 A + B 将得到 30
减法 - 从第一个操作数中减去第二个操作数 A - B 将得到 -10
乘法 * 将两个操作数相乘 A * B 将得到 200
除法 / 将分子除以分母 B / A 将得到 2
取模 % 模运算符,返回整数除法后的余数 B % A 将得到 0

比较运算符

假设变量 A 包含 10,变量 B 包含 20,则:

显示示例

运算符名称 运算符简写 描述 示例
等于 == 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 为假
不等于 != 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真
小于 < 检查左侧操作数的值是否小于右侧操作数的值,如果是则条件为真。 (A < B) 为真
大于 > 检查左侧操作数的值是否大于右侧操作数的值,如果是则条件为真。 (A > B) 为假
小于或等于 <= 检查左侧操作数的值是否小于或等于右侧操作数的值,如果是则条件为真。 (A <= B) 为真
大于或等于 >= 检查左侧操作数的值是否大于或等于右侧操作数的值,如果是则条件为真。 (A >= B) 为假

布尔运算符

假设变量 A 包含 10,变量 B 包含 20,则:

显示示例

运算符名称 运算符简写 描述 示例
&& 称为逻辑与运算符。如果两个操作数均不为零,则条件为真。 (A && B) 为真
|| 称为逻辑或运算符。如果两个操作数中任何一个不为零,则条件为真。 (A || B) 为真
! 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将使其为假。 !(A && B) 为假

位运算符

假设变量 A 包含 60,变量 B 包含 13,则:

显示示例

运算符名称 运算符简写 描述 示例
& 二进制与运算符复制存在于两个操作数中的位到结果中。 (A & B) 将得到 12,即 0000 1100
| 二进制或运算符复制存在于任何一个操作数中的位。 (A | B) 将得到 61,即 0011 1101
异或 ^ 二进制异或运算符复制仅在一个操作数中设置的位。 (A ^ B) 将得到 49,即 0011 0001
~ 二进制取反运算符是一元的,其作用是“翻转”位。 (~A ) 将得到 -60,即 1100 0011
左移 << 二进制左移运算符。左侧操作数的值向左移动右侧操作数指定的位数。 A << 2 将得到 240,即 1111 0000
右移 >> 二进制右移运算符。左侧操作数的值向右移动右侧操作数指定的位数。 A >> 2 将得到 15,即 0000 1111

复合运算符

假设变量 A 包含 10,变量 B 包含 20,则:

显示示例

运算符名称 运算符简写 描述 示例
自增 ++ 自增运算符,将整数的值增加 1 A++ 将得到 11
自减 -- 自减运算符,将整数的值减少 1 A-- 将得到 9
复合加法 += 加法赋值运算符。它将右侧操作数加到左侧操作数上,并将结果赋值给左侧操作数 B += A 等价于 B = B+ A
复合减法 -= 减法赋值运算符。它从左侧操作数中减去右侧操作数,并将结果赋值给左侧操作数 B -= A 等价于 B = B - A
复合乘法 *= 乘法赋值运算符。它将右侧操作数乘以左侧操作数,并将结果赋值给左侧操作数 B*= A 等价于 B = B* A
复合除法 /= 除法赋值运算符。它将左侧操作数除以右侧操作数,并将结果赋值给左侧操作数 B /= A 等价于 B = B / A
复合取模 %= 模赋值运算符。它使用两个操作数进行模运算,并将结果赋值给左侧操作数 B %= A 等价于 B = B % A
复合按位或 |= 按位或赋值运算符 A |= 2 等价于 A = A | 2
复合按位与 &= 按位与赋值运算符 A &= 2 等价于 A = A & 2
广告