c语言符号与优先级

一、赋值运算符 
因为赋值语句是从右向左运算的,也就是说从右端开始计算。


二、算术运算符 
C语言中有两个单目和五个双目运算符。
 
符号功能
 
+
单目正
 
-
单目负
 
*
乘法
 
/
除法
 
%
取模
 
+
加法
 
-
减法
 

三、逻辑运算符
 
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
 
符号功能
 
&&
逻辑与
 
||
逻辑或
 
!
逻辑非
 

另外,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。


四、关系运算符 
关系运算符是对两个表达式进行比较,返回一个真/假值。
 
符号功能
 
>
大于
 
<
小于
 
>=
大于等于
 
<=
小于等于
 
==
等于
 
!=
不等于
 


五、自增自减运算符


对于自增运算符在变量的前面,先加减再赋值

因为自增运算符在变量的后面,赋值后再加减

所以先把num2赋值给bb应该为8,然后num2自增加1变为 9 
那么如果出现这样的情况我们怎么处理呢?
 
c=num1+++num2; 
到底是c=(num1++)+num2;还是c=num1+(++num2);这要根据编译器来决定。


六、复合赋值运算符 
+=
加法赋值
 
-=
减法赋值
 
*=
乘法赋值
 
/=
除法赋值
 
%=
模运算赋值
 
<<=
左移赋值
 
>>=
右移赋值
 
&=
位逻辑与赋值
 
|=
位逻辑或赋值
 
^=
位逻辑异或赋值
 
七、条件运算符
 
条件运算符(?:)C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回两外两个表达式中的一个。
 
<
表达式1>?<表达式2>:<表达式
3> 
在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。
 
例如:
 
a=(b>0)?b:-b; 

八、逗号运算符
 
C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
 

九、优先级和结合性
 
从上面的逗号运算符那个例子可以看出,这些运算符计算时都有一定的顺序,就好象先要算乘除后算加减一样。优先级和结合性是运算符两个重要的特性,结合性又称为计算顺序,它决定组成表达式的各个部分是否参与计算以及什么时候计算。
 


下面是C语言中所使用的运算符的优先级和结合性:
 
优先级运算符结合性
 
(
最高) () [] -> . 自左向右
 
! ~ ++ -- + - * & sizeof
自右向左
 
* / %
自左向右
 
+ -
自左向右
 
<< >>
自左向右
 
< <= > >=
自左向右
 
== !=
自左向右
 
&
自左向右
 
^
自左向右
 
|
自左向右
 
&&
自左向右
 
||
自左向右
 
?:
自右向左
 
= += -= *= /= %= &= ^= |= <<= >>=
自右向左
 
(
最低) , 自左向右

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值