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 );
}