--運(yùn)算符歸納:
在編程中我們總要有些數(shù)據(jù)需要處理,C語言提供了大量的操作?梢赃M(jìn)行算術(shù)計(jì)算、比較值的大小、修改變量、邏輯地組合關(guān)系等等。
在下面為大家用一個(gè)表格歸納常用的運(yùn)算符: 
--基本運(yùn)算符:
賦值運(yùn)算符:= 符號(hào)=不表示“相等”,而是一個(gè)賦值運(yùn)算符。 i=2000;//語句將數(shù)值2000賦給名字i 符號(hào)=的左邊是一個(gè)變量名,右邊是賦給該變量的值。符號(hào)=被稱為賦值運(yùn)算符。要注意不要把“i=2000;”這個(gè)語句讀作“i等于2000”,請一定務(wù)必讀作“把數(shù)值2000賦值給變量i” i=i+1;//給一個(gè)有限數(shù)加1 上邊的語句在數(shù)學(xué)上是沒有任何意義的。但是作為計(jì)算機(jī)賦值語句,它卻是很合理的。它意味著“找到名字為i的變量的值,對那個(gè)值加1,然后將這個(gè)新的賦值給名字為i的變量” 加法運(yùn)算符:+ 加法運(yùn)算符是使得在“+”兩側(cè)的值被加到一起,例如 i=i+1;//給一個(gè)有限數(shù)加1 減法運(yùn)算符:- 減法運(yùn)算符從它前面的數(shù)減去它后面的數(shù),例如 i=i-1;//給一個(gè)有限數(shù)減1 符號(hào)運(yùn)算符:- 符號(hào)運(yùn)算符就是數(shù)學(xué)里邊的“—”負(fù)號(hào)。
a=-2;//把-2賦值給變量a 乘法運(yùn)算符:* 乘法由符號(hào)*表示。語句: a=2*a; 除法運(yùn)算符:/ C語言使用符號(hào)/來表示除法。“/”左邊的數(shù)值被它右邊的數(shù)值除。例如 a=a/12; 但是這里需要注意的是:整數(shù)型數(shù)值除法運(yùn)算和浮點(diǎn)型數(shù)值除法運(yùn)算有很大的不同。浮點(diǎn)型數(shù)值除法運(yùn)算會(huì)得出一個(gè)浮點(diǎn)型的結(jié)果。那么自然啦,整數(shù)型數(shù)值除法運(yùn)算會(huì)得出一個(gè)整數(shù)型的整數(shù)結(jié)果。整數(shù)型不能有小數(shù)部分,這使得5除以3很讓人頭疼,因?yàn)榻Y(jié)果有小數(shù)部分。那咋辦呢?整數(shù)除法結(jié)果的小數(shù)部分都被丟棄,這個(gè)過程被稱為“截尾”。 取模運(yùn)算符:%
取模運(yùn)算符用于整數(shù)運(yùn)算。該運(yùn)算符計(jì)算出用它右邊的整數(shù)去除它左邊整數(shù)得到的余數(shù)。不要以為這個(gè)運(yùn)算符是只供數(shù)學(xué)家使用的深?yuàn)W工具,它是實(shí)際上我們非常常用常見的用途幫助你控制程序的流程。加入你存入一串字符串,但你只能按照要求每8個(gè)字節(jié)存一次,對存入的字符數(shù)進(jìn)行除以8的取模(num%8)操作并檢驗(yàn)結(jié)果是不是0。 增量和減量運(yùn)算符:++、—— 增量運(yùn)算符完成簡單的任務(wù),即將其操作數(shù)的值增加1.這個(gè)運(yùn)算符以兩種方式出現(xiàn)。 在第一種方式中,++出現(xiàn)在它作用的變量的前面,這是前綴模式。 a=++a;//前綴:使用a的值之后改變a 在第二種方式中,++出現(xiàn)在它的作用的變量后面,這是后綴模式。 a=a++;//后綴:使用b的值之前改變a 當(dāng)然,之前我在不太熟練的情況下也使用下面不太精致的形式: a=a+1; 但是,這個(gè)程序給別人看的時(shí)候,沒有人會(huì)相信你是一個(gè)熟練的C程序員。
--基本位運(yùn)算:
位運(yùn)算: 在嵌入式的應(yīng)用中,需要與各種字節(jié)、字雙字,也就是以8位、16位、32位長為單位的寄存器打交道。 位移運(yùn)算:<<、>> <<在每次左移操作時(shí),高位被舍,稱之為溢出,低位被自動(dòng)補(bǔ)入0。每次左移高位都會(huì)溢出,只是不關(guān)心0溢出,而在意1的溢出。 >>在每次右移操作時(shí),高位自動(dòng)補(bǔ)0,低位被舍棄。 左移一位相當(dāng)于該數(shù)被乘以2,左移n位相當(dāng)于該數(shù)乘以2的n次方。右移一位相當(dāng)于該數(shù)除以2,右移n位,相當(dāng)于該數(shù)除以2的n次方。 按位與運(yùn)算:& 參與按位與運(yùn)算(&)的兩個(gè)運(yùn)算數(shù),從低位開始,對齊每一位,逐位進(jìn)行與操作運(yùn)算只有當(dāng)對應(yīng)位上的數(shù)據(jù)都為1時(shí),該位的結(jié)果為1,否則為0。 按位或運(yùn)算:| 參與按位或運(yùn)算(|)的兩個(gè)運(yùn)算數(shù),從低位開始,對齊每一位,逐位進(jìn)行與操作運(yùn)算,當(dāng)對應(yīng)位的數(shù)據(jù)有一個(gè)數(shù)據(jù)位1時(shí),該結(jié)果為1,只有都為0時(shí)才為0。
以下是本系列教程文章列表:歡迎大家踴躍討論,有問題可在51黑論壇回帖提出.
C語言基礎(chǔ)教程(1):http://www.torrancerestoration.com/bbs/dpj-41177-1.html C語言教程(2)-關(guān)鍵字 變量:http://www.torrancerestoration.com/bbs/dpj-41178-1.html C語言教程(3)-控制語句:http://www.torrancerestoration.com/bbs/dpj-41179-1.html C語言教程(4)-運(yùn)算符:http://www.torrancerestoration.com/bbs/dpj-41180-1.html C語言教程(5)-函數(shù):http://www.torrancerestoration.com/bbs/dpj-41181-1.html C語言教程(6)-數(shù)組與函數(shù)指針:http://www.torrancerestoration.com/bbs/dpj-41182-1.html
51單片機(jī)教程:http://www.torrancerestoration.com/bbs/mcu-xuexi-1.html STM32教程:http://www.torrancerestoration.com/bbs/dpj-41167-1.html
|