×
单片机 > 单片机程序设计 > 详情

单片机C语言编程常用的运算符介绍

发布时间:2020-08-26 发布时间:
|

在单片机C语言编程中,通常用到30个运算符,如表1,其中算术运算符13个,关系运算符6个,逻辑运算符3个,位操作符7个,指针运算符1个。


在C语言中,运算符具有优先级和结合性。

算术运算符优先级规定为:先乘除模(模运算又叫求余运算),后加减,括号最优先。结合性规定为:自左至右,即运算对象两侧的算术符优先级相同时,先与左边的运算符号结合。


关系运算符的优先级规定为:>、=、<=四种运算符优先级相同,=、!=相同,但前四种优先级高于后四种。关系运算符的优先级低于算术运算符,高于赋值(=)运算符。 

逻辑运算符的优先级次序为:!、&&、||。


当表达式中出现不同类型的运算符时,非(!)运算符优先级最高,算术运算符次之,关系运算符再次之,其次是&&和||,最低为赋值运算符。

位操作的对象只能是整型或字符数据型。


 

表1单片机C语言常用运算符

运 算 符 

范 例


说    明


算 


算 内容来自单片机之家www.dpj100.com

+


a+b

a变量值和b变量值相加


-


a-b

a变量值和b变量值相减

*

a*b

a变量值乘以b变量值


/


a/b

a变量值除以b变量值 

%


a%b

取a变量值除以b变量值的余数

= 内容来自单片机之家www.dpj100.com

a=5


a变量赋值,即a变量值等于5


+=


a+=b 内容来自单片机之家www.dpj100.com

等同于a=a+b,将a和b相加的结果存回a


-=


a-=b

等同于a=a-b, 将a和b相减的结果存回a


*=


a*=b

等同于a=a*b, 将a和b相乘的结果存回a


/=


a/=b


等同于a=a/b, 将a和b相除的结果存回a

%=


a%=b

等同于a=a%b, 将a和b相除的余数存回a 内容来自单片机之家www.dpj100.com

++


a++

a的值加1,等同于a=a+1 

-- 

a--


a的值减1,等同于a=a-1




a>b 内容来自单片机之家www.dpj100.com

测试a是否大于b



a

测试a是否小于b


= =

a= =b


测试a是否等于b 

>=


a>=b


测试a是否大于或等于b


<=

a<=b 内容来自单片机之家www.dpj100.com

测试a是否小于或等于b


!=


a!=b

测试a是否不等于b


逻辑运算


&&

a&&b


a和b作逻辑与(AND),2个变量都为真时结果才为真 

||


a||b

a和b作逻辑或(OR),只要有1个变量为真,结果就为真

!

!a


将a变量的值取反,即原来为真则变为假,原为假则为真


位 

操 

>> 

a>>b


将a按位右移b个位,高位补0 内容来自单片机之家www.dpj100.com

<<


a<<b


将a按位左移b个位,低位补0


|


a|b


a和b按位做或运算


&

a&b


a和b按位做与运算

^

a^b


a和b按位做异或运算


~


~a


将a的每一位取反

&

a=&b


将变量b的地址存入a寄存器

指针


*a

用来取a寄存器所指地址内的值






『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM中断源之定时器中断