单片机c语言常用运算说明,单片机C语言编程常用运算符介绍.doc

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

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

在单片机 C 语言编程中,通常用到 30 个运算符,如表 1 ,其中算术运算符 13 个,关系运算符 6 个,逻辑运算符 3 个,位操作符 7 个,指针运算符 1 个。 在 C 语言中,运算符具有优先级和结合性。 算术运算符优先级规定为:先乘除模(模运算又 叫求余运算 )

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

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

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

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

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

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

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

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

运 算 符

范 例

说 明

+

a+b

a变量值和b变量值相加

-

a-b

a变量值和b变量值相减

*

a*b

a变量值乘以b变量值

/

a/b

a变量值除以b变量值

%

a%b

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

=

a=5

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

+=

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

%=

a%=b

等同于a=a%b,将a和b相除的余数存回a

++

a++

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

--

a--

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

>

a>b

测试a是否大于b

<

a

测试a是否小于b

= =

a= =b

测试a是否等于b

>=

a>=b

测试a是否大于或等于b

<=

a<=b

测试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

<<

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

1级优先级 左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级 右结合 ! 逻辑非运算符 ~ 按位取反运算符 ++ 前缀增量运算符 -- 前缀增量运算符 + 正号运算符 - 负号运算符 (类型) 类型转换运算符 * 指针运算符 & 地址与运算符 sizeof 长度运算符 3级优先级 左结合 * 乘法运算符 / 除法运算符 % 取余运算符 4级优先级 左结合 + 加法运算符 - 减法运算符 5级优先级 左结合 << 左移运算符 >> 右移运算符 6级优先级 左结合 、>= 关系运算符 7级优先级 左结合 == 等于运算符 != 不等于运算符 8级优先级 左结合 & 按位与运算符 9级优先级 左结合 ^ 按位异或运算符 10级优先级 左结合 | 按位或运算符 11级优先级 左结合 && 逻辑与运算符 12级优先级 左结合 || 逻辑或运算符 13级优先级 右结合 ? : 条件运算符 14级优先级 右结合 = += -= *= /= %= &= ^= |= <<= >>= 全为赋值运算符 15级优先级 左结合 , 逗号运算符 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。 所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值