首頁 >常見問題 >優先權最低的運算子是什麼?

優先權最低的運算子是什麼?

烟雨青岚
烟雨青岚原創
2020-07-06 09:12:5627587瀏覽

優先權最低的運算子是:逗號運算子。表達式的結合次序取決於表達式中各種運算子的優先權;優先順序高的運算子先結合,優先順序低的運算子後結合,同一行中的運算子的優先權相同。

優先權最低的運算子是什麼?

優先順序最低的運算子是:逗號運算子。

在一個表達式中可能包含多個具有不同運算子連接起來的、具有不同資料類型的資料物件;由於表達式有多種運算,不同的結合順序可能會得出不同結果甚至出現錯誤運算錯誤,因為當表達式中含多種運算時,必須依照一定順序結合,才能確保運算的合理性和結果的正確性、唯一性。

優先權從上到下依序遞減,最上面具有最高的優先權,逗號運算子具有最低的優先權。表達式的結合次序取決於表達式中各種運算子的優先順序。優先順序高的運算子先結合,優先順序低的運算子後結合,同一行中的運算子的優先權相同。

知識拓展

#優先權

優先權與求值順序無關。如a b && b*c,雖然*優先順序最高,但這個表達式求值順序是從左到右。

優先權從上到下依序遞減,最上面具有最高的優先權,逗號運算子具有最低的優先權。

相同優先權中,依結合性進行結合。大多數運算子結合性是從左到右,只有三個優先權是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。

基本的優先權需要記住:

指標最優,單目運算優於雙眼運算。如正負號。

先算術運算,後移位運算,最後位元運算。請特別注意:1 << 3 2 & 7等價於 (1 << (3 2))&7.

邏輯運算最後結合。

運算子

運算子是一種特殊的函數,它們具有一個或多個運算元並傳回對應的值。操作數是被運算子用作輸入的值,通常是字面值、變數或表達式。運算子可以是一元、二元或三元的,一元運算子有1個運算元,二元運算子有2個操作數,三元運算子有3個操作數。

結合性

當一個運算物件兩邊的運算子優先等級相同時,則按運算子的結合性來決定表達式的運算順序。關於結合性的概念在其他高階語言中是沒有的,這是C語言的特徵之一。

在標準C語言的文檔裡,對操作符的結合性並沒有做出非常清楚的解釋。一個滿分的答案是:它是仲裁者,在幾個操作符具有相同的優先權時決定先執行哪一個。 C語言也將34種運算符規定了不同的結合性。

大多數運算子結合方向是“自左至右”,即:先左後右,也叫“左結合性”,例如a-b c,表達式中有-和兩種運算符,且優先順序相同,依先左後右結合方向,先圍繞減號結合,執行a-b的運算,再圍繞加號結合,完成運算(a-b) c。

除了左結合性外,C 語言有三類運算符的結合方向是從右至左,也叫“右結合性”,即:單目運算符、條件運算符、以及賦值運算符。

著重強調一點,無論是左結合性,還是右結合性,是針對兩個相鄰的優先級相同的運行符而言(不是表達中的運算對象),運算符是決定左右的基準點,先以前面的運算子(即位置上處於左邊的運算子)構造運算,就是左結合,反之,就是右結合。

更多相關知識,請造訪 PHP中文網! !

以上是優先權最低的運算子是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn