Skip to content

算术运算符

运算符术语示例结果
+正号+33
-负号-3-3
+10 + 515
-10 - 55
*10 * 550
/10 / 52
%取模(取余)10 % 31
++前⾃增a=2; b=++a;a=3; b=3;
++后⾃增a=2; b=a++;a=3; b=2;
--前⾃减a=2; b=--a;a=1; b=1;
--后⾃减a=2; b=a--;a=1; b=2;

算术运算符包含 +, -, *, /, % ,它们分别表示加,减,乘,除,取余。算术运算符比较简单,不过其中 /% 需要我们特别注意:

  • 如果 / 的两个操作数都是整数,那么结果也是整数,因此

    • 1 / 2 和 (- 1 / 2)的结果都为 0
    • (-3 / 2) 的结果是-1,而不是-2
  • +, -, *, / 可以用于浮点数,但 % 要求两个操作数都是整数。

    取模运算就是取余数,如果允许出现小数,那就没有余数了。

    在C语言中,%运算的结果符号总是和被除数保持一致。取模运算的结果遵循以下公式:

    (a % b) = a - (a / b) * b

  • 取余运算的结果可能为负数,比如 -9 % 7 的值为 -2。假设 i, j 都是整数,那么它们满足公式: i = (i / j) * j + (i % j)i % j 的符号总是和 i 的符号相同。