程式設計基礎/運算順序
外觀
< 程式設計基礎
運算順序(或運算子優先順序)是一組規則,反映了在計算給定的數學表示式時應首先執行哪些步驟。[1]
單個值本身很重要;然而,我們需要一種操作值(處理資料)的方法。科學家想要一臺精確操作值的機器。他們想要一臺處理數字或計算答案的機器(即計算答案)。在1950年之前,字典將計算機的定義列為“進行計算的人類”。因此,所有描述資料操作的術語都以數學為導向。此外,兩個基本資料型別族(整數族和浮點數族)完全由數值組成。
讓我們看一個例子:2 + 3 * 4 + 5 是我們的表示式,但它等於多少?
- 表示加法的符號 + 和表示乘法的符號 * 是我們的運算子
- 值 2、3、4 和 5 是我們的運算元
- 優先順序規定乘法高於加法
- 因此,我們計算 3 * 4 得到 12
- 現在我們有:2 + 12 + 5
- 結合性規則規定加法從左到右進行,因此我們計算 2 + 12 得到 14
- 現在我們有:14 + 5
- 最後,我們計算 14 + 5 得到 19;這是該表示式的值
括號會改變結果。 (2 + 3) * (4 + 5) 計算得到 45。
括號會改變結果。 (2 + 3) * 4 + 5 計算得到 25。
每種計算機語言都有一些規則定義優先順序和結合性。它們通常遵循我們可能已經學到的規則。乘法和除法優先於加法和減法,這是我們在小學學到的規則。這條規則仍然有效。
運算順序[2]
- 括號
- 指數
- 乘法 / 除法
- 加法 / 減法
一個常用的記憶該規則的助記詞是PEMDAS,或者請原諒我的親愛的莎莉阿姨。優先順序規則在不同的程式語言中可能會有所不同。您應該參考總結了您正在使用的語言規則的參考表。它通常被稱為運算子優先順序、運算子優先順序或運算順序表。您應該在計算表示式時根據需要檢視此表。
有效的表示式由運算元和運算子組成,這些運算元和運算子按正確方式組合在一起。為什麼是(s)?有些運算子是
- 一元 - 只有一個運算元
- 二元 - 具有兩個運算元,運算子兩側各有一個運算元
- 三元 - 具有兩個運算子符號,它們分隔三個運算元
大多數運算子是二元的,即它們需要兩個運算元。一些優先順序表指示哪些運算子是一元和三元的,因此所有其他運算子都是二元的。
- 結合性
- 確定具有相同優先順序的運算子被允許操作運算元的順序。
- 求值
- 將運算子應用於運算元並生成單個值的過程。
- 表示式
- 運算元和運算子的有效序列,它可簡化為(或計算為)單個值。
- 運算元
- 接受運算子操作的值。
- 運算子
- 特定語言的語法標記(通常是符號),它會導致對一個或多個運算元採取行動。
- 括號
- 更改表示式中求值的順序。您首先執行括號中的操作。
- 優先順序
- 確定運算子被允許操作運算元的順序。