编程语言中的算术运算

未来的程序员们,大家好!欢迎来到代码计算的奇妙世界。无论你是在制作一款积分游戏,还是在编写管理预算的财务程序,计算机都离不开数学运算!

本章将带你学习编程计算中必备的工具和规则。别担心数学不是你的强项——我们学习的是“计算机式的数学”,它比高级代数简单得多!

我们将学习:

  • 基本算术运算符 (+, -, *, /)
  • 特殊运算符:整除 (DIV) 与取模 (MOD)
  • 计算顺序的关键规则:运算符优先级

第 1 节:基础算术运算符

大多数编程语言使用的符号与你在日常数学课上使用的非常相似,但有几个小细节你需要特别注意。

除非有特定的规则(优先级)干扰(稍后详细讲解!),否则计算机总是按照从左到右的顺序处理这些运算。

基本运算符表
运算符 含义 代码示例 结果
+ 加法 5 + 3 8
- 减法 12 - 4 8
* 乘法 6 * 7 42
/ 除法(标准) 10 / 4 2.5(小数/浮点数)

重点提示: 星号 (*) 永远用于乘法,正斜杠 (/) 用于标准除法,其结果通常是一个小数(即 浮点数/float)。


第 2 节:特殊运算:DIV 和 MOD

在编程中,我们经常需要处理整数。这时,标准除法 (/) 就显得不够用了,我们需要两个特殊的运算符:整除 (DIV)取模 (MOD)

类比: 想象一下,你有 17 块糖,想要平均分给 5 个朋友。每个人能分到多少块完整的糖?还剩下几块?

1. 整除 (DIV)

整除运算符(通常写作 DIV//)在执行除法后会丢弃余数,只保留结果中的整数部分。

  • 作用: 计算一个数能被另一个数整除多少次。
  • 示例: 17 DIV 5
  • 计算: 5 放入 17 中,完整进入了 3 次(3 x 5 = 15)。
  • 结果: 3
2. 取模 (MOD)

取模运算符(通常写作 MOD%)在执行除法后,只返回余数

  • 作用: 计算除法后的剩余部分。它在判断奇偶数,或处理时间转换(例如将秒转换为分和剩余秒)时非常有用。
  • 示例: 17 MOD 5
  • 计算: 17 除以 5 等于 3,余 2(17 - 15 = 2)。
  • 结果: 2

记忆小窍门:

DIV 给你 Dollars(主要份额,即整数结果)。
MOD 给你 Money(剩下的零钱,即余数)。

快速回顾:DIV 和 MOD

来算算 25 DIV 625 MOD 6

  • 6 放入 25 中,完整进入了 4 次(4 x 6 = 24)。
  • 25 DIV 6 = 4(整数结果)。
  • 余数为 1(25 - 24 = 1)。
  • 25 MOD 6 = 1(余数)。

冷知识: 程序员常用 MOD 来检查一个数是否为偶数。如果 Number MOD 2 等于 0,该数即为偶数!


第 3 节:运算符优先级(计算顺序)

如果遇到表达式 \(5 + 3 \times 2\),计算机是先算 \(5+3\) 还是先算 \(3 \times 2\)?答案由运算符优先级决定——这是一套定义运算顺序的规则。

如果不遵守严格的顺序,两个人运行同一段代码可能会得到两个不同的答案!我们需要一致性。

优先级规则与你在数学中学到的相同,通常用首字母缩写 BODMAS(括号、指数、除法/乘法、加法/减法)或 PEMDAS 来记忆。

编程优先级层级(从高到低)
  1. 括号 ( )

    括号内的运算永远优先计算。你可以使用括号来强制指定你想要的计算顺序。

  2. 指数(幂运算)

    虽然幂函数(如 \(2^3\))可能以不同方式书写(例如 **^),但这些运算发生在标准乘除法之前。

  3. 乘法 (*)、标准除法 (/)、整除 (DIV)、取模 (MOD)

    这四个运算优先级相同。它们按顺序计算,严格遵循从左到右的原则。

  4. 加法 (+) 和减法 (-)

    它们的优先级最低。它们在最后计算,同样遵循从左到右的原则。

分步运算示例

让我们计算以下表达式:

Result = 10 + 2 * (15 MOD 4) - 1

  1. 先算括号: 必须先处理 (15 MOD 4)
    • 15 除以 4,得 3 余 3。
    • 15 MOD 4 = 3

    表达式变为:10 + 2 * 3 - 1

  2. 再算乘除法: 现在是 2 * 3
    • 2 * 3 = 6

    表达式变为:10 + 6 - 1

  3. 最后算加减法(从左到右):
    • 10 + 6 = 16
    • 16 - 1 = 15

最终结果:15

避免常见错误!

如果你想在乘法之前先进行加法,必须使用括号。

错误: 5 + 2 * 10 → 结果是 25(因为先算了 2*10)
正确: (5 + 2) * 10 → 结果是 70(因为先算了 5+2)

重点提示: 如果拿不准,就用括号 ( )!它们能向计算机(以及阅读你代码的人)清楚地表明哪部分运算应当优先执行。


第 4 节:变量运算

在编程中,计算很少只涉及固定数字。我们通常使用变量来存储会发生变化的值。算术和优先级规则应用于变量时,与处理原始数字完全一致。

使用变量的示例

想象我们有一些关于一筐苹果的变量:

NumApples = 20
CostPerApple = 0.50
Discount = 2

为了计算折扣后的最终价格,程序员可以这样写:

TotalPrice = (NumApples * CostPerApple) - Discount

变量计算步骤:

  1. 先算括号: (20 * 0.50) → 10.00
  2. 最后减法: 10.00 - 2 → 8.00
  3. TotalPrice 现在存储的值为 8.00
使用 MOD 处理实际问题

考试中常见的经典题型是时间换算。如果我们有 300 秒,这相当于多少完整分钟,还剩余多少秒?

TotalSeconds = 300
Minutes = TotalSeconds DIV 60
RemainingSeconds = TotalSeconds MOD 60

计算:
Minutes = 300 DIV 60 → 5(5 个完整分钟)
RemainingSeconds = 300 MOD 60 → 0(剩余 0 秒)

这展示了 DIVMOD 如何完美协作,将总量(秒)拆分为整数单位(分钟)和剩余部分(剩余秒数)。

进阶技巧:拆解优先级

如果计算看起来很复杂(例如 \(4 \times (2 + 3) \text{ DIV } 2 + 1\)),请把它写下来,先圈出优先级最高的运算。算完那一部分,用结果替换它,然后重复这一过程直到结束。这样可以避免混乱!

最终总结: 算术运算是编程的基石。熟练掌握 DIV、MOD 和运算符优先级,能确保你的程序每次都能准确算出结果!