全国计算机等级考试二级C语言入门教程(30)
2016-1-5编辑:guomu
显示程序运行结果
变量类型的转换
变量的数据类型是可以转换的。转换的方法有两种, 一种是自动转换,一种是强制转换。
自动转换
自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:
1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和 long型运算时,先把 int量转成long型后再进
行运算。
3.所有的浮点运算都是以双精度进行的,即使仅含 float单精度量运算的表达式,也要先转换成 double型,再作运算。
4.char型和 short型参与运算时,必须先转换成 int型。
5.在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数
据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。图2 1表示了类型
自动转换的规则。
void main(){
float PI=3.14159;
int s,r=5;
s=r*r*PI;
printf("s=%d\n",s);
} PI<--3.14159
s<--0,r<--5
s<--r*r*PI