初学者难点:如何在C语言中打印小数???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学者难点:如何在C语言中打印小数???相关的知识,希望对你有一定的参考价值。

     首先对于我自己而言,刚刚学习C语言的时候一直弄不清楚如何打印小数,尤其是打印两位或者三位小数,当时只会打印整数,也就导致后来一直被蒙在鼓里。下面是我在弄清楚如何打印的过程中的一点心得体会,给还在迷茫中的初学者提供一些参考。

     我们知道小数在C语言之中分为两种类型,分别是float和double。它们的区别大致如下:

     1.float是单精度浮点数,储存时占空间为4个字节。而double是双精度浮点数,储存时占8个字节.因此呢,两者处理速度不同,CPU处理float的速度比处理double快。double的精度高,double消耗内存是float的两倍。

    2.对于C语言的小数而言,程序默认小数的类型为double而不是float,因此往往我们需要在小数后加上f,或者用float进行强行转化!!(下图三种都是一位小数2.4)

初学者难点:如何在C语言中打印小数???_占位符

    3.对于float输出时使用占位符%f,对于double输出时使用占位符%lf

总结其实本质上float和double都可以表示多为小数,差别在于能表示的数据的多少,就像     short   int    long    long long的差别只是能表示的范围的大小不同而已。

(double是双精度浮点数,内存占8个字节,有效数字16位,表示范围是-1.79E+ 308~-1.79E+308)

下面是它的保留多位小数的方法:(注意打印保留小数是四舍五入的)

        

初学者难点:如何在C语言中打印小数???_占位符_02

初学者难点:如何在C语言中打印小数???_双精度_03

初学者难点:如何在C语言中打印小数???_占位符_04

三种写法都可以输出5.57,若你要保留两位小数就在printf中加上%.2f,一位小数就加上%.1f,保留整数就加上%.0f。当然对于lf也是同理%1.lf一位小数%2.lf两位小数以此类推即可

下面是打印一位小数和整数的代码示意图:

初学者难点:如何在C语言中打印小数???_双精度_05

初学者难点:如何在C语言中打印小数???_浮点数_06

double是一样的就不演示了。


   好了到这里,我就讲了我自己的理解方式,希望对各位初学者有帮助,欢迎批评指正哦!














以上是关于初学者难点:如何在C语言中打印小数???的主要内容,如果未能解决你的问题,请参考以下文章

C语言int和float有啥差别?

C语言的基本数据类型及其打印输出

C语言基础unsigned short类型用于循环的一个难点

C语言基础unsigned short类型用于循环的一个难点

C语言里,double类型的数据可以精确到小数点后几位?

C语言指针初学者 请帮我看看下面的提 为啥调用函数返回值是char型的 这样不就只能返回一个字符了吗