Ⅰ c語言編程加減乘除的順序
看看C語言優先順序與結合性
Ⅱ 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。
五級運算符:「 * 」 乘法運算符。
六級運算符:「 + 」加法運算符。
七級運算符:<< 左移運算符;>> 右移運算符。
八級運算符:<、<=、>、>=關系運算符。
九級運算符:「 == 」等於運算符;「 != 」不等於運算符。
十級運算符:「 & 」按位與運算符。
十一級運算符:「 ∧ 」按位異或運算符。
十二級運算符:「 | 」按位或運算符。
十三級運算符:「&&」邏輯與運算符。
十四級運算符:「 || 」邏輯或運算符。
十五級運算符:? :條件運算符。
(2)加減乘除c語言順序擴展閱讀
C語言中各運算符的結合性:
1、左結合性(自左至右):
例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合方向就稱為「左結合性」。
2、右結合性(自右至左)
自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
Ⅲ c語言中,運算順序好像沒有規定是左到右還是右到左吧,12/3×2這個不同順序不同結婚,怎麼辦
沒有統一的規定
但不同運算符是有計算順序的
比如 加減乘除 就是從左到右
賦值 是從右到左
比如你這個 除法和乘法優先順序相同,順序為從左到右 於是就是
12/3*2
=4*2
=8
Ⅳ 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)先函數,後運算。
解釋:式中有函數,例如sqrt(),fabs(),sin()之類,先算函數。
(3)先算術,後關系,再邏輯。
解釋:邏輯表達式中,混有算術運算,要先算算術(加減乘除,函數)運算,再算關系(大小,等不等)運算。最後算邏輯(或與非),得到真假。
(4)先乘除,後加減。
解釋:同算術一樣,先做乘除,後做加減。
邏輯運算符「與」又叫邏輯乘,邏輯運算符「或」,又叫邏輯加,按先乘除,後加減,「與」比「或」優先。
(5)先左,後右
解釋:同級運算,先做左邊的,後做右邊的。
(6)搞不清,加括弧。
解釋:自己寫算術表達式和邏輯表達式時,搞不清運算符優先順序,可以加括弧,括弧里的總是先。
Ⅵ 在C語言中運算符的運算順序是如何的
運算符也有個運算順序問題,先算乘除再算加減。單目正和單目負最先運算。取模運算符(%)用於計算兩個整數相除所得的余數。例如:
a=7%4;
最終a的結果是3,因為7%4的余數是3。
那麼有人要問了,我要想求它們的商怎麼辦呢?b=7/4;
這樣b就是它們的商了,應該是1。
也許有人就不明白了,7/4應該是1.75,怎麼會是1呢?這里需要說明的是,當兩個整數相除時,所得到的結果仍然是整數,沒有小數部分。要想也得到小數部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個數變為非整數。
那麼怎樣由一個實數得到它的整數部分呢?這就需要用強制類型轉換了。例如:a=(int)(7.0/4);
因為7.0/4的值為1.75,如果在前面加上(int)就表示把結果強制轉換成整型,這就得到了1。那麼思考一下
a=(float)(7/4);
最終a的結果是多少?
單目減運算符相當於取相反值,若是正值就變為負值,若是負數就變為正值。單目加運算符沒有意義,純粹是和單目減構成一對用的。
Ⅶ c語言中加減乘除的優先順序是怎麼樣的
優先順序是,從左到右,左邊的操作符先做,右邊的操作符後做;對於一個算式中的所有操作符,要先做乘除,後做加鹼。
Ⅷ c語言中,加減乘除,求余求熵有沒有什麼運算順序
優先決
括弧成員第一; //括弧運算符[]() 成員運算符. ->
全體單目第二; //所有的單目運算符比如++ -- +(正) -(負) 指針運算*&
乘除餘三,加減四; //這個"余"是指取余運算即%
移位五,關系六; //移位運算符:<< >> ,關系:> < >= <= 等
等於(與)不等排第七; //即== !=
位與異或和位或; //這幾個都是位運算: 位與(&)異或(^)位或(|)
"三分天下"八九十;
邏輯或跟與; //邏輯運算符:|| 和 &&
十二和十一; //注意順序:優先順序(||) 底於 優先順序(&&)
條件高於賦值, //三目運算符優先順序排到 13 位只比賦值運算符和","高//需要注意的是賦值運算符很多!
逗號運算級最低! //逗號運算符優先順序最低
http://..com/question/2415011.html
http://ke..com/view/1219.htm#8
Ⅸ C語言中,加減乘除還有取余數,優先順序是什麼
加減的優先順序比乘除取余低一級所以先乘除後加減,都是加減或都是乘除取余的話從左到右計算舉個例子20 - 10 + 15 / 5 * 20 % 3先乘除所以, 15 / 5 = 3, 3 * 20 = 60, 60 % 3 = 0,然後 20 - 10 = 10, 10+0 = 10;Ⅹ C語言中,加減乘除的計算順序 是不是從右向左
運算符是有優先順序區分的,你可以了解一下運算符的優先順序順序,不是從右向左的。