- 赋值运算符
赋值运算符“=”,是 C 语言中使用最多的运算符,作用是将一个值(字面量值、变量值、
表达式计算结果)复制一份给另一个变量。赋值运算符常见形式:
变量 = 表达式;
a = 1+1;
//先计算表达式 1+1,然后将结果值赋给变量 a
变量 = 字面量;
a= 2;
//将数值 2 直接赋值给变量 a
变量 = 变量;
a= b;
//将变量 b 的值赋值给变量 a
示例代码如下:
#includeint main() { int a; int b; int c; a=20; //将数值 20 赋值给变量 a b=a-10; //先计算 a-10,然后将计算结果赋值给变量 b c=a+b; //先计算 a+b,然后将计算结果赋值给变量 c printf("a=%dn",a); printf("b=%dn",b); printf("c=%dn",c); getchar(); return 0; }
【注意】
赋值运算符的右边必须是变量,以下写法都是错误的:
20=30;
//错误写法
100=a;
//错误写法
左边也不能是表达式:a+2=5; 这样也错。
-
赋值表达式
将赋值运算符、小括号、操作数连接起来、符合 C 语言规则的式子被称为赋值表达式,参与运算的操作数可以是字面量、变量、表达式、函数……等。例如:a= 1+1、a=2、a=a+1、
a=b 等等。
b=a+1 的读法是“a+1 的值赋值给 b”,很显然 a=a+1 的读法是“a+1 的值赋值给 a” -
赋值运算符优先级
赋值运算符在 C 语言中优先级是最低的。赋值运算都是最后执行,例如:
c=a*10+100%3-b/10;
上述程序中,既有算术运算符,又有赋值运算符。因为赋值运算符优先级是最低的,因
此可以将上述程序分为 2 部分看待,先执行=右边的算术表达式,然后将计算结果赋值给=
左边的变量 c。 -
赋值表达式的结果
前面讲过,C 语言中任何一个表达式都会产生一个结果值,赋值表达式也是如此。赋值
表达式的结果就是=左边被赋值变量的值,例如:
int a=10;
int c =(a=a+1);
printf("%dn",c);
printf("%dn",c=c+1); -
复合赋值运算符
在赋值运算符前加上其他运算符,就可以构成复合运算符。例如:在“=”前加一个“-”
就构成复合运算符“-=”。在 C 语言中,常用的复合赋值运算有以下几种:
a+=10;
//等价于 a=a+10;
a-=10;
//等价于 a=a-10;
a*=10;
//等价于 a=a*10;
a/=10;
//等价于 a=a/10;
a%=10;
//等价于 a=a%10;



