首页 百科知识 描述符如何传入变量

描述符如何传入变量

时间:2022-10-20 百科知识 版权反馈
【摘要】:字符型数据赋予整型变量时,由于字符只占一个字节,而整型变量为两个字节,因此将字符数据(8位)放到整型变量低8位中。反之,若将一个1ong int型数据赋予一个int型变量,只把低16位原封不动送到整型变量(即截断)。

2.7.3 赋值运算符和赋值表达式

1.赋值运算符

C语言的赋值运算符是“=”,其作用是将赋值运算符右边表达式的值赋予其左边的变量。

2.赋值表达式

赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子。

赋值表达式的一般形式如下:

变量=表达式

说明:

(1)赋值表达式的值等于计算后赋值运算符左边变量的值。

(2)赋值运算符左边必须是变量。

注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。

(1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。例如执行:

img58

(2)将整型数据赋予单、双精度变量时,数值不变,但以浮点数形式存储到变量中。例如执行:

img59

注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。

(3)字符型数据赋予整型变量时,由于字符只占一个字节,而整型变量为两个字节,因此将字符数据(8位)放到整型变量低8位中。Turbo C系统将字符处理为带符号的量,若字符最高位为0,则整型变量高8位全补0;若字符最高位为1,则高8位全补1。例如执行:

img60

(4)整型数据赋予字符型变量,只把低8位原封不动地送到字符型变量(即截断)。

注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。

(5)将带符号的整型数据(int型)赋予1ong int型变量时,要进行符号扩展,如果int型数据为正值(符号位为0),则1ong int型变量的高16位补0;如int型变量为负值(符号位为1),则1ong int型变量的高16位补1,将整型数的16位送到1ong型低16位中,以保持数值不改变。反之,若将一个1ong int型数据赋予一个int型变量,只把低16位原封不动送到整型变量(即截断)。例如执行:

img61

注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。

(6)将signed类型数据赋予长度相同的unsigned型变量时,原样照赋(连同符号位)。反之,将unsigned类型数据赋予长度相同的signed型变量时,同样原样照赋,再将最高位作为符号位处理。例如执行:

img62

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈