有意思的C语言运算符
在C語言中,運(yùn)算符用于執(zhí)行程序代碼運(yùn)算,會(huì)針對(duì)兩個(gè)或者兩個(gè)以上操作數(shù)進(jìn)行運(yùn)算。比如:5?-?2,它的操作數(shù)是?5?和?2,而運(yùn)算符則是?“-”。常見的運(yùn)算符可大致分為?4?種類型:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、賦值運(yùn)算符和邏輯運(yùn)算符;它優(yōu)先級(jí)從低到高的順序?yàn)?#xff1a;賦值運(yùn)算符?<?邏輯運(yùn)算符?<?關(guān)系運(yùn)算符?<?算術(shù)運(yùn)算符;下面對(duì)這4種類型一一講解。
1、賦值運(yùn)算符
賦值運(yùn)算符可分為簡(jiǎn)單賦值、復(fù)合算術(shù)賦值和復(fù)合位運(yùn)算賦值。
1、1?簡(jiǎn)單運(yùn)算符只有一個(gè)?“=”,它的用法可用如下例子表示:
int n = 2;1、2?復(fù)合算術(shù)賦值運(yùn)算符有?5?個(gè),分別為?“ =”,?“-=”,?“*=”,?“/=”,?“%=”,它們的用法可用如下例子表示:
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?復(fù)合位運(yùn)算賦值運(yùn)算符有?5?個(gè),參與運(yùn)算的量,按二進(jìn)制位進(jìn)行運(yùn)算,分別是?“&=”,?“|=”,?“^=”,?“>>=”,?“<<=”,它們的用法可用如下例子表示:
int y = 2; //相應(yīng)的二進(jìn)制數(shù)為0b10 int num = 1; //相應(yīng)的二進(jìn)制數(shù)為0b01 y &= num; //等同于 y = y & num,此時(shí)int類型y的值為0,二進(jìn)制y的值為0b0 y |= num; //等同于 y = y | num,此時(shí)int類型y的值為3,二進(jìn)制y的值為0b11 y ^= num; //等同于 y = y ^ num,此時(shí)int類型y的值為3,二進(jìn)制y的值為0b11 y >>= num; //等同于 y = y >> num,表示y向右移num位再賦值給y,此時(shí)int類型y的值為1,二進(jìn)制y的值為0b01 y <<= num; //等同于 y = y << num,表示y向左移num位再賦值給y,此時(shí)int類型y的值為2,二進(jìn)制y的值為0b102、邏輯運(yùn)算符
邏輯運(yùn)算符有?3?個(gè),它們分別是?“&&”、“||”?和?“!”,“!”?表示非,取反的意思;在這里拓展一個(gè)知識(shí)點(diǎn),在?C?語言中,用表達(dá)式等于0表示布爾值的假(0),用不等于0的表達(dá)式表示布爾值的真(1);邏輯運(yùn)算符的用法可用如下例子所示:
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用代碼做例子后,我們進(jìn)行一下總結(jié),“&&”?邏輯運(yùn)算符左右兩邊的表達(dá)式都為真時(shí),那么整個(gè)表達(dá)式就為真,否則為假;如果?“&&”?邏輯運(yùn)算符左邊的表達(dá)式為假時(shí),右邊的表達(dá)式就不會(huì)執(zhí)行。“||”?邏輯運(yùn)算符左右兩邊的表達(dá)式至少有一個(gè)為真時(shí),整個(gè)表達(dá)式就為真,否則為假;如果?“||”?邏輯運(yùn)算符左邊的表達(dá)式為真時(shí),右邊的表達(dá)式不會(huì)執(zhí)行。
3、關(guān)系運(yùn)算符
關(guān)系運(yùn)算符有?6?個(gè),分別是?“>”、“<”、“=”、?“>=”、“<=”、“!=”,它們一般用于?2?個(gè)或者?2?個(gè)以上數(shù)據(jù)作比較;它們的用法可用如下例子所示:
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、算術(shù)運(yùn)算符
算術(shù)運(yùn)算符有?7?個(gè),它們分別是?“ ”?、“-”?、“”?、“/”、?“%”?、“ ”?和?“--”,由于?“ ”?和?“-”?都比較簡(jiǎn)單,所以只對(duì)?“”?、“/”、?“%”?、“ ”?和?“--”?進(jìn)行講解;舉例之前先拓展一個(gè)知識(shí)點(diǎn),C語言的基本數(shù)據(jù)類型的優(yōu)先級(jí)為?byte,short,char—>?int?—>?long—>?float?—>?double,byte、short?和?char?這?3?個(gè)為同一級(jí)別;"*"?表示乘法運(yùn)算符,“/”?為除法運(yùn)算符,“%”?為求余數(shù)運(yùn)算符,“ ”?為自增運(yùn)算符,“--”為自減運(yùn)算符。
聲明:
本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。
總結(jié)
以上是生活随笔為你收集整理的有意思的C语言运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票连续跌停两天该怎么处理?
- 下一篇: 新手学习C语言编程的8个致命错误,你中招