https://www.w3cschool.cn/c/c-operators.html
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:
本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和杂项运算符。
下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两个操作数相加 | A + B 将得到 30 |
- | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
* | 把两个操作数相乘 | A * B 将得到 200 |
/ | 分子除以分母 | B / A 将得到 2 |
% | 取模运算符,整除后的余数 | B % A 将得到 0 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
-- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
请看下面的实例,了解 C 语言中所有可用的算术运算符:
#include <stdio.h>
int main()
{
int a = 21;
int b = 10;
int c ;
c = a + b;
printf("Line 1 - c 的值是 %d\\n", c );
c = a - b;
printf("Line 2 - c 的值是 %d\\n", c );
c = a * b;
printf("Line 3 - c 的值是 %d\\n", c );
c = a / b;
printf("Line 4 - c 的值是 %d\\n", c );
c = a % b;
printf("Line 5 - c 的值是 %d\\n", c );
c = a++; // 赋值后再加 1 ,c 为 21,a 为 22
printf("Line 6 - c 的值是 %d\\n", c );
c = a--; // 赋值后再减 1 ,c 为 22 ,a 为 21
printf("Line 7 - c 的值是 %d\\n", c );
}
当上面的代码被编译和执行时,它会产生下列结果:
Line 1 - c 的值是 31
Line 2 - c 的值是 11
Line 3 - c 的值是 210
Line 4 - c 的值是 2
Line 5 - c 的值是 1
Line 6 - c 的值是 21
Line 7 - c 的值是 22
以下实例演示了 a++ 与 ++a 的区别: a++ 和 ++a的相同点都是给a+1,不同点是a++是先赋值再+1,而++a则是先+1再参赋值。
#include <stdio.h>
int main()
{
int c;
int a = 10;
c = a++;
printf("先赋值后运算:\\n");
printf("Line 1 - c 的值是 %d\\n", c );
printf("Line 2 - a 的值是 %d\\n", a );
a = 10;
c = a--;
printf("Line 3 - c 的值是 %d\\n", c );
printf("Line 4 - a 的值是 %d\\n", a );
printf("先运算后赋值:\\n");
a = 10;
c = ++a;
printf("Line 5 - c 的值是 %d\\n", c );
printf("Line 6 - a 的值是 %d\\n", a );
a = 10;
c = --a;
printf("Line 7 - c 的值是 %d\\n", c );
printf("Line 8 - a 的值是 %d\\n", a );
}