跳轉到內容

程式設計基礎/運算順序

來自華夏公益教科書,開放的書籍,開放的世界

運算順序(或運算子優先順序)是一組規則,反映了在計算給定的數學表示式時應首先執行哪些步驟。[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. 三元 - 具有兩個運算子符號,它們分隔三個運算元

大多數運算子是二元的,即它們需要兩個運算元。一些優先順序表指示哪些運算子是一元和三元的,因此所有其他運算子都是二元的。

關鍵術語

[編輯 | 編輯原始碼]
結合性
確定具有相同優先順序的運算子被允許操作運算元的順序。
求值
將運算子應用於運算元並生成單個值的過程。
表示式
運算元和運算子的有效序列,它可簡化為(或計算為)單個值。
運算元
接受運算子操作的值。
運算子
特定語言的語法標記(通常是符號),它會導致對一個或多個運算元採取行動。
括號
更改表示式中求值的順序。您首先執行括號中的操作。
優先順序
確定運算子被允許操作運算元的順序。

參考資料

[編輯 | 編輯原始碼]
華夏公益教科書