A. c語言中運算符號的優先順序
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
各種運算符間的優先順序
數值運算符、字元串運算符、關系運算符、邏輯運算符。可以用括弧改變優先順序順序,使得括弧內的運算優先於括弧外的運算。對於多重括弧,總是由內到外強製表達式的某些部分優先運行。括弧內的運算總是最優先計算。
B. C語言中運算符優先順序排序
C語言中運算符優先順序排序如下:
分為優先順序15級:
1、圓括弧【()】、下標運算符【[]】、分量運算符的指向結構體成員運算符【->】、結構體成員運算符【.】;
2、邏輯非運算符【!】、按位取反運算符【~】、自增自減運算符【++】【 --】、負號運算符【-】、類型轉換運算符【(類型)】、指針運算符和取地址運算符【*】【&】、長度運算符【sizeof】;
3、乘法運算符【*】、除法運算符【/】、取余運算符【%】;
4、加法運算符【+】、減法運算符【-】;
5、左移動運算符【<<】、右移動運算符【>>】;
6、關系運算符【< 】【>】【<=】【 >= 】;
7、等於運算符【==】、不等於運算符【!=】;
8、按位與運算符【&】;
9、按位異或運算符【^】;
10、按位或運算符【|】;
11、邏輯與運算符【&&】;
12、邏輯或運算符【||】;
13、條件運算符【?:】;
14、賦值運算符【=】【/=】【*=】【%=】【+=】【-=】【<<=】【>>=】【&=】【^=】【|=】;
15、逗號運算符【,】。
(2)c語言逗號排序擴展閱讀:
運算符優先順序的記法:
C語言把除了控制語句和輸入輸出以外的幾乎所有的基本操作都作為運算符處理,可見其范圍的寬(如:將賦值符「=」作為賦值運算符、方括弧作為下標運算符)。
優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表達式求值順序是從左到右。優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
相同優先順序中,按結合性進行結合。大多數運算符結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
基本的優先順序需要記住:指針最優,單目運算優於雙目運算。如正負號。先算術運算,後移位運算,最後位運算。邏輯運算最後結合。
參考資料來源:網路-運算符
C. C語言中運算符優先順序排序
1級優先順序
左結合
()
圓括弧
[]
下標運算符
->
指向結構體成員運算符
.
結構體成員運算符
2級優先順序
右結合
!
邏輯非運算符
~
按位取反運算符
++
前綴增量運算符
--
前綴增量運算符
+
正號運算符
-
負號運算符
(類型)
類型轉換運算符
*
指針運算符
&
地址與運算符
sizeof
長度運算符
3級優先順序
左結合
*
乘法運算符
/
除法運算符
%
取余運算符
4級優先順序
左結合
+
加法運算符
-
減法運算符
5級優先順序
左結合
<<
左移運算符
>>
右移運算符
6級優先順序
左結合
<、<=、>、>=
關系運算符
7級優先順序
左結合
==
等於運算符
!=
不等於運算符
8級優先順序
左結合
&
按位與運算符
9級優先順序
左結合
^
按位異或運算符
10級優先順序
左結合
|
按位或運算符
11級優先順序
左結合
&&
邏輯與運算符
12級優先順序
左結合
||
邏輯或運算符
13級優先順序
右結合
?
:
條件運算符
14級優先順序
右結合
=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
全為賦值運算符
15級優先順序
左結合
,
逗號運算符
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算符,它們算是一類特殊的操作。()是與函數相關,[]與數組相關,而->及.是取結構成員。
其次是單目運算符,所有的單目運算符具有相同的優先順序,因此在我認為的
真正的運算符中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。
另外在C語言里
沒有前置後置之分
因為++
--
是右結合所以
右側優先運算
表現為
"後置優先順序比較高"
的假象
前置和後置的區分是因為運算符重載而後加入C++的
接下來是算術運算符,*、/、%的優先順序當然比+、-高了。
移位運算符緊隨其後。
其次的關系運算符中,<
<=
>
>=要比
==
!=高一個級別,不大好理解。
所有的邏輯操作符都具有不同的優先順序(單目運算符出外,!和~)
邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。
跟在其後的&&比||高。
接下來的是條件運算符,賦值運算符及逗號運算符。
在C語言中,只有4個運算符規定了運算方向,它們是&&、|
|、條件運算符及賦值運算符。
&&、|
|都是先計算左邊表達式的值,當左邊表達式的值能確定整個表達式的值時,就不再計算右邊表達式的值。如
a
=
0
&&
b;
&&運算符的左邊位0,則右邊表達式b就不再判斷。
望採納
D. 在C語言中,逗號運算符的優先順序最低對嗎
對,在C程序中,逗號運算符的優先順序最低。
C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
結合性:C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。
如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。
而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。
C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
(4)c語言逗號排序擴展閱讀:
C語言運算符號的種類
1、算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2、關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3、邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4、位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5、賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6、條件運算符
這是一個三目運算符,用於條件求值(?:)。
7、逗號運算符
用於把若干表達式組合成一個表達式(,)。
8、指針運算符
用於取內容(*)和取地址(&)二種運算。
9、求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10、特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
E. c語言逗號表達試的運算順序
逗號表達式從左往右依次計算,其值為最後一個表達式的值
原表達式相當於(2, 5, 5, 8)
y++;這一句相當於一個函數調用{temp = y; ++y; return temp;}
F. C語言中關系、算術、賦值和逗號四種運算符的運算優先順序!
逗號<關系<算術<賦值
個人經驗補充一條,單目運算符中,左自增和左自減的運算優先順序最高。
只間隔一個運算數的,或者同時使用一個操作數的,不同運算方向的運算符,不用考慮運算優先順序問題,因為同一個運算方向上才會有計算順序的先後。
e.g.int a=5*3;
//=優先順序更高,但是得等運算方向相反的*號運算結果得出後,才能進行它從右往左運算。
全部運算符的運算優先順序都在這里了
G. c語言運算符優先順序從高到低的順序依次為
c語言運算符優先順序從高到低的順序依次如下:
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。表達式的結合次序取決於表達式中各種運算符的優先順序。優先順序高的運算符先結合,優先順序低的運算符後結合,同一行中的運算符的優先順序相同。
不同類型的運算符之間也有相應的優先順序順序。
一個表達式中既可以包括相同類型的運算符,也可以包括不同類型的運算符或者函數。當多種運算符出現在同一個表達式中時,應該先按照不同類型運算符間的優先順序進行運算。
各種運算符間的優先順序如下:數值運算符、字元串運算符、關系運算符、邏輯運算符。可以用括弧改變優先順序順序,使得括弧內的運算優先於括弧外的運算。對於多重括弧,總是由內到外強製表達式的某些部分優先運行。括弧內的運算總是最優先計算。
H. 在C語言中,逗號運算符的優先順序是最低的嗎
一共有十五個優先順序:
1 () [] . ->
2 ! ~ -(負號) ++ -- &(取變數地址)* (type)(強制類型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
就著多吧 結合性:2 13 14 是從右至左 其他都是 從左至右
括弧成員第一; //括弧運算符[]() 成員運算符. ->
全體單目第二; //所有的單目運算符比如++、 --、 +(正)、 -(負) 、指針運算*、&乘除餘三,加減四; //這個"余"是指取余運算即%
移位五,關系六; //移位運算符:<< >> ,關系:> < >= <= 等
等於(與)不等排第七; //即== 和!=
位與異或和位或; //這幾個都是位運算: 位與(&)異或(^)位或(|)
"三分天下"八九十;
邏輯或跟與; //邏輯運算符:|| 和 &&
十二和十一; //注意順序:優先順序(||) 底於 優先順序(&&)
條件高於賦值, //三目運算符優先順序排到13 位只比賦值運算符和","高
逗號運算級最低! //逗號運算符優先順序最低