10/3*3和10.0/3*3的区别?
第一个得到得结果是9,第二个是10.第一个在相除的时候已经把结果的整数部分去掉(不会进行四舍五入),所以算出来的结果是9.第二个因为有小数,小数位数多出有效位的情况下就发生进位了得到10了.
在c语言中,两个整数的运算的结果只能是整数,如10和10.0在c中是完全不同的两个数,10.0是浮点数.
浮点数是带小数点的数值.这个词的本意是指小数点是浮动的,是表示计算机内部非整数(分数和无理数)的一种方式.另一种方式叫定点数,不过在c语言中你不会遇到定点数.人们用浮点数来表达所有带小数点的数.浮点数有两种 一种是单精度float(输入%f,输出%f),一种是双精度double(输入%lf,输出%f)虽然用%lf输出不会出错,但是printf根本没有%lf格式输出,所以尽量都用%f输出.
另外,浮点数和整数混合运算返回的是浮点数.
练习:英制单位英尺转换为公制单位米
#include<stdio.h>
int main(){
double inch,foot,h;
printf("请输入身高(英尺英寸)\n");
scanf("%lf%lf",&inch,&foot);
h=(inch+foot/12)*0.3048;
printf("公制身高为%f米",h;)
}