C语言全面细致讲解单双精度float与double的使用方法
作者:liao-xin
C语言中小数的数据类型为 float 或 double:float 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节
一、float与double类型介绍
代码:
#include <stdio.h> int main (void) { float a=3.14159261111; //单精度浮点型 double b=3.14159261111; //双精度浮点型 printf("数值1:%f\n",a); // 单精度符号%f ,默认保留六位小数 printf("数值2:%.2f\n",a); // %.2f 保留两位小数 printf("数值3:%.4f\n",a);// %.4f 保留四位小数 printf("数值4:%lf\n",b);// 单精度符号%f ,默认保留六位小数 printf("数值5:%.8lf\n",b);// %.4f 保留八位小数 return 0; }
解释:
1、“double 和 float 的区别是double精度高,有效数字16位,float精度7位(可提供7位或8位有效数字,构成包括符号位、指数位和尾数位)。”
float 超过8位就会乱,错误显示如下
2、开始我们定义一个单精度a,双精度b。
3、然后我们开始输出他们后面的小数,%f 单精度,%lf双精度,两者默认型都是保留6位小数。
4、单精度输出:%.2f
,中间数字是保留几位小数的意思,最好不要超过6.
5、双精度输出:%.8lf
,中间数字是保留几位小数的意思,最好不要超过14.
结果:
二、例题
求圆的周长与面积并保留两位小数
代码:
#include <stdio.h> int main (void) { float pai=3.14; // 定义Π的大小 float r; // 定义圆的半径 float l; // 定义圆的周长 float s; // 定义圆的面积 printf("请输入圆的半径r:"); scanf("%f",&r); // 输入圆的半径为多 s=r*r*pai; // 圆的面积求法 l=2*r*pai; //圆的周长求法 printf("圆的面积为:%.2f\n圆的周长为:%.2f\n",s,l);//输出圆的面积和周长 return 0; }
解释:
1、开始定义圆的的半径,周长,面积。
2、用键盘输入圆的半径。scanf("%f",&r)
&r不要忘记加进去哈。
3、求圆的周长公式,面积公式。s=r*r*pai; l=2*r*pai;
4、printf("圆的面积为:%.2f\n圆的周长为:%.2f\n",s,l);
最后输出结果是需要保留两位小数,别忘记加%.2f
。
结果:
三、总结
1、float与double都是浮点型,但是他们的精度不一样,需要分清楚。
2、float与double不能同时定义一个变量。
错误示范
到此这篇关于C语言全面细致讲解单双精度float与double的使用方法的文章就介绍到这了,更多相关C语言float与double内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!