C語言運算子的優先順序

c語言優先順序運算子順序是邏輯非最高,算術運算子次之,第三為關係運算符,第四為邏輯與邏輯或,最後是賦值運算子。由於運算子眾多,各種運算子內部的優先順序需要查表確定,日常只需要記住整體運算子優先順序即可。

C語言運算子的優先順序

一、邏輯運算子與關係運算符優先順序

例如:(4>2)||(3>5)&&!(2>0)

解析:

有括號,先算括號,再按照優先順序先進行!運算,(2>0)結果為真,!運算後,結果為假;然後從左到右進行:(4>2)結果為真,(3>5)結果為假,真與假或運算,結果為真;(4>2)||(3>5)的結果與非運算(!(2>0))的結果進行與運算,結果為假。

二、算術運算子與賦值運算子優先順序

例如:

#include

int main(){

int a = 8, b = 2, c = 1;

int d = a + b * c;

int e = a / b * c;

printf( “d=%d, e=%d\n”, d, e);

return 0;

}

執行結果:d=10, e=4

解析:

仍然是先算乘除、後算加減,有括號先算括號內的,同級運算,從左到右。d = a + b * c,先算乘法,再算加法,最後賦值。e = a / b * c,同優先順序,按照從左到右順序,先算除法,再算乘法,最後賦值。