表达式运算中的数据类型转换

来源:互联网 发布:中企动力科技卖域名 编辑:程序博客网 时间:2024/05/14 09:49

示例

#include<stdio.h>

int main(){
int a=10;
int b=3;
double d=a/b;
printf("%f\n",d);
d=5/2;
printf("%f\n",d);
d=5/2.0;
printf("%f\n",d);
d=(double)a/b;
printf("%f\n",d);
return 0;
}


语句5 中,由于a、b 都是整型,所以表达式a/b 的值也是整型,其值是3,因此d 的
值就变成3.0。
语句7 和语句5 类似,执行后d 的值变为2.0。
语句9 中,要求5 除以2 的精确值,为此要将5 或者2 表示成浮点数。除法运算中,如
果有一个操作数是浮点数,那么结果就也会是较为精确的浮点数。因此表达式5/2.0 的值是
2.5。
语句11 求 a 除以b 的较为精确的小数形式的值。“(double)”的是一个“强制类型转换
运算符”,它是一个单目运算符,能将其右边的操作数强制转换成double 类型。用此运算符
先将a 的值转换成一个浮点数值,然后再除以b,此时算出来的结果就是较为精确的浮点型
的了。

0 0
原创粉丝点击