C语言全面细致讲解单双精度float与double的使用方法_C 语言

一、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不能同时定义一个变量。

错误示范