Download presentation
Presentation is loading. Please wait.
1
第九节 赋值运算符和赋值表达式
2
赋值运算符和赋值表达式 int a,b; b=8; a=(a=7)+b; int a,b; a=b=0;
用来将赋值号右边表达式的值存放到赋值号左边的变量中。赋值运算符是一个双目运算符。其一般形式是: 变量=表达式 整个表达式的值为变量赋值之后的值。 int a,b; b=8; a=(a=7)+b; int a,b; a=b=0; int a=7,b=8,c; c=a+b;
3
赋值运算符和赋值表达式 类型转换 变量=表达式 中变量和表达式的类型不一致时,发生类型转换。 例如: int a; a=3.14;
float b; b=100; double d; float c; c=d; int e='a'; int i=289; char c='a'; c=i; int a; long b=8; a=b; unsigned a= ; int b; b=a;
4
赋值运算符和赋值表达式 类型转换 例: 带符号数据赋值给无符号变量 int main() { unsigned a; int b = -1;
a = b; printf("a=%u\n",a);… } 运行的结果是: a=
5
赋值运算符和赋值表达式 复合赋值运算符 变量△=表达式 其中△是+、-、*、/、%等运算符中的任何一个。 如:
+= a+=b等价于a=a+b,a+=b+c等价于a=a+(b+c) -= a-=b等价于a=a-b,a-=b+c等价于a=a-(b+c) *= a*=b等价于a=a*b,a*=b+c等价于a=a*(b+c) /= a/=b等价于a=a/b,a/=b+c等价于a=a/(b+c) %= a%=b等价于a=a%b,a%=b+c等价于a=a%(b+c)
6
赋值运算符和赋值表达式 复合赋值运算符 注意: 变量=表达式 赋值运算符的左边必须是一个左值(如变量等)。 整个表达式也是一个左值。
例如: int a,b; b=5+(a=6); int a,b,c; a=(b=10)/(c=2); int a; (a=3*5)=4*3; int a=12; a+=a-=a*a; int a,b; printf("%d",a=b);
Similar presentations