欢迎光临
我们一直在努力

C语言取整及函数使用的方法

这篇文章主要介绍“C语言取整及函数使用的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言取整及函数使用的方法”文章能帮助大家解决问题。

    取整

    关于"取整"这个词似乎我们既熟悉又会感到陌生,熟悉是因为我们在编程的时候经常会用到取整。陌生是因为又没有好好深度理解过这取整,那么接下来就围绕取整作为一个探讨。

    取整⇢取整字面意思非常好理解无非就是对整数取整像2.5是一个浮点数我们对其进行取整的话就是2的整数。代码示例如下

    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main(void)
    {
    	int a = 2.99;
    	int b = -2.99;
    	printf("a=%2d\n", a);
    	printf("b=%2d\n", b);
    	return 0;
    }

    运行结果

    a =  2

    b = -2

    说明⇢在上述代码当中我们可以知道并不是按照我们数学意义上的四舍五入而是不管你的小数位多大都的取整,这也是为什么我变量小数点取怎么大的原因也就是想让大家能非常直观的理解这个概念。一句话:直接把小数点后面的数字给省略了。

    总结⇢「C语言」取整默认采用的是"0向取整"

    ⒈trunc - 0向取整

    trunc 的头文件是 ⇢ #include<math.h>

    拓展知识点⇢对于「C语言」来说它实际上是有一个取整函数的相信很多小伙伴们是不知道「C语言」有这个trunc取整函数的。

    trunc 参数如下&darr;

         double trunc  (     double x);
          float truncf (      float x);
    long double truncl (long double x);

    代码示例如下&darr;

    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
    	printf("%2f\n", trunc(2.99));
    	printf("%2f\n", trunc(-2.99));
    	printf("%2d\n", (int)trunc(2.99));
    	printf("%2d\n", (int)trunc(-2.99));
    	return 0;
    }

    运行结果

     2

    -2

     2

    -2

    注⇢这里我们需要注意函数的返回值都是浮点类型,如果你是用整形打印的话你需要把类型进行强转成(int)

    说明⇢在C语言当中默认采用的是0向取整的方式来进行的。

    ⒉floor -地板取整

    floor 的头文件是 ⇢ #include<math.h>

    floor 参数如下&darr;

    double floor (double x);

    代码示例如下&darr;

    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
    	printf("%2d\n", (int)floor(2.99));
    	printf("%2d\n", (int)floor(-2.99));
    	printf("%2d\n", (int)floor(2.99));
    	printf("%2d\n", (int)floor(-2.99));
    	return 0;
    }

    运行结果

     2

    -3

     2

    -3

    注⇢地板取整我们需要记住它是往-&infin;当中靠近的,从上述代码当中的运行结果相信你也可以看的出来都是往-&infin;当中靠近的。

    ⒊ceil-无穷大取整

    ceil 的头文件是 ⇢ #include<math.h>

    ceil 参数如下&darr;

    double ceil (double x);

    代码示例如下&darr;

    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
    	printf("%2d\n", (int)ceil(2.99));
    	printf("%2d\n", (int)ceil(-2.99));
    	printf("%2d\n", (int)ceil(2.99));
    	printf("%2d\n", (int)ceil(-2.99));
    	return 0;
    }

    运行结果

     3

    -2

     3

    -2

    注⇢我们需要记住它是往+&infin;当中靠近的,从上述代码当中的运行结果相信你也可以看的出来都是往+&infin;当中靠近的。

    ⒋round-四舍五入

    round 的头文件是 ⇢ #include<math.h>

    round 参数如下&darr;

         double round  (double x);
          float roundf (float x);
    long double roundl (long double x);

    代码示例如下&darr;

    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
    	printf("%2d\n", (int)round(2.99));
    	printf("%2d\n", (int)round(-2.01));
    	printf("%2d\n", (int)round(2.01));
    	printf("%2d\n", (int)round(-2.99));
    	return 0;
    }

    运行结果

     3

    -3

     2

    -3

    注⇢这就是在我们数学当中的四舍五入的方式。

    关于“C语言取整及函数使用的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云搜网行业资讯频道,小编每天都会为大家更新不同的知识点。

    赞(0)
    【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。