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

时间:2023-01-08 13:06:17

     首先对于我自己而言,刚刚学习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语言中打印小数???

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

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

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

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

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

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

double是一样的就不演示了。


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