C語言中的運算子優先權:1、一級運算子有標識,常數;2、二級運算子有數組下標運算、函數呼叫;3、三級運算子有前綴自增、前綴自減;4、四級運算子為強製表達式成為指定的類型;5、五級運算子為乘法運算子等等。
例如,x = 7 3 * 2;在這裡,x被賦值為13,而不是20,因為運算子*的優先權高於,所以它先與3*2相乘,然後再與7相加。
在這裡,優先順序最高的運算子出現在表的頂部,優先順序最低的運算子出現在表的底部。在表達式中,優先順序較高的運算子將首先計算。
一級運算子:標識,常數,字串文字量,優先權提升表達式最優先執行。
二級運算子:陣列下標運算(expression)、函數呼叫(argument-expression-list)、成員存取(identifier、 -> identifier)、後綴自增( i )、字尾自減(i--)、 複合初始化(initializer-list)。
三級運算子:前綴自增( i)、前綴自減(--i)、單目轉型表式(取位址& ,提領* , 正號,負號-、 位反~ 邏輯否!)、求類型長度(sizeof unary-expression)。
四級運算子:強製表達式成為type-name指定的型別( type-name ) cast-expression。
五級運算子:「 * 」 乘法運算子。
六級運算子:「 」加法運算子。
七級運算子:<< 左移運算子;>> 右移運算子。
八級運算子:<、<=、>、>=關係運算子。
九級運算子:「 == 」等於運算子;「 != 」不等於運算子。
十級運算子:「 & 」位元與運算子。
十一級運算子:「 ∧ 」位元異或運算子。
十二級運算子:「 | 」以位元或運算子。
十三級運算子:「&&」邏輯與運算子。
十四級運算子:「 || 」邏輯或運算子。
十五級運算子:? :條件運算子。
C語言中運算子優先順序如下(從高到底):
運算子 | 關聯性 |
#() [] -> . - - | 左至右 |
- ! ~ - - (type)* & sizeof | 右到左 |
左到右 | |
左到右 | |
左到右 | |
#左到右 | |
左到右 | |
#左到右 | |
## ^ | 左到右 |
| | 左到右 |
##&& | |
左到右 | |
#左到右 | |
##右到左 |
, ###C中的運算子優先權範例:###
#include <stdio.h>main() { int a = 20; int b = 10; int c = 15; int d = 5; int e; e = (a + b) * c / d; // ( 30 * 15 ) / 5 printf("Value of (a + b) * c / d is : %d\n", e ); e = ((a + b) * c) / d; // (30 * 15 ) / 5 printf("Value of ((a + b) * c) / d is : %d\n" , e ); e = (a + b) * (c / d); // (30) * (15/5) printf("Value of (a + b) * (c / d) is : %d\n", e ); e = a + (b * c) / d; // 20 + (150/5) printf("Value of a + (b * c) / d is : %d\n" , e ); return 0;}
Value of (a + b) * c / d is : 90 Value of ((a + b) * c) / d is : 90 Value of (a + b) * (c / d) is : 90 Value of a + (b * c) / d is : 50
以上是C語言中的運算子優先權(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!