Arduino - 运算符
优质
小牛编辑
130浏览
2023-12-01
运算符是告诉编译器执行特定数学或逻辑函数的符号。 C语言内置运算符丰富,并提供以下类型的运算符 -
- 算术运算符
- 比较运算符
- 布尔运算符
- 按位运算符
- 复合算子
算术运算符 (Arithmetic Operators)
假设变量A保持10,变量B保持20然后 -
运算符名称 | 运算符简单 | 描述 | 例 |
---|---|---|---|
赋值运算符 | = | 将值存储在等号左侧的变量中等号的右侧。 | A = B. |
加法 | + | 添加两个操作数 | A + B将给出30 |
减法 | - | 从第一个减去第二个操作数 | A - B将给-10 |
乘法 | * | 将两个操作数相乘 | A * B将给出200 |
division | / | Divide numerator by denominator | B/A会给2 |
modulo | % | 模数运算符和整数除法后的余数 | B%A将给出0 |
比较运算符 (Comparison Operators)
假设变量A保持10,变量B保持20然后 -
运算符名称 | 运算符简单 | 描述 | 例 |
---|---|---|---|
equal to | == | 检查两个操作数的值是否相等,如果是,则条件变为真。 | (A == B)不是真的 |
not equal to | != | 检查两个操作数的值是否相等,如果值不相等则条件变为真。 | (A!= B)是真的 |
less than | < | 检查左操作数的值是否小于右操作数的值,如果是,则条件变为真。 | (A < B) 为真 |
greater than | > | 检查左操作数的值是否大于右操作数的值,如果是,则条件变为真。 | (A> B)不是真的 |
小于或等于 | <= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件变为真。 | (A <= B)是真的 |
大于或等于 | >= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件变为真。 | (A> = B)不是真的 |
布尔运算符
假设变量A保持10,变量B保持20然后 -
运算符名称 | 运算符简单 | 描述 | 例 |
---|---|---|---|
and | && | 称为逻辑AND运算符。 如果两个操作数都不为零,则条件变为真。 | (A && B)是真的 |
or | || | 称为逻辑OR运算符。 如果两个操作数中的任何一个非零,则条件变为真。 | (A || B)是真的 |
not | ! | 称为逻辑非运算符。 用于反转其操作数的逻辑状态。 如果条件为真,则Logical NOT运算符将为false。 | !(A && B)是假的 |
按位运算符 (Bitwise Operators)
假设变量A保持60,变量B保持13然后 -
运算符名称 | 运算符简单 | 描述 | 例 |
---|---|---|---|
and | & | 如果二进制AND运算符存在于两个操作数中,则它会将结果复制到结果中。 | (A&B)将给出12,即0000 1100 |
or | | | 二进制OR运算符如果存在于任一操作数中,则复制一位 | (A | B)将给出61,即0011 1101 |
xor | ^ | 二进制异或运算符如果在一个操作数中设置但不在两个操作数中设置,则复制该位。 | (A ^ B)将给出49,即0011 0001 |
not | ~ | 二元一元补语运算符是一元的,具有“翻转”位的效果。 | (~A)将给出-60,即1100 0011 |
左移 | << | 二进制左移运算符。 左操作数值向左移动右操作数指定的位数。 | A << 2将给出240,即1111 0000 |
右移 | >> | 二进制右移运算符。 左操作数值向右移动右操作数指定的位数。 | A >> 2将给出15,即0000 1111 |
复合算子
假设变量A保持10,变量B保持20然后 -
运算符名称 | 运算符简单 | 描述 | 例 |
---|---|---|---|
increment | ++ | 递增运算符,将整数值增加1 | A ++将给出11 |
decrement | -- | 递减运算符,将整数值减一 | A-- will give 9 |
compound addition | += | 添加AND赋值运算符。 它将右操作数添加到左操作数并将结果分配给左操作数 | B + = A等于B = B + A. |
复合减法 | -= | 减去AND赋值运算符。 它从左操作数中减去右操作数,并将结果赋给左操作数 | B - = A相当于B = B - A. |
复合乘法 | *= | 乘以AND赋值运算符。 它将右操作数与左操作数相乘,并将结果赋给左操作数 | B * = A等于B = B * A. |
compound division | /= | 除法和赋值运算符。 它将左操作数与右操作数分开,并将结果赋给左操作数 | B/= A相当于B = B/A. |
复合模数 | %= | 模数和赋值运算符。 它使用两个操作数来获取模数,并将结果赋给左操作数 | B%= A等于B = B%A |
按位复合或 | |= | 按位包含OR和赋值运算符 | A | = 2与A = A |相同 2 |
按位复合和 | &= | 按位AND赋值运算符 | A&= 2与A = A和2相同 |