有意思的C语言运算符
在C語言中,運算符用于執行程序代碼運算,會針對兩個或者兩個以上操作數進行運算。比如:5?-?2,它的操作數是?5?和?2,而運算符則是?“-”。常見的運算符可大致分為?4?種類型:算術運算符、關系運算符、賦值運算符和邏輯運算符;它優先級從低到高的順序為:賦值運算符?<?邏輯運算符?<?關系運算符?<?算術運算符;下面對這4種類型一一講解。
1、賦值運算符
賦值運算符可分為簡單賦值、復合算術賦值和復合位運算賦值。
1、1?簡單運算符只有一個?“=”,它的用法可用如下例子表示:
int n = 2;1、2?復合算術賦值運算符有?5?個,分別為?“ =”,?“-=”,?“*=”,?“/=”,?“%=”,它們的用法可用如下例子表示:
int j = 1; j = 2; //等同于 j = j 2,表示j的值加 2 后再賦值給j j -= 2; //等同于 j = j - 2,表示j的值減 2 后再賦值給j j *= 2; //等同于 j = j * 2,表示j的值乘以 2 后再賦值給j j /= 2; //等同于 j = j / 2,表示j的值除以 2 后再賦值給j j %= 2; //等同于 j = j % 2,表示j的值除以 2 后再賦值給j1、3?復合位運算賦值運算符有?5?個,參與運算的量,按二進制位進行運算,分別是?“&=”,?“|=”,?“^=”,?“>>=”,?“<<=”,它們的用法可用如下例子表示:
int y = 2; //相應的二進制數為0b10 int num = 1; //相應的二進制數為0b01 y &= num; //等同于 y = y & num,此時int類型y的值為0,二進制y的值為0b0 y |= num; //等同于 y = y | num,此時int類型y的值為3,二進制y的值為0b11 y ^= num; //等同于 y = y ^ num,此時int類型y的值為3,二進制y的值為0b11 y >>= num; //等同于 y = y >> num,表示y向右移num位再賦值給y,此時int類型y的值為1,二進制y的值為0b01 y <<= num; //等同于 y = y << num,表示y向左移num位再賦值給y,此時int類型y的值為2,二進制y的值為0b102、邏輯運算符
邏輯運算符有?3?個,它們分別是?“&&”、“||”?和?“!”,“!”?表示非,取反的意思;在這里拓展一個知識點,在?C?語言中,用表達式等于0表示布爾值的假(0),用不等于0的表達式表示布爾值的真(1);邏輯運算符的用法可用如下例子所示:
int j,j2,j3 ; int k = 20; j = (3 - 4) && (k = 2); //(3 - 4)等于-1,視為真;(k = 2)中k等于2,視為真,所以j為真,j = 1 j2 = (0) || (k = 2); //(0)為假,(k = 2)中k等于2,視為真;所以j2就為真,j2 = 1 j3 = !k; //k的值為2,視為真,!k就為假,所以j3為假,j3的值為0用代碼做例子后,我們進行一下總結,“&&”?邏輯運算符左右兩邊的表達式都為真時,那么整個表達式就為真,否則為假;如果?“&&”?邏輯運算符左邊的表達式為假時,右邊的表達式就不會執行。“||”?邏輯運算符左右兩邊的表達式至少有一個為真時,整個表達式就為真,否則為假;如果?“||”?邏輯運算符左邊的表達式為真時,右邊的表達式不會執行。
3、關系運算符
關系運算符有?6?個,分別是?“>”、“<”、“=”、?“>=”、“<=”、“!=”,它們一般用于?2?個或者?2?個以上數據作比較;它們的用法可用如下例子所示:
int a,b,c,d,e,f;a = 3 > 4; //3不大于4,所以a為0 b = 4 < 5; //4小于5,所以b為1 c = 4 == 4; d = 5 >= 3; e = 7 != 8; f = 10 <= 12;4、算術運算符
算術運算符有?7?個,它們分別是?“ ”?、“-”?、“”?、“/”、?“%”?、“ ”?和?“--”,由于?“ ”?和?“-”?都比較簡單,所以只對?“”?、“/”、?“%”?、“ ”?和?“--”?進行講解;舉例之前先拓展一個知識點,C語言的基本數據類型的優先級為?byte,short,char—>?int?—>?long—>?float?—>?double,byte、short?和?char?這?3?個為同一級別;"*"?表示乘法運算符,“/”?為除法運算符,“%”?為求余數運算符,“ ”?為自增運算符,“--”為自減運算符。
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的有意思的C语言运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票连续跌停两天该怎么处理?
- 下一篇: 《我是未来》:在摩天大楼顶端“种田”的乐