本文目錄一覽:
c語言中運算符有哪幾種,優先級順序是怎樣
C語言中,運算符除了常見的三大類,算術運算符、關係運算符與邏輯運算符之外,還有一些用於完成特殊任務的運算符。
運算符的運算優先級共分為15 級,1 級最高,15 級最低。 在表達式中,優先級較高的先於優先級較低的進行運算。而在一個運算量兩側的運算符 優先級相同時,則按運算符的結合性所規定的結合方向處理。
一級運算符:標識,常量,字符串文字量,優先級提升表達式最優先執行。
二級運算符:數組下標運算(expression)、函數調用(argument-expression-list)、成員訪問(identifier、 – identifier)、後綴自增(i++)、後綴自減(i–)、 複合初始化(initializer-list)。
三級運算符:前綴自增(++i)、前綴自減(–i)、單目轉型表式式(取地址 ,提領 * , 正號+ ,負號-、 位反~ 邏輯否!)、求類型長度(sizeof unary-expression)。
四級運算符:強製表達式成為type-name指定的類型( type-name ) cast-expression。
五級運算符:“ * ” 乘法運算符。
六級運算符:“ + ”加法運算符。
七級運算符: 左移運算符; 右移運算符。
八級運算符:、=、、=關係運算符。
九級運算符:“ == ”等於運算符;“ != ”不等於運算符。
十級運算符:“ ”按位與運算符。
十一級運算符:“ ∧ ”按位異或運算符。
十二級運算符:“ | ”按位或運算符。
十三級運算符:“”邏輯與運算符。
十四級運算符:“ || ”邏輯或運算符。
十五級運算符:? :條件運算符。
擴展資料
C語言中各運算符的結合性:
1、左結合性(自左至右):
例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與“-”號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合方向就稱為“左結合性”。
2、右結合性(自右至左)
自右至左的結合方向稱為“右結合性”。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於“=”的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
參考資料來源:百度百科——C語言運算符
c語言優先級是什麼?
C語言中運算符優先級排序如下:
分為優先級15級:
1、圓括號【()】、下標運算符【[]】、分量運算符的指向結構體成員運算符【-】、結構體成員運算符【.】;
2、邏輯非運算符【!】、按位取反運算符【~】、自增自減運算符【++】【 –】、負號運算符【-】、類型轉換運算符【(類型)】、指針運算符和取地址運算符【*】【】、長度運算符【sizeof】;
3、乘法運算符【*】、除法運算符【/】、取余運算符【%】;
4、加法運算符【+】、減法運算符【-】;
5、左移動運算符【】、右移動運算符【】;
6、關係運算符【 】【】【=】【 = 】;
7、等於運算符【==】、不等於運算符【!=】;
8、按位與運算符【】;
9、按位異或運算符【^】;
10、按位或運算符【|】;
11、邏輯與運算符【】;
12、邏輯或運算符【||】;
13、條件運算符【?:】;
14、賦值運算符【=】【/=】【*=】【%=】【+=】【-=】【=】【=】【=】【^=】【|=】;
15、逗號運算符【,】。
注意:
每種同類型的運算符都有內部的運算符優先級,不同類型的運算符之間也有相應的優先級順序。一個表達式中既可以包括相同類型的運算符,也可以包括不同類型的運算符或者函數。當多種運算符出現在同一個表達式中時,應該先按照不同類型運算符間的優先級進行運算。
各種運算符間的優先級如下:數值運算符、字符串運算符、關係運算符、邏輯運算符。可以用括號改變優先級順序,使得括號內的運算優先於括號外的運算。對於多重括號,總是由內到外強製表達式的某些部分優先運行。括號內的運算總是最優先計算。
c語言運算符的優先級順序
c語言運算符優先級從高到低的順序依次如下:
優先級從上到下依次遞減,最上面具有最高的優先級,逗號操作符具有最低的優先級。表達式的結合次序取決於表達式中各種運算符的優先級。優先級高的運算符先結合,優先級低的運算符後結合,同一行中的運算符的優先級相同。
不同類型的運算符之間也有相應的優先級順序:
一個表達式中既可以包括相同類型的運算符,也可以包括不同類型的運算符或者函數。當多種運算符出現在同一個表達式中時,應該先按照不同類型運算符間的優先級進行運算。
各種運算符間的優先級如下:
數值運算符、字符串運算符、關係運算符、邏輯運算符。可以用括號改變優先級順序,使得括號內的運算優先於括號外的運算。對於多重括號,總是由內到外強製表達式的某些部分優先運行。括號內的運算總是最優先計算。
c語言運算優先級
優先級就是當表達式中有多個運算符時,先計算誰,後計算誰。打個比方,在四則運算中乘除的優先級就高於加減。
但是C語言中的運算符除了加減乘除還有很多,我們也沒必要將所有運算符的優先級都記住,這裡列出來各個運算符的優先級表,實在需要用到的時候查一下表就行了。而且實際上在編程的時候需要考慮優先級的情況很少,因為如果不知道優先級高低的話,加一個括號就行了,因為括號的優先級是最高的。
比如:
k = (j i) (8 == i)
根據優先級的高低,完全可以寫成:
k = j i 8 == i
第一種寫法是比較提倡的,因為一看就知道先計算誰後計算誰,節省了大家的時間還不容易出錯。而且加圓括號也是一種編程規範,因為程序不只是寫給自己看。
此外運算符還有“目”和“結合性”的概念。“目”就是眼睛的意思,一個運算符需要幾個數參與就歸為“幾目”。C語言中大多數運算符都是雙目的,比如  和  運算符;也有單目和三目的,單目運算符如邏輯非 ( !1 );三目運算符即條件運算符,?:也是C語言中的唯一一個三目運算符。
說完了“目”的概念,再來說一說“結合性”。先來煮個栗子:
1 + 2 × 3 / 4
上式中乘法和除法的優先級相同,但計算的時候是從左往右,所以乘和除的結合性就是從左往右,so easy!
C語言中大多數運算符的結合性都是從左往右,只有三個運算符是從右往左的。一個是單目運算符,另一個是三目運算符,還有一個就是雙目運算符中的賦值運算符  。運算符的“結合性”也不需要死記硬背,在不斷使用中就記住了。
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種類型:算術運算符、連接運算符、關係運算符、賦值運算符和邏輯運算符。
C語言運算符優先級順序
C語言運算符優先級順序如下所示:
自增運算符 ++ 和自減運算符 –,在作後綴運算符(如表達式 x++)時,較其用作前綴運算符(如表達式 ++x)時,具有較高的優先級。
+、-、* 和 運算符記號不但可以當作一元運算符(unary operator,只需要一個操作數),也可以當作二元運算符(binary operator,需要兩個操作數)。例如,* 只有一個操作數的時候,就是間接運算符(indirection operator),而有兩個操作數的時候,就是乘號。
擴展資料
一個表達式可以包含多個運算符。在這種情況下,運算符的優先級決定表達式的哪部分被處理為每個運算符的操作數。例如,按照運算規則,表達式中 *、/、以及 % 的優先級比 + 和 – 高。如下列表達式:
a - b * c
相當於 a-(b*c)。如果想讓操作數以不同的方式組合在一起,則必須使用括號:
(a - b) * c
如果一個表達式中的兩個操作數具有相同的優先級,那麼它們的結合律(associativity)決定它們的組合方式是從左到右或是從右到左。例如,算術運算符和操作數的組合方式是從左到右,賦值運算符則是從右到左。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/296174.html