目录
运算符优先级:! > 算术 > && > 关系 > || > 赋值,逗号
一、算术运算符与算术表达式
算术表达式就是用算术运算符将变量、常量、方法调用等连接起来的式子,其运算结果为数值常量
单目运算符"++""--"的前缀与后缀方式,对操作数本身的值影响相同,但表达式的值的影响是不同的。前缀++a是先将才作数加1,再将操作数的值作为算术表达式的值,后缀a++是先将操作数的值作为算术表达式的值,再将其加1。自减或自减的对象只能是变量。
int b = 1;
printf("%d",++b); /*结果为2*/
printf("%d",b++); /*结果为1*/
二、赋值运算符与赋值表达式
a += 1相当于a = a + 1
-+ -= *= /= %= 也是如此,但要注意两个运算符之间不能有空格
三、关系运算符与关系表达式
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
四、逻辑运算符与逻辑表达式
! 非
&& 与
|| 或
0为假,1为真
五、条件运算符与条件表达式
三目运算符
<表达式1>?<表达式2>:<表达式3>
表达式1是一个关系表达式或逻辑表达式,若表达式1为真,执行表达式2,若为假,执行表达式3
max = (a > b) ? a : b /*若a>b,max=a,若a<b,max=b*/
六、逗号运算符与逗号表达式
逗号表达式的一般形式为 表达式1,表达式2
求解过程:先求表达式1,再求表达式2,整个逗号表达式的值是表达式2(最后一个式子)的值
int a = 1;
a = ((a = 3 * 5,a * 4),a + 5);
/*最终a为20。首先3*5赋值给a,a * 4并没有赋值给a,之后a+5的值作为逗号表达式的值给a*/