遞增運算子(Increment Operators)可以將變數的值增加 1 或減少 1,其使用方式與 C 語言中的遞增運算子相同,以下是 Octave 中的遞增運算子:
++x:將 x 的值加 1,傳回增加後的數值。--x:將 x 的值減 1,傳回增加後的數值。x++:將 x 的值加 1,傳回增加前的數值。x--:將 x 的值減 1,傳回增加前的數值。++x 會先將變數 x 的值加 1 後,再取其新的值傳回,其作用完全等於 x = x + 1。而 x++ 則是將變數 x 的值加 1 後,傳回原本舊的數值;而 --x 與 x-- 的差異也是類似。例如:
x = 1; y = ++x;
此時的 x 為 2,而 y 為 2,
x = 1; y = x++;
此時的 x 為 2,而 y 為 1。
遞增運算子與一個變數所組成的算式與一般的算式相同,可以用於任何其他算式可以使用的地方,例如判斷式之中:
a = b = 1; a++ > b
輸出為
ans = 0
當算式中包含多個運算子時,運算子優先權(operator precedence)會決定其運算的順序,例如乘法運算子 * 都優先順序就會比加法運算子 + 高,因此 a + b * c 的運算順序是先將 b 乘以 c 再加上 a,也就是 a + (b * c)。
使用者可以使用小括號更改預設的運算子優先權,此優先權亦可視為當使用者沒有使用括號時,預設的括號規則。當在使用一些不常見的運算子組合時,縱使依照預設的運算子優先權可以不需要括號,但一般還是建議加入小括號,因為不是每個閱讀程式的人都記得每個運算子的優先順序,有明確的括號可以避免不必要的錯誤發生。
一般當兩個運算子有相同的優先權時,在左邊的運算子會先執行。指定運算子(assignment operator)與指數運算子(exponentiation operator)與一般運算子不同,這兩種運算子會由最右邊的運算子開始執行,例如 a - b + c 其運算順序為 (a - b) + c,而 a = b = c 的運算順序則為 a = (b = c)。
運算子的優先權對於前置的一元運算子(prefix unary operators)是很重要的,例如:-x^2 的執行順序為 -(x^2),這是因為負號 - 的優先順序低於指數運算子 ^。
以下是 Octave 中各種運算子的優先順序,依照由低而高的順序排列:
";"、 ","。"="、 "+="、 "-="、 "*="、 "/=",這些運算子是由最右邊開始執行。"||"、 "&&"。"|"、 "&"。"<"、 "<="、 "=="、 ">="、 ">"、 "!="、 "~="。":"。"+"、 "-"。"*"、 "/"、 ""、 "."、 ".*"、 "./"。"'"、 ".'"。"+"、 "-"、 "++"、 "--"、 "!"、 "~"。"^"、 "**"、 ".^"、 ".**"。