C 语言运算符
运算符
运算符用于对变量和值执行操作。在下面的实例中,我们使用 + 运算符 将两个值相加:
实例
#include <stdio.h>int main() {int myNum = 100 + 50;printf("%d", myNum);return 0;}
虽然 + 运算符通常用于将两个值相加,如上面的实例中所示,但它也可用于将变量和值相加,或将变量和另一个变量相加:
实例
#include <stdio.h>int main() {int sum1 = 100 + 50; // 150 (100 + 50)int sum2 = sum1 + 250; // 400 (150 + 250)int sum3 = sum2 + sum2; // 800 (400 + 400)printf("%d\n", sum1);printf("%d\n", sum2);printf("%d\n", sum3);return 0;}
C 语言运算符分为以下几类:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
算术运算符
算术运算符用于执行常见的数学运算。
| 运算符 | 名称 | 描述 | 实例 | 试一试 |
|---|---|---|---|---|
| + | 加 | 将两个值相加 | x + y | 试一试 » |
| - | 减 | 用一个值减去另一个值 | x - y | 试一试 » |
| * | 乘 | 将两个值相乘 | x * y | 试一试 » |
| / | 除 | 将一个值除以另一个r | x / y | 试一试 » |
| % | 模 | 返回除法余数 | x % y | 试一试 » |
| ++ | 自增 | 将变量的值增加 1 | ++x | 试一试 » |
| — | Decrement | 将变量的值减少 1 | —x | 试一试 » |
赋值运算符
赋值运算符用于为变量赋值。
在下面的实例中,我们使用赋值运算符(=)将值 10 赋值给一个名为 x 的变量:
实例
#include <stdio.h>int main() {int x = 10;printf("%d", x);return 0;}
加法赋值运算符(+=)向变量添加一个值:
实例
#include <stdio.h>int main() {int x = 10;x += 5;printf("%d", x);return 0;}
所有赋值运算符的列表:
| 运算符 | 实例 | 相当于 | 试一试 |
|---|---|---|---|
| = | x = 5 | x = 5 | 试一试 » |
| += | x += 3 | x = x + 3 | 试一试 » |
| -= | x -= 3 | x = x - 3 | 试一试 » |
| *= | x *= 3 | x = x * 3 | 试一试 » |
| /= | x /= 3 | x = x / 3 | 试一试 » |
| %= | x %= 3 | x = x % 3 | 试一试 » |
| &= | x &= 3 | x = x & 3 | 试一试 » |
| |= | x |= 3 | x = x | 3 | 试一试 » |
| ^= | x ^= 3 | x = x ^ 3 | 试一试 » |
| >>= | x >>= 3 | x = x >> 3 | 试一试 » |
| <<= | x <<= 3 | x = x << 3 | 试一试 » |
比较运算符
比较运算符用于比较两个值。
注意:比较的返回值为 true(1)或 false(0)。
在下面的实例中,我们使用 大于 运算符(>)来确定 5 是否大于 3:
实例
#include <stdio.h>int main() {int x = 5;int y = 3;printf("%d", x > y); // returns 1 (true) because 5 is greater than 3return 0;}
所有比较运算符的列表:
| 运算符 | 名称 | 实例 | 试一试 |
|---|---|---|---|
| == | 等于 | x == y | 试一试 » |
| != | 不等于 | x != y | 试一试 » |
| > | 大于 | x > y | 试一试 » |
| < | 小于 | x < y | 试一试 » |
| >= | 大于等于 | x >= y | 试一试 » |
| <= | 小于等于 | x <= y | 试一试 » |
逻辑运算符
逻辑运算符用于确定变量或值之间的逻辑:
| 运算符 | 名称 | 描述 | 实例 | 试一试 |
|---|---|---|---|---|
| && | 逻辑与 | 如果两条语句都为 true,则返回 true | x < 5 && x < 10 | 试一试 » |
| || | 逻辑或 | 如果其中一个语句为 true,则返回 true | x < 5 || x < 4 | 试一试 » |
| ! | Logical not | 反转结果,如果结果为 true,则返回 false | !(x < 5 && x < 10) | 试一试 » |
Sizeof 运算符
数据类型或变量的内存大小(字节)可以通过 sizeof 运算符查到:
实例
#include <stdio.h>int main() {int myInt;float myFloat;double myDouble;char myChar;printf("%lu\n", sizeof(myInt));printf("%lu\n", sizeof(myFloat));printf("%lu\n", sizeof(myDouble));printf("%lu\n", sizeof(myChar));return 0;}
注意,我们使用 %lu 格式说明符来打印结果,而不是 %d。这是因为编译器希望 sizeof 运算符返回长的无符号整数(%lu),而不是整数(%d)。在某些计算机上,它可能与 %d 一起工作,但使用 %lu 更安全。