單片機(jī)C語言編程常用的運(yùn)算符介紹
在單片機(jī)C語言編程中,通常用到30個運(yùn)算符,如表1,其中算術(shù)運(yùn)算符13個,關(guān)系運(yùn)算符6個,邏輯運(yùn)算符3個,位操作符7個,指針運(yùn)算符1個。
在C語言中,運(yùn)算符具有優(yōu)先級和結(jié)合性。
算術(shù)運(yùn)算符優(yōu)先級規(guī)定為:先乘除模(模運(yùn)算又叫求余運(yùn)算),后加減,括號最優(yōu)先。結(jié)合性規(guī)定為:自左至右,即運(yùn)算對象兩側(cè)的算術(shù)符優(yōu)先級相同時,先與左邊的運(yùn)算符號結(jié)合。
關(guān)系運(yùn)算符的優(yōu)先級規(guī)定為:>、<、>=、<=四種運(yùn)算符優(yōu)先級相同,=、!=相同,但前四種優(yōu)先級高于后四種。關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符,高于賦值(=)運(yùn)算符。
邏輯運(yùn)算符的優(yōu)先級次序?yàn)椋?!?&、||。
當(dāng)表達(dá)式中出現(xiàn)不同類型的運(yùn)算符時,非(?。┻\(yùn)算符優(yōu)先級最高,算術(shù)運(yùn)算符次之,關(guān)系運(yùn)算符再次之,其次是&&和||,最低為賦值運(yùn)算符。
位操作的對象只能是整型或字符數(shù)據(jù)型。
表1單片機(jī)C語言常用運(yùn)算符
運(yùn)算符
范例
說明
算
術(shù)
運(yùn)
算內(nèi)容來自單片機(jī)之家www.dpj100.com
+
a+b
a變量值和b變量值相加
-
a-b
a變量值和b變量值相減
*
a*b
a變量值乘以b變量值
/
a/b
a變量值除以b變量值
%
a%b
取a變量值除以b變量值的余數(shù)
=內(nèi)容來自單片機(jī)之家www.dpj100.com
a=5
a變量賦值,即a變量值等于5
+=
a+=b內(nèi)容來自單片機(jī)之家www.dpj100.com
等同于a=a+b,將a和b相加的結(jié)果存回a
-=
a-=b
等同于a=a-b,將a和b相減的結(jié)果存回a
*=
a*=b
等同于a=a*b,將a和b相乘的結(jié)果存回a
/=
a/=b
等同于a=a/b,將a和b相除的結(jié)果存回a
%=
a%=b
等同于a=a%b,將a和b相除的余數(shù)存回a內(nèi)容來自單片機(jī)之家www.dpj100.com
++
a++
a的值加1,等同于a=a+1
--
a--
a的值減1,等同于a=a-1
關(guān)
系
運(yùn)
算
>
a>b內(nèi)容來自單片機(jī)之家www.dpj100.com
測試a是否大于b
<
a
測試a是否小于b
= =
a= =b
測試a是否等于b
>=
a>=b
測試a是否大于或等于b
<=
a<=b內(nèi)容來自單片機(jī)之家www.dpj100.com
測試a是否小于或等于b
!=
a!=b
測試a是否不等于b
邏輯運(yùn)算
&&
a&&b
a和b作邏輯與(AND),2個變量都為真時結(jié)果才為真
||
a||b
a和b作邏輯或(OR),只要有1個變量為真,結(jié)果就為真
!
!a
將a變量的值取反,即原來為真則變?yōu)榧伲瓰榧賱t為真
位
操
作
運(yùn)
算
>>
a>>b
將a按位右移b個位,高位補(bǔ)0內(nèi)容來自單片機(jī)之家www.dpj100.com
<<
a<<b
將a按位左移b個位,低位補(bǔ)0
|
a|b
a和b按位做或運(yùn)算
&
a&b
a和b按位做與運(yùn)算
^
a^b
a和b按位做異或運(yùn)算
~
~a
將a的每一位取反
&
a=&b
將變量b的地址存入a寄存器
指針
*
*a
用來取a寄存器所指地址內(nèi)的值