C语言—运算符优先级

C语言运算符是说明特定操作的符号。C语言是面向过程的高级语言,其运算丰富,除了控制语句(如for循环,switch判断等)和输入输出语句外,C语言的数据处理部分用到了大量的运算符,通过这些运算符,实现对数据的处理和一些逻辑上的运算。
运算符,顾名思义,就是能进行运算操作的符号,一般的说,运算包括三种类别:
①数学运算  ②逻辑运算  ③关系运算
算术运算:对数据的处理,包括数据本身的处理和一些数学运算。
逻辑运算:用于判断真假值,得出一个布尔数。
关系运算:用于比较两个数的大小关系。
下面,我们来分级介绍C语言中的运算符
⒈ 第一级:圆括号()
    在所有运算操作中,被圆括号括起的数据永远优先处理。
⒉ 第二级:数组下标[ ]、函数参数()、成员访问 "."、“->”、后缀自增 a++、后缀自减 a--
⒊ 第三极:单目运算符。前缀自增 ++a、前缀自减 --a和单目型转型运算符:取址符&、提领符*、正号+、负号 -、位反符~、逻辑否!、取长度符 sizeof()
    单目型转型运算符,意为将一个数据代表的意义进行转换,如取址符&,“&a”就是取变量a的地址。这一级操作意为数据的转型。
⒋ 第四级:强制性类型转换 (type name)a
    将一个数据的类型进行强制性的转换。
⒌ 第五级:算数运算符 乘除取余 *、/、%
⒍ 第六级:加减 +、-
⒎ 第七级:移位运算符 左移位《、右移位》
⒏ 第八级:双目关系运算符 >、<、<=、>=
⒐ 第九级:判断运算符 ==、!=
⒑ 第十级:位与 &
⒒ 第十一级:位异或 ∧
⒓ 第十二级:位或 |
⒔ 第十三级:逻辑与&&
⒕ 第十四级:逻辑或 ||
⒖ 第十五级:条件运算符 ?:
⒗ 第十六集:逗号运算符 “,”(按序进行,前一个表达式全部结束后,才能进行下一个表达式的运算,常见于for循环语句)
这是十六级别的运算符按级别数优先权依次减弱,即第一级优先权最高,第十六级优先权最低。
其中要注意的是,当二目运算符的左右两边运算符优先次序相同时,则按照运算符的结合性进行运算。
运算符的结合性:
运算符的结合性分为左结合和右结合,典型的左结合又数学运算符,如x-y+z,在y的两边有同一等级的运算符加和减,那么此时到底是先做加法运算还是先做建发运算呢? 所以规定,当数据两边的运算符等级相同时,按照运算符的结合性进行结合运算。
一般的,右结合的运算符有:
单目运算符、条件运算符和赋值运算符。
而其他的运算符一般都是左结合。
注意1:
逗号运算符将两个或两个以上的表达式连接起来,运算顺序是从左到右,一个表达式运行结束后才能进行下一表达式的运算。值的注意的是,整个逗号表达式的值是表达式内最后一个表达式的值。
例:(3+4,5+6),这个表达式的值是5+6=7
       (a=3+4,a*4),这个表达式先执行表达式1,得a=7,再执行a*4=28,所以该逗号表达式的值为28
注意2:
逻辑运算符 &&和||:在进行逻辑运算时,省略计算,一旦前面的值能够确定整个表达式的值的话,不再进行后面一个表达式的计算。
对于&&:若前面一个为假,则真个表达式值为0,不再进行后面一个表达式的计算
对于||:若前面一个表达式的值为真,则整个表达式的值为真,不再进行过后弥漫一个表达式的计算

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值