编程语言中的算术运算
未来的程序员们,大家好!欢迎来到代码计算的奇妙世界。无论你是在制作一款积分游戏,还是在编写管理预算的财务程序,计算机都离不开数学运算!
本章将带你学习编程计算中必备的工具和规则。别担心数学不是你的强项——我们学习的是“计算机式的数学”,它比高级代数简单得多!
我们将学习:
- 基本算术运算符 (+, -, *, /)
- 特殊运算符:整除 (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 6 和 25 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 来记忆。
编程优先级层级(从高到低)
- 括号 ( )
括号内的运算永远优先计算。你可以使用括号来强制指定你想要的计算顺序。
- 指数(幂运算)
虽然幂函数(如 \(2^3\))可能以不同方式书写(例如
**或^),但这些运算发生在标准乘除法之前。 - 乘法 (*)、标准除法 (/)、整除 (DIV)、取模 (MOD)
这四个运算优先级相同。它们按顺序计算,严格遵循从左到右的原则。
- 加法 (+) 和减法 (-)
它们的优先级最低。它们在最后计算,同样遵循从左到右的原则。
分步运算示例
让我们计算以下表达式:
Result = 10 + 2 * (15 MOD 4) - 1
- 先算括号: 必须先处理 (15 MOD 4)。
- 15 除以 4,得 3 余 3。
- 15 MOD 4 = 3
表达式变为:10 + 2 * 3 - 1
- 再算乘除法: 现在是 2 * 3。
- 2 * 3 = 6
表达式变为:10 + 6 - 1
- 最后算加减法(从左到右):
- 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
变量计算步骤:
- 先算括号: (20 * 0.50) → 10.00
- 最后减法: 10.00 - 2 → 8.00
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 秒)
这展示了 DIV 和 MOD 如何完美协作,将总量(秒)拆分为整数单位(分钟)和剩余部分(剩余秒数)。
进阶技巧:拆解优先级
如果计算看起来很复杂(例如 \(4 \times (2 + 3) \text{ DIV } 2 + 1\)),请把它写下来,先圈出优先级最高的运算。算完那一部分,用结果替换它,然后重复这一过程直到结束。这样可以避免混乱!
最终总结: 算术运算是编程的基石。熟练掌握 DIV、MOD 和运算符优先级,能确保你的程序每次都能准确算出结果!