执行数学运算

已完成

Tip

有关更多详细信息,请参阅 “文本和图像 ”选项卡!

从本质上讲,计算机就是运算速度极快的计算器。 C# 支持预期的所有标准数学运算,允许执行计算并将结果保存在变量中。

算数运算符

C# 使用标准符号进行基本数学运算:

Operator Action 示例 Result
+ Addition 10 + 3 13
- Subtraction 10 - 3 7
* Multiplication 10 * 3 30
/ Division 10 / 3 3 (整数除法)
% 模数(余数) 10 % 3 1

可以在 C# 代码编辑器中自行运行此代码。

了解模数(%)

取模运算符 % 返回除法后的余数。 它可用于检查数字是否平均除法:

Console.WriteLine(10 % 2);   // Output: 0 (10 is even)
Console.WriteLine(11 % 2);   // Output: 1 (11 is odd)

运算顺序

C# 遵循运算的标准数学顺序(PEMDAS):括号,然后乘法/除法,再加/减法。 使用括号控制顺序:

int standard = 2 + 3 * 4;      // Multiplication first: 14
int forced = (2 + 3) * 4;      // Parentheses first: 20

复合赋值运算符

常见的模式是使用自己的值来更新变量,例如向分数添加或从余额中减去。 C# 为此提供了简写运算符:

int score = 50;
score = score + 10;    // Standard way: score is 60
score += 10;           // Shorthand: score is 70

同样的简写方式也适用于其他操作:

Operator Meaning 示例 结果(起始值为 10)
+= 添加并赋值 x += 5 15
-= 相减并赋值 x -= 5 5
*= 乘并赋值 x *= 5 50
/= 除并赋值 x /= 5 2

递增和递减运算符

对于进行加法或减法运算 1,C# 还有更简短的运算符——++ 和 --:

int count = 5;
count++;                       // Same as count = count + 1
Console.WriteLine(count);      // Output: 6

count--;                       // Same as count = count - 1
Console.WriteLine(count);      // Output: 5

位置很重要:前置递增与后置递增

和++--运算符的行为不同,具体取决于它们出现在变量之前还是之后:

  • 后增量 (value++): 首先使用当前值,然后递增
  • 预增量 (++value): 首先递增,然后使用新值
int a = 5;
Console.WriteLine(a++);   // Output: 5 (uses old value, then increments)
Console.WriteLine(a);     // Output: 6 (a was incremented)

int b = 5;
Console.WriteLine(++b);   // Output: 6 (increments first, then uses new value)
Console.WriteLine(b);     // Output: 6

相同的规则适用于 -- (递减)。

整数除法与小数除法

当你将两个整数相除时,C# 会截断(舍去)小数部分:

int result = 7 / 2;
Console.WriteLine(result);     // Output: 3 (not 3.5)

若要保留小数,至少一个数字必须是十进制类型:

decimal result = 7m / 2m;
Console.WriteLine(result);     // Output: 3.5

这就是为什么为计算选择正确的数据类型很重要的原因。 在下一部分中,你将了解如何在需要时在类型之间进行转换。