当前位置:首页 > 单片机 > 单片机
[导读]在单片机C语言编程中,通常用到30个运算符,如表1,其中算术运算符13个,关系运算符6个,逻辑运算符3个,位操作符7个,指针运算符1个。在C语言中,运算符具有优先级和结合性。算术运算符优先级规定为:先乘除模(模运

在单片机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寄存器所指地址内的值



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭