![6d9d8d1a17a2c2df9e1eca31469b26c9.png](https://i-blog.csdnimg.cn/blog_migrate/0195740c4f42a955c213937213cf7a97.jpeg)
赋值运算符
小林在前面小结中有说过赋值符号=就是赋值运算符,它的主要作用是将一个值赋给一个变量。
比如,把常量5的值赋给变量x。
x=5;
也可以把一个表达式的值赋给变量
int x;
x=3+5*2;
赋值过程中的类型转换
在赋值的过程中会自动的进行类型转换,将浮点型数据赋值给整型变量时,会舍弃小数部分。
将整型数据赋值给浮点型时,数值不会发生变化,但是会以指数形式存储到变量中。
将double型数据给float型数据赋值时,要注意数值范围不能溢出。
字符型数据赋值给整型变量时,是将字符在ASCII码表中的值赋给了整型变量。
将int,short,long型数据赋给char型变量时,是将其低8位原封不动的送到char型变量。
将signed型数据赋给长度一样的unsigned型变量时,将存储单元内容原样赋过去。
复合赋值运算符
x+=4; //等价于x=x+4
x*=y+1; //等价于x=x*(y+1)
C++使用复合运算符可以简化程序,使之更加精炼,提高编译效率。
赋值表达式
将一个变量和一个表达式连接起来的式子可以称为赋值表达式。
一般形式
<变量><赋值运算符><表达式>
x=y=z=2; //赋值表达式的值为2,xyz值都为2
x=1+(y=2); //表达式值为3,y的值为2,=右边值为3
案例:将有符号数据赋值给无符号变量,并输出。
#include<iostream>
using namespace std;
int main() //主函数
{
unsigned short num_1; //定义无符号变量
short int num_2=-10; //定义有符号的短整型变量且赋值
num_1=num_2; //赋值
cout<<num_1<<' '<<num_2<<endl; //输出
return 0;
}
执行本程序之后,则会输出65526 -10。
会先获取-10的补码,16个二进制位,将它传给num_1,num_1是无符号型变量,补码的16个二进制位的十进制是65526。
2.3 C++赋值运算符与表达式 | 将有符号数据赋给无符号mp.weixin.qq.com