• C语言中常用的库文件


    0x01 <assert.h>

    C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。

    已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:

    #define assert(ignore) ((void)0)
    

    assert 断言就是假设一个情况会发生,然后才会执行他后面的代码。这个宏通常用来判断程序中是否出现了明显非法的数据。如果出现了,则终止程序以免导致严重的后果,同时也能够查找出错误。具体更加详细的用法请参见 assert 断言的用法

    0x02 <math.h>

    math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double 类型的结果。

    常用的函数:

    1. double pow(double x, double y) 返回 x 的 y 次幂。

      #include <stdio.h>
      #include <math.h>
      
      int main ()
      {
         printf("值 8.0 ^ 3 = %lf
      ", pow(8.0, 3));
      
         printf("值 3.05 ^ 1.98 = %lf", pow(3.05, 1.98));
         
         return(0);
      }
      
      /*
      值 8.0 ^ 3 = 512.000000
      值 3.05 ^ 1.98 = 9.097324
      */
      
    2. double sqrt(double x) 返回 x 的平方根。

      #include <stdio.h>
      #include <math.h>
      
      int main ()
      {
      
         printf("%lf 的平方根是 %lf
      ", 4.0, sqrt(4.0) );
         printf("%lf 的平方根是 %lf
      ", 5.0, sqrt(5.0) );
         
         return(0);
      }
      
      /*
      4.000000 的平方根是 2.000000
      5.000000 的平方根是 2.236068
      */
      
    3. double ceil(double x) 返回大于或等于 x 的最小的整数值。

      #include <stdio.h>
      #include <math.h>
      
      int main ()
      {
         float val1, val2, val3, val4;
      
         val1 = 1.6;
         val2 = 1.2;
         val3 = 2.8;
         val4 = 2.3;
      
         printf ("value1 = %.1lf
      ", ceil(val1));
         printf ("value2 = %.1lf
      ", ceil(val2));
         printf ("value3 = %.1lf
      ", ceil(val3));
         printf ("value4 = %.1lf
      ", ceil(val4));
         
         return(0);
      }
      
      /*
      value1 = 2.0
      value2 = 2.0
      value3 = 3.0
      value4 = 3.0
      */
      
    4. double fabs(double x) 返回 x 的绝对值。

      #include <stdio.h>
      #include <math.h>
      
      int main ()
      {
         int a, b;
         a = 1234;
         b = -344;
        
         printf("%d 的绝对值是 %lf
      ", a, fabs(a));
         printf("%d 的绝对值是 %lf
      ", b, fabs(b));
         
         return(0);
      }
      
      /*
      1234 的绝对值是 1234.000000
      -344 的绝对值是 344.000000
      */
      
    5. double floor(double x) 返回小于或等于 x 的最大的整数值。

      #include <stdio.h>
      #include <math.h>
      
      int main ()
      {
         float val1, val2, val3, val4;
      
         val1 = 1.6;
         val2 = 1.2;
         val3 = 2.8;
         val4 = 2.3;
      
         printf("Value1 = %.1lf
      ", floor(val1));
         printf("Value2 = %.1lf
      ", floor(val2));
         printf("Value3 = %.1lf
      ", floor(val3));
         printf("Value4 = %.1lf
      ", floor(val4));
         
         return(0);
      }
      
      /*
      Value1 = 1.0
      Value2 = 1.0
      Value3 = 2.0
      Value4 = 2.0
      */
      
    6. double fmod(double x, double y) 返回 x 除以 y 的余数。

      #include <stdio.h>
      #include <math.h>
      
      int main ()
      {
         float a, b;
         int c;
         a = 9.2;
         b = 3.7;
         c = 2;
         printf("%f / %d 的余数是 %lf
      ", a, c, fmod(a,c));
         printf("%f / %f 的余数是 %lf
      ", a, b, fmod(a,b));
         
         return(0);
      }
      
      /*
      9.200000 / 2 的余数是 1.200000
      9.200000 / 3.700000 的余数是 1.800000
      */
      

      这里选择使用函数而不是运算符 % 的原因是:% 运算法只支持两个 int 类型的整型之间的运算,不支持其他类型之间的取余。

    0x03 <stdio.h> & <stdlib.h> & <string.h> & <time.h>

    这三个头文件中的函数大部分都是很重要的,所以就不单列出来了,有需要的话可以看菜鸟相关页的详解:

    <stdio.h> 库函数&宏

    <stdlib.h> 库函数&宏

    <string.h> 库函数&宏>

    <time.h> 库函数&宏

  • 相关阅读:
    机器学习
    arm 基本
    阿里RDS备份恢复
    hive 调用java的函数和科学记数法转换
    hive 调用java的函数和科学记数法转换
    hive处理hbase数据
    hive处理hbase数据
    Sqoop导入mysql数据到Hbase
    Sqoop导入mysql数据到Hbase
    Hbase基础操作
  • 原文地址:https://www.cnblogs.com/Constantin/p/14765253.html
Copyright © 2020-2023  润新知