運算子與優先順序

2022-06-12 06:42:08 字數 2221 閱讀 9863

1.括號優先順序最高

2.算術運算子優先順序高於關係運算子

3.逗號運算子優先最低

!>算術運算子》關係運算子》&&>||>賦值運算子

算數運算子——從左至右

賦值運算子——從右至左

優先順序操作符1()

->.::

!~++--

2- (負號)

* (取內容)

& (取首位址)

sizeof

3->*.*4

* (乘)/%

5+-6

<<

>>

7<

<=

>

>=8==

!=9& (按位與)10^

11|12&&

13||

14? :15=

+=-=

etc.16,

一算術運算子

加減乘除求餘數+-*/%

int n=7/2

printf("%d",n)

//輸出為3,因為是整型,把小數捨棄掉了

float n=7/2===>還是為3

而float n=7/2.0===>結果為3.5

二關係運算子

大於 >

小與 <

等於 ==

不等於 !=

大於等於 >=

小於等於 <=

運算規則:從左到右依次比較,比較完乙個運算子後,返回乙個bool值,返回的bool值繼續參與下一次比較

不允許使用連續的判斷

三邏輯運算子

與:&& 二者都為真才是真的

或:|| 有乙個真就為真

非:! !表示式——改變真假

注意int a = 1, b = 2, c = 3;

bool is = (a > b) && (c = 6);

前面為假,不在執行後面,所以c還是等於3

​ cout << "a=" << a《輸出的c=3

​ a = 1, b = 2, c = 3;

​ is = (a > b) || (c = 6);

前面為假,可執行後面,所以c為6

​ cout << "a=" << a << endl

​ << "b=" << b << endl

​ << "c=" << c << endl;

輸出的c=6

四賦值運算子(雙目運算子)

int a;

a = 10;

bool b;

b = a = 0;

cout << "b=" << b << endl;

從右到左賦值

五自增自減運算子(單目運算子)

前置後置的區別

a++===》先操作,再執行a=a+1

++a===》先執行a=a+1,再操作

a++不能做左值,a++是乙個常量,++a是乙個變數

後置優先順序比前置優先順序高

六條件運算子(三目運算子)

寫法:(表示式1)?(表示式2):(表示式3)

規則:先執行表示式1,如果表示式1位真,就執行表示式2,為假就執行表示式3

七逗號表示式

寫法:int n;

n=((表示式1),(表示式2),......,(表示式n));

最後n=表示式n的值

運算規則:

從左到右,依次計算,取最後乙個表示式的值(表示式的個數不受限制)

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

int n;

n = ((++a), (a++), (a = 10), (c = a), (b = 80), a);

cout << "a=" << a << endl ; //a=10

cout << "b=" << b << endl ; //b=80

cout << "c=" << c << endl ; //c=10

cout << "n=" << n << endl ; //n=10

八括號運算子

括號括起來的先算,有多個括號,從左到右算

九位操作運算子

按位與 &

按位或 |

按位非 ~

按位異或 ^

左移 <<

右移 >>

十其他運算子

箭頭 ->

點 .負號 -

取內容 *

取首位址 &

求位元組數 sizeof()

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...

運算子優先順序 PHP運算子優先順序

php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...