zoukankan      html  css  js  c++  java
  • 七,小数变量类型

      小数类型的变量有float,double。它们的关系相当于int和long的关系,符号分别是%f和%lf。据说也有long double,但是我还没有使用成功过这个类型。没事double就够用了。

      和整数类型相似的地方就不多说了,这里就说几个特殊的地方吧。看下面这个程序代码

    #include<stdio.h>
    int main(void)
    {
        float a;
        a=1/2;
        printf("%f",a);
        return 0;
     } 

    请猜测输出结果,猜完以后看答案

    0.000000
    View Code

    可能会有点出人意料,但事实就是如此。

    原因是这样的:还记得我前面说过的,在整数的运算里/默认为是整除符号,所以当计算机运算完1/2之后返回的结果是0。

    解决方法有两个,一个是把1写作1.0或者1.这样系统就会知道你要进行的是小数运算,或者在1/2前面加上(float)这样就强制让系统以float的方式处理这个表达式(如果a是double类型的话就在前面加(double))。下面是例程:

    #include<stdio.h>
    int main(void)
    {
        float a;
        a=(float)1/2;
        printf("%f",a);
        return 0;
     } 
    #include<stdio.h>
    int main(void)
    {
        float a;
        a=1./2;
        printf("%f",a);
        return 0;
     } 

    输出结果

    0.500000
    

    下面再讲一下控制输出小数位数的问题。就是在printf里面控制。以float类型举例,%.1f代表输出一位小数,%.2f两位小数,其他同理。不加按默认小数位数(6位)输出。读者可以自行尝试。

    关于小数类型就讲这些。

  • 相关阅读:
    文件的权限
    正则表达式
    软硬链接的学习
    linux系统中的文件类型和扩展名
    把数组排成最小的数
    整数中1出现的次数(从1到n整数中1出现的次数)
    最小的K个数
    连续子数组的最大和
    数组中出现次数超过一半的数字
    字符串的排列
  • 原文地址:https://www.cnblogs.com/itlqs/p/4867975.html
Copyright © 2011-2022 走看看