本文目錄一覽:
C語言運算符中級別最低的是什麼運算符?
優先級從上到下依次遞減,最上面具有最高的優先級,逗號操作符具有最低的優先級。
所有的優先級中,只有三個優先級是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。其它的都是從左至右結合。
具有最高優先級的其實並不算是真正的運算符,它們算是一類特殊的操作。()是與函數相關,[]與數組相關,而-及.是取結構成員。
其次是單目運算符,所有的單目運算符具有相同的優先級,因此在我認為的 真正的運算符中它們具有最高的優先級,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的
接下來是算術運算符,*、/、%的優先級當然比+、-高了。
移位運算符緊隨其後。
其次的關係運算符中, = =要比 == !=高一個級別,不大好理解。
所有的邏輯操作符都具有不同的優先級(單目運算符除外,!和~)
邏輯位操作符的”與”比”或”高,而”異或”則在它們之間。
跟在其後的比||高。
接下來的是條件運算符,賦值運算符及逗號運算符。
在C語言中,只有4個運算符規定了運算方向,它們是、| |、條件運算符及賦值運算符。
、| |都是先計算左邊表達式的值,當左邊表達式的值能確定整個表達式的值時,就不再計算右邊表達式的值。如 a = 0 b; 運算符的左邊位為0,則右邊表達式b就不再判斷。
在條件運算符中。如a?b:c;先判斷a的值,再根據a的值對b或c之中的一個進行求值。
賦值表達式則規定先對右邊的表達式求值,因此使 a = b = c = 6;成為可能。
C語言的運算符的優先級是什麼?
1、最高級:出現同級別運算符時的結合方向是從左往右(下面級別沒寫結合順序時,默認是從左往右)。
( )圓括號
[ ]下標運算符號
-指向結構體成員運算符
.結構體成員運算符
2、第二級:!、~、++、–、-、(類型)、*、、sizeof。
這一級都是單目運算符號,這一級的結合方向是從右向左。
比如出現*p++,這時*和++同級別,先算右邊,再左邊。
所以*p++等價於*(p++),而不是(*p)++。
3、第三級:+、-、*、/、%
這一級都是算術運算符,結合順序和數學學習中一致的,先乘除取餘數,後加減。
4、第四級:、
這是左移、右移運算符,位運算時可能需要用到。
5、第五級:、=、、=、!=、==
這些運算符也稱為關係運算符,其中、=、、=高於!=、==。
6、第六級:、^、|
這三個符號也是位運算符號,其中內優先級,^|。
7、第七級:、||
邏輯與優先級大於邏輯或||。
8、第八級:? :
也稱為條件運算符號,是C語言中唯一的一個三目運算符,結合順序是從右往左。
9、第九級:=、+=、-+、*=、/=、%=
這些運算符也叫做賦值運算符,除此之外,=、=、=、^=、|=這些賦值運算符也在這一級別內,結合順序是從右往左。
10、最低級:,
逗號運算符也稱為順序求值運算符,在C語言中,運算級別最低。
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有彙編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用範圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適於編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
運算符用於執行程序代碼運算,會針對一個以上操作數項目來進行運算。例如:2+3,其操作數是2和3,而運算符則是“+”。在vb2005中運算符大致可以分為5種類型:算術運算符、連接運算符、關係運算符、賦值運算符和邏輯運算符。
12. C語言中以下運算符中優先級最低的是:
選C 邏輯或||。
運算符基本的優先級:
指針最優,單目運算優於雙目運算。如正負號。
先算術運算,後移位運算,最後位運算。請特別注意:1 3 + 2 7等價於 (1 (3 + 2))7.
邏輯運算最後結合。
擴展資料:
C語言中各運算符的結合性分為兩種:左結合性和右結合性。
例如:算術運算符的結合性是自左至右,即先左後右。
如有表達式x-y+z則y應先與“-”號結合,執行x-y運算,然後再執行+z的運算。這種自左至右的結合方向就稱為“左結合性”。
而自右至左的結合方向稱為“右結合性”。 最典型的右結合性運算符是賦值運算符。如x=y=z,由於“=”的右結合性,應先執行y=z再執行x=(y=z)運算。
C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
參考資料:
百度百科-運算符優先級
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/286569.html