赋值运算符 =
是双目运算符,
用法: 变量=表达式
作用:将右侧表达式的值赋给左侧变量
优先级:倒数第2,低于算术运算符
a=(b+c) 等价于 a=b+c
结合性:自右向左
复合的赋值运算符
在赋值符“=”之前加上其他双目运算符,可以构成复合的赋值运算符
a+=3 等价于 a=a+3
a/=5+b 等价于 a=a/(5+b)
赋值表达式
一般形式为:
变量 赋值运算符 表达式
对赋值表达式求解的过程:
求赋值运算符右侧的“表达式”的值
赋给赋值运算符左侧的变量
把左侧变量的值做为该赋值表达式的值
赋值表达式“a=3*5”的值为15,对表达式求解后,变量a的值和表达式的值都是15
由于赋值运算符的结合性是自右向左,所以
a=b=5 等价于 a=(b=5)
a=b 不等价 b=a
.赋值过程中的类型转换
两侧类型一致时,直接赋值
两侧类型不一致,但都是数值类型时,自动将右侧的类型转换为左侧类型后赋值
定义变量时要防止数据溢出
赋值表达式和赋值语句
赋值表达式的末尾没有分号,而赋值语句有分号
一个表达式可以包含赋值表达式,但决不能包含赋值语句
编写程序,交换两个整型变量的值
#include <stdio.h>
int main()
{ int a=3, b=5,t;
printf(”a=%d,b=%d\n”,a,b);
t=a; a=b; b=t;//交换a、b
printf(”a=%d,b=%d\n”,a,b);
return 0; }