11.23 C語言編程基礎(3)運算符(第一部分)

本章節將介紹C語言運算符的基本知識,其中包括賦值運算符、算數運算符、關係運算符、邏輯運算符。

C語言編程基礎(3)運算符(第一部分)

1、賦值運算

⑴ 把右邊的值賦給左邊的變量,賦值從右向左算。

int i, j, k;

i = j = k = 0; // k=0, j=k, i=j,可以但不推薦

⑵ 左邊必須是一個左值(變量), 不能是常數或表達式。

0 = i; // 錯誤

i + j = 0; // 錯誤

⑶ 賦值表達式的左值即是賦值表達式的值

int i;

i = 1; // 整個賦值表達式的值即為i的值

⑷ 賦值可以和其它運算符結合使用,謂之複合賦值

i += 3; // 等同於:i = i + 3;

j *= 3; // 等同於:j = j * 3;

⑸ =代表賦值, ==代表相等。

2、算術運算

⑴ 加(+)、減(-)和乘(*)。

int i = 10;

int j = 5;

int num = 0;

num = i + j; // num等於15

num = i–j; // num 等於5

num = i * j; // num 等於50

⑵ 除(/)和模(%)

– 整數相除,向0取整(取更靠近0的數字)。

int num;

num = 5 / 2; // num等於2

– 對0做/和%會中斷程序, /0.0得到無窮大(inf)。

– %只能用於整數,實數不支持。

int num;

num = 5 % 2; // num等於1

– %的正負號與%前面數字的正負號相同。

⑶自增減運算

– ++/--, 變量自增/自減1,不能用於常數。

5++; // 錯誤

– 整型實型均可自增減,但主要用於整型

– 前綴表達式,先自增減,後運算

int i = 5;

int j = 5;

int num = 0;

num = ++i + j; // num等於11

– 後綴表達式,先運算,後自增減

int i = 5;

int j = 5;

int num = 0;

num = j+i++; // num等於10

– i、 i++和++i,從內存上說是同一塊內存區域。

– i++/++i最好單獨作為一個語句出現。

3、關係運算

⑴ 大於(>)和大於等於(>=)

⑵ 小於(

⑶ 等於(==)和不等於(!=)

⑷ 關係表達式的值是真和假,分別用1和0表示。

int i = 5;

int j = 2;

int num = 0;

if(i > j) //此關係表達式的值為真

{

num = i – j; // num等於3

}

4、邏輯運算

⑴與(&&)、或(||)和非(!)

– 與:並且,全真則真, 否則為假

– 或: 或者,全假則假, 否則為真

– 非:反之,非真即假,非假即真

⑵邏輯表達式的值是真和假,分別用1和0表示。

⑶與(&&)的運算特徵:短路與,即若第一個表達式為假,則結果為假,後面

的表達式不再計算。

int i = 5;

int j = 2;

if((i > 10) && (j++ ))

{

;

}

//第一個表達式為假,則後面的j++不再計算,所以j的值依然為2。

⑷或(||)的運算特徵:短路或

,即若第一個表達式為真,則結果為真,後面

的表達式不再計算。

int i = 5;

int j = 2;

if((i < 10) || (j++ ))

{

;

}

//第一個表達式為真,則後面的j++不再計算,所以j的值依然為2。

本章節完畢。

下一章節將介紹C語言的運算符(第二部分)


分享到:


相關文章: