运算符与表达式(一)

运算符

定义

表示某种运算功能的符号。

分类

按操作功能运算符大致可分为:算术运算符、关系运算符、逻辑运算符、按位运算符以及其他运算符如赋值运算符、条件运算符、逗号运算符等。

算术运算符+ - * / % ++ –
关系运算符> < == >= <= !=
逻辑运算符! && ll
位运算符<< >> ~ l ^ &
赋值运算符=及其扩展赋值运算符
条件运算符? :
逗号运算符
指针运算符* &
求字节数运算符sizeof
强制类型转换运算符(类型)
成员运算符. ->
下标运算符[ ]
其他如函数调用运算符()

表达式

定义

由操作数和运算符组成的序列,它和算术中四则混合运算类似,其中操作数可以是常量也可是变量

分类

运算符
单目运算符
双目运算符
三目运算符

例子

单目运算符:取负运算符(-)
双目运算符:算术运算符(+)
叁木运算符:条件运算符(? :)

表达式求值

1.先按运算符的优先级高低次序执行。例如,先乘除后加减
2.如果在一个操作数两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行

优先级

定义

各类运算符在一个表达式中运算的先后顺序。如表达式2+3*5首先进行乘法运算符,然后进行加法运算

结合性

定义

当一个运算量两侧的运算符优先级相同时运算的结合方向。如2+3-1,其加减的结合性是自左向右,因此先做加法,再进行减法运算.

分类及结合性表

运算符解释结合方式
() [] -> .括号(函数等),数组,两种结构成员访问由左向右
!- ++ – + - * & (类型) sizeof否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,求大小由右向左
/ * %除,乘,取模由左向右
-+减,加由左向右
<< >>左移,右移由左向右
< <= >= >小于,小于等于,大于等于,大于由左向右
== !=等于,不等于由左向右
&按位与由左向右
^按位异或由左向右
l按位或由左向右
&&逻辑与由左向右
ll逻辑或由左向右
? :条件由右向左
= += -= *= /= &= ^= l= <<= >>=各种赋值由右向左
逗号(顺序)由左向右

规律

结合性:除单目运算符、赋值运算符和条件运算符是右结合性外,其他都是左结合性
优先级:为“单目高于双目,双目高于三目,三目高于赋值”
双目运算符中的十个优先级的先后顺序可记忆为:“算术运算符高于移位运算符,移位运算符高于关系运算符,关系运算符高于位逻辑运算符(不包括单目位逻辑运算符),位逻辑运算符高于逻辑运算符”

总结

初步归纳运算符与表达式知识点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值