c語言中運(yùn)算符的優(yōu)先級高低順序 C語言運(yùn)算符優(yōu)先級
1. 算術(shù)運(yùn)算符優(yōu)先級C語言中,算術(shù)運(yùn)算符的優(yōu)先級從高到低依次為:1.1 括號1.2 后綴遞增/遞減( /--)1.3 前綴遞增/遞減( /--)1.4 一元加號/減號( /-)1.5 乘法/除法
1. 算術(shù)運(yùn)算符優(yōu)先級
C語言中,算術(shù)運(yùn)算符的優(yōu)先級從高到低依次為:
1.1 括號
1.2 后綴遞增/遞減( /--)
1.3 前綴遞增/遞減( /--)
1.4 一元加號/減號( /-)
1.5 乘法/除法/取余(*/%)
示例1:
```c
int a 1, b 2, c 3;
int result a (b * c) % b;
```
解析:
根據(jù)運(yùn)算符的優(yōu)先級,首先計(jì)算`b * c`,然后計(jì)算其余數(shù)`% b`,最后與`a`相加。結(jié)果為3。
2. 關(guān)系運(yùn)算符優(yōu)先級
C語言中,關(guān)系運(yùn)算符的優(yōu)先級從高到低依次為:
2.1 大于/小于/大于等于/小于等于(> / < / > / <)
2.2 等于/不等于( / !)
示例2:
```c
int a 1, b 2, c 3;
int result (a > b) (b < c);
```
解析:
根據(jù)運(yùn)算符的優(yōu)先級,先比較`a`是否大于`b`,然后再比較`b`是否小于等于`c`,最后將兩個(gè)條件用邏輯與運(yùn)算符``連接。結(jié)果為0。
3. 邏輯運(yùn)算符優(yōu)先級
C語言中,邏輯運(yùn)算符的優(yōu)先級從高到低依次為:
3.1 邏輯非(!)
3.2 邏輯與()
3.3 邏輯或(||)
示例3:
```c
int a 1, b 2, c 3;
int result (a > b) || !(b < c);
```
解析:
根據(jù)運(yùn)算符的優(yōu)先級,先比較`a`是否大于`b`,然后再比較`b`是否小于等于`c`并取非,最后將兩個(gè)條件用邏輯或運(yùn)算符`||`連接。結(jié)果為1。
4. 賦值運(yùn)算符優(yōu)先級
C語言中,賦值運(yùn)算符的優(yōu)先級從右到左依次為:
4.1 復(fù)合賦值( / - / * / / / %)
4.2 算術(shù)賦值( / / - / * / / / %)
示例4:
```c
int a 1, b 2, c 3;
a b * c;
```
解析:
根據(jù)運(yùn)算符的優(yōu)先級,首先計(jì)算`b * c`,然后再將結(jié)果賦值給`a`。結(jié)果為7。
5. 其他運(yùn)算符優(yōu)先級
除了以上提到的運(yùn)算符,C語言還有一些其他運(yùn)算符,其優(yōu)先級從高到低依次為:
5.1 成員運(yùn)算符(. / ->)
5.2 前綴/后綴運(yùn)算符( /--)
5.3 強(qiáng)制類型轉(zhuǎn)換((type)expression)
5.4 下標(biāo)運(yùn)算符([])
5.5 函數(shù)調(diào)用(())
示例5:
```c
int a 1, b 2, c 3;
int result (a b) * c;
```
解析:
根據(jù)運(yùn)算符的優(yōu)先級,首先計(jì)算`a b`,然后再與`c`相乘。結(jié)果為9。
總結(jié):
掌握C語言中運(yùn)算符的優(yōu)先級是編寫高效、正確的程序的重要基礎(chǔ)之一。在表達(dá)式中使用括號可以明確運(yùn)算的順序,避免優(yōu)先級帶來的歧義。通過本文的詳細(xì)介紹和示例演示,希望讀者能夠更好地理解C語言中各種運(yùn)算符的優(yōu)先級規(guī)則,并正確應(yīng)用于實(shí)際編程中。
參考文獻(xiàn):
[1] The C Programming Language, Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall, 1988.
(注: 以上示例僅供參考,實(shí)際運(yùn)行結(jié)果可能因編譯器或運(yùn)行環(huán)境的不同而有所差異)