赋值运算符
赋值运算符左边的项目必须是一个变量的名字。
例:2002 = BMW;错误
1、乘除运算符高于加减运算符,运算符优先级相同由左向右。
2、赋值运算符优先级仅高于逗号运算符,结合方向从右到左。
注意:赋值运算符、条件运算符与单目运算符运算顺序从右到左,其他运算符从左到右。
++
1、int a = 1;
int b =2;
b+a++==3,即先运算再加a=2,b=2;
b+(++a)==4;即先加再运算a=2,b=2
b+++a==3;即(b++)+a=3,a=1,b=3;
int a=1;
int b = 2;
int c=(a++)+(a++)+(a++); //警告原因:多新的修改
printf("%d,%d,%d ",a,b,c);
int b = 2;
int c=(a++)+(a++)+(a++); //警告原因:多新的修改
printf("%d,%d,%d ",a,b,c);
—类似++
表达式:表达式都会有返回值
例:
6+(c=3+8)合法,因为有两个字表达式,每个表达式都有一个值,结果为17,但不建议使用
语句:程序执行最小单位,以分号(英文分号)结尾。
例:
legs = 4 表达式
legs = 4; 语句
优先级
优先级
|
描述
|
运算符
|
1
|
括号
|
()、[]
|
2
|
正负号
|
+、-
|
3
|
自增自减,非
|
++、--、!
|
4
|
乘除,取余
|
*、/、%
|
5
|
加减
|
+、-
|
6
|
移位运算
|
<<、>>、>>>
|
7
|
大小关系
|
]]]]>、>=、<、<=
|
8
|
相等关系
|
==、!=
|
9
|
按位与
|
&
|
10
|
按位异或
|
^
|
11
|
按位或
|
|
|
12
|
逻辑与
|
&&
|
13
|
逻辑或
|
||
|
14
|
条件运算
|
?:
|
15
|
赋值运算
|
=、+=、-=、*=、/=、%=
|
16
|
位赋值运算
|
&=、|=、<<=、>>=、>>>=
|