本章節將介紹C語言運算符的基本知識,其中包括賦值運算符、算數運算符、關係運算符、邏輯運算符。
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語言的運算符(第二部分)。
閱讀更多 小吳生活VLOG 的文章