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++基于文件流与armadillo读取mnist示例详解

    C++基于文件流与armadillo读取mnist示例详解

    这篇文章主要给大家介绍了关于C++基于文件流与armadillo读取mnist的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • C/C++实现控制台输出不同颜色字体的方法

    C/C++实现控制台输出不同颜色字体的方法

    这篇文章主要介绍了C/C++实现控制台输出不同颜色字体的方法,涉及C++控制台文字属性相关设置操作技巧,需要的朋友可以参考下
    2017-09-09
  • C++中auto关键字的使用

    C++中auto关键字的使用

    本文主要介绍了C++中auto关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • C语言直接选择排序算法详解

    C语言直接选择排序算法详解

    直接选择排序就是遍历整个数组,每遍历一遍的目的是找出该数组中的最大数和最小数对应的下标,然后将最小数和数组的第一个数进行交换,最大数和数组的最后一个数进行交换,然后缩小范围再次遍历
    2022-08-08
  • C++实现添加桌面右键新建菜单

    C++实现添加桌面右键新建菜单

    本文给大家汇总了3个版本的C++实现添加桌面右键新建菜单的代码,陆陆续续写的,有需要的小伙伴可以根据自己的需求来选择
    2016-01-01
  • opencv3机器学习之EM算法示例详解

    opencv3机器学习之EM算法示例详解

    这篇文章主要介绍了opencv3机器学习之EM算法的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 最新VScode C/C++ 环境配置的详细教程

    最新VScode C/C++ 环境配置的详细教程

    这篇文章主要介绍了最新VScode C/C++ 环境配置的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • opencv3/C++ 使用Tracker实现简单目标跟踪

    opencv3/C++ 使用Tracker实现简单目标跟踪

    今天小编就为大家分享一篇opencv3/C++ 使用Tracker实现简单目标跟踪,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • vc中SendMessage自定义消息函数用法实例

    vc中SendMessage自定义消息函数用法实例

    这篇文章主要介绍了vc中SendMessage自定义消息函数用法,以实例实行详细讲述了SendMessage的定义、原理与用法,具有一定的实用价值,需要的朋友可以参考下
    2014-10-10
  • 一文带你分清C++的定义,声明和初始化

    一文带你分清C++的定义,声明和初始化

    这篇文章主要为大家详细介绍了C++的定义,声明,初始化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03

最新评论