强制类型转换

        如果运算符两边的数据类型不统一,则较低类型的需要转化成较高类型,再参加运算。

        运算符的高低如下:

char,short→int→unsigned→long→double←float


 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main()
 4 {
 5 float f=5.97;
 6 printf("(int)f=%d\n",(int)f);
 7 printf("f=%f\n",f);
 8 return 0;
 9  } 
10 
11 运行结果:
12 
13 (int)f=5
14 
15 f=5.97

 


    强制类型转换的格式如下:

        (类型)(数据)

如:(int)(x+y)

整形转化为浮点型时,数值不变,形式改变为浮点型;

浮点型转化为整形时,舍去小数点后面的内容,整数部分不变。

float型转化为double型时,数值不变,形式改变为浮点型;

double型转化为float型时,通过截尾实现,不过截尾前要四舍五入

int型转化为char型时,保留低8位,高位舍去;

long型转化为int型时,保留低16位,高位舍去;


 

posted @ 2015-03-22 21:14  Eric_keke  阅读(336)  评论(0编辑  收藏  举报