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

 更新时间:2022年05月24日 10:01:10   作者: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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++中返回指向函数的指针示例

    C++中返回指向函数的指针示例

    int (*ff(int)) (int *,int);表示:ff(int)是一个函数,带有一个int型的形参,该函数返回int (*) (int *,int),它是一个指向函数的指针,所指向的函数返回int型并带有两个分别是Int*和int型的形参
    2013-09-09
  • Qt数据库应用之实现数据图文混排

    Qt数据库应用之实现数据图文混排

    除了能够打印基本的文字信息数据到pdf和纸张,越来越多的应用需求还要求能够导出图片,并且要支持图文混排。本文将通过Qt实现这一功能,需要的可以参考一下
    2022-01-01
  • C语言实现BMP图像处理(直方图均衡化)

    C语言实现BMP图像处理(直方图均衡化)

    这篇文章主要为大家详细介绍了C语言实现BMP图像直方图均衡化处理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C语言函数栈帧的创建和销毁详解

    C语言函数栈帧的创建和销毁详解

    这篇文章主要为大家详细介绍了C语言函数栈帧的创建和销毁,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C++ ReSharper2021激活码永久有效

    C++ ReSharper2021激活码永久有效

    ReSharperC++是为c/c++开发者打造的一款实用Visual Studio扩展插件,这款插件旨在提升开发者的效率,今天给大家分享这款软件的激活方法,需要C++ ReSharper2021激活码的朋友参考下本文
    2021-06-06
  • C语言静态版通讯录的设计与实现

    C语言静态版通讯录的设计与实现

    静态版通讯录是一种简单的通讯录实现方式,通过定义固定的数组大小来存储联系人信息。该方法不支持动态增删联系人,但具有实现简单、易于理解的优点。在程序设计中,需注意数组边界溢出等问题
    2023-04-04
  • 基于MFC实现单个文档的文件读写

    基于MFC实现单个文档的文件读写

    这篇文章主要为大家详细介绍了如何基于MFC实现单个文档的文件读写功能,文中的示例代码讲解详细,对我们学习有一定帮助,感兴趣的可以了解一下
    2022-07-07
  • C++ 三种继承方式及好处示例详解

    C++ 三种继承方式及好处示例详解

    这篇文章主要为大家介绍了C++ 三种继承方式及好处示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 区分C++中的&和&&

    区分C++中的&和&&

    这篇文章主要介绍了如何区分C++的&和&&,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-09-09
  • C++实现将数据写入Excel工作表的示例代码

    C++实现将数据写入Excel工作表的示例代码

    直观的界面、出色的计算功能和图表工具,使Excel成为最流行的个人计算机数据处理软件。在本文中,您将学习如何使用 Spire.XLS for C++ 创建 Excel 文档,以及如何将数据写入 Excel 工作表
    2023-03-03

最新评论