跳转到内容

编程基础/运算顺序

来自维基教科书,开放的书籍,开放的世界

运算顺序(或运算符优先级)是一组规则,反映了在计算给定的数学表达式时应首先执行哪些步骤。[1]

单个值本身很重要;然而,我们需要一种操作值(处理数据)的方法。科学家想要一台精确操作值的机器。他们想要一台处理数字或计算答案的机器(即计算答案)。在1950年之前,字典将计算机的定义列为“进行计算的人类”。因此,所有描述数据操作的术语都以数学为导向。此外,两个基本数据类型族(整数族和浮点数族)完全由数值组成。

带求值示例的表达式

[编辑 | 编辑源代码]

让我们看一个例子:2 + 3 * 4 + 5 是我们的表达式,但它等于多少?

  1. 表示加法的符号 + 和表示乘法的符号 * 是我们的运算符
  2. 值 2、3、4 和 5 是我们的操作数
  3. 优先级规定乘法高于加法
  4. 因此,我们计算 3 * 4 得到 12
  5. 现在我们有:2 + 12 + 5
  6. 结合性规则规定加法从左到右进行,因此我们计算 2 + 12 得到 14
  7. 现在我们有:14 + 5
  8. 最后,我们计算 14 + 5 得到 19;这是该表达式的值

括号会改变结果。 (2 + 3) * (4 + 5) 计算得到 45。

括号会改变结果。 (2 + 3) * 4 + 5 计算得到 25。

运算符优先级表

[编辑 | 编辑源代码]

每种计算机语言都有一些规则定义优先级和结合性。它们通常遵循我们可能已经学到的规则。乘法和除法优先于加法和减法,这是我们在小学学到的规则。这条规则仍然有效。

运算顺序[2]

  • 括号
  • 指数
  • 乘法 / 除法
  • 加法 / 减法

一个常用的记忆该规则的助记词是PEMDAS,或者请原谅我的亲爱的莎莉阿姨。优先级规则在不同的编程语言中可能会有所不同。您应该参考总结了您正在使用的语言规则的参考表。它通常被称为运算符优先级、运算符优先级或运算顺序表。您应该在计算表达式时根据需要查看此表。

有效的表达式由操作数和运算符组成,这些操作数和运算符按正确方式组合在一起。为什么是(s)?有些运算符是

  1. 一元 - 只有一个操作数
  2. 二元 - 具有两个操作数,运算符两侧各有一个操作数
  3. 三元 - 具有两个运算符符号,它们分隔三个操作数

大多数运算符是二元的,即它们需要两个操作数。一些优先级表指示哪些运算符是一元和三元的,因此所有其他运算符都是二元的。

关键术语

[编辑 | 编辑源代码]
结合性
确定具有相同优先级的运算符被允许操作操作数的顺序。
求值
将运算符应用于操作数并生成单个值的過程。
表达式
操作数和运算符的有效序列,它可简化为(或计算为)单个值。
操作数
接受运算符操作的值。
运算符
特定语言的语法标记(通常是符号),它会导致对一个或多个操作数采取行动。
括号
更改表达式中求值的顺序。您首先执行括号中的操作。
优先级
确定运算符被允许操作操作数的顺序。

参考资料

[编辑 | 编辑源代码]
华夏公益教科书