欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

你这一辈子要用到的C数学函数都在这

程序员文章站 2022-05-07 07:57:01
两数相加 #include int main(void){ int a = 10; //定义变量a, 把10 赋值给a int b = 20; //定义变量b, 把20 赋值给b int c; //定义变量c c = a + b; //将a加b的结果赋值给c, c等于30 pri ......

 

你这一辈子要用到的C数学函数都在这

 

 

 两数相加 


#include <stdio.h>

 

int main(void){

    int a = 10;  //定义变量a, 把10 赋值给a

    int b = 20;  //定义变量b, 把20 赋值给b

    int c;         //定义变量c

 

    c = a + b;  //将a加b的结果赋值给c, c等于30

    printf("a+b = %d \n", c);

    return 0;

}

 

 两数相减 


#include <stdio.h>

 

int main(void){

    int a = 10;  //定义变量a, 把10 赋值给a

    int b = 20;  //定义变量b, 把20 赋值给b

    int c;         //定义变量c

 

    /* 将a减b的结果赋值给c,c等于-10 */

    c = a - b;  

    printf("a - b = %d \n", c);

    return 0;

}

 

 两数相乘 


#include <stdio.h>

 

int main(void){

    int a = 10;  //定义变量a, 把10 赋值给a

    int b = 20;  //定义变量b, 把20 赋值给b

    int c;         //定义变量c

 

    /* 将a乘b的结果赋值给c,c等于200 */

    c = a * b;  

    printf("a * b = %d \n", c);

    return 0;

}

 

 两数相除 


#include <stdio.h>

 

int main(void){

    int a = 10;  //定义变量a, 把10 赋值给a

    int b = 20;  //定义变量b, 把20 赋值给b

    int c;         //定义变量c

    int d;         //定义变量d

 

    /* 将a除b的结果赋值给c,c等于0 */

    c = a / b;  

 

    /* 将b除a的结果赋值给c,c等于2 */ 

    d = b / a;   

    printf("a / b = %d , b / a = %d\n", c, d);

    return 0;

}

 

 两数取模 


#include <stdio.h>

 

int main(void){

    int a = 10;  //定义变量a, 把10 赋值给a

    int b = 20;  //定义变量b, 把20 赋值给b

    int c;         //定义变量c

    int d;         //定义变量d

 

    /* 将a除以b得到的余数赋值给c,c等于10 */

    c = a % b;  

 

    /* 将b除以a得到的余数赋值给c,c等于0 */

    d = b % a;  

 

    /*注意: 在printf 里输出百分号,需要使用两个连续的%*/

    printf("a %% b = %d , b %% a = %d\n", c, d);

    return 0;

}

 

 求绝对值 


#include <stdio.h>

#include <math.h>

 

int main(void){

    int a = -10;       //定义变量a, 把10 赋值给a

    float b = -20.0;  //定义变量b, 把20 赋值给b

    int c;                //定义变量c

    float d;             //定义变量d

    

    //方法一

    /* 求a的绝对值赋值给c,c等于10 */

    c = abs(a);   

 

    /* 求b的绝对值赋值给d,d等于20.0 */

    d = fabs(b);  

 

    //方法二

    /* 如果a是负数,将a乘-1赋值给c,c等于10 */

    if(a<0) c=a * -1;

  

    /* 如果b是负数,将b乘-1赋值给d,d等于20.0 */

    if(b<0) d=b * -1;  

 

    //方法三

    /* 如果a是负数,将a取反赋值给c,c等于10 */

    if(a<0) c= -a;  

 

    /* 如果b是负数,将b取反赋值给d,d等于20.0 */

    if(b<0) d= -b; 

 

    printf("abs(a) = %d , fabs(b) = %f\n", c, d);

    return 0;

}

 

 

常用数学函数用法


注意:下面这些函数不用死记硬背,先混个眼熟,以后再用到时查阅即可!使用时必须包含以下头文件

#include <math.h>

 

 

1.  abs 


  原型:int abs(int x);  

  功能:求整数x的绝对值  

  说明:计算|x|, 当x不为负时返回x,否则返回-x

 

 

2.  fabs 


  原型:float fabs(float x); 

  功能:求浮点数x的绝对值  

  说明:计算|x|, 当x不为负时返回x,否则返回-x

 

 

3.  sqrt 


  原型:float sqrt(float x);  

  功能:计算x的平方根。  

  说明:x应大于等于零。

 

 

4.  sin 


  原型:float sin(float x);

  功能:计算x(弧度表示)的正弦值。

  说明:x的值域为[-1.0,1.0]。

 

 

5.  asin 


原型:float asin(float x);

功能:求x(弧度表示)的反正弦值

说明:x的定义域为[-1.0,1.0],值域为[-π/2,+π/2]。

 

 

6.  cos 


  原型:float cos(float x);  

  功能:求x(弧度表示)的余弦值  

  说明:返回值在[-1.0,1.0]之间。

 

 

7.  acos 


  原型:float acos(float x); 

  功能:求x(弧度表示)的反余弦值  

  说明:x的定义域为[-1.0,1.0],值域为[0,π]。

 

 

8.  tan 


  原型:float tan(float x); 

  功能:计算x(弧度表示)的正切值。  

  说明:返回x的正切值。

 

 

9.  atan 


  原型:float atan(float x);

  功能:求x(弧度表示)的反正切值  

  说明:值域为(-π/2,+π/2)。

 

 

10. atan2 


  原型:float atan2(float y, float x);

  功能:求y/x(弧度表示)的反正切值  

  说明:值域为(-π/2,+π/2)。

 

 

11.  sinh 


  原型:float sinh(float x);

  功能:计算x(弧度表示)的双曲正弦值。  

  说明:sinh(x)=(e^x-e^(-x))/2。

 

 

12.  cosh 


  原型:float cosh(float x);  

  功能:求x的双曲余弦值  

  说明:cosh(x)=(e^x+e^(-x))/2

 

 

13.  tanh 


  原型:float tanh(float x);

  功能:求x的双曲正切值  

  说明:tanh(x)=(e^x-e^(-x))/(e^2+e^(-x))

 

 

14.  ceil 


  原型:float ceil(float x);  

  功能:求不小于x的最小整数  

  说明:返回x的上限,如74.12的上限为75,-74.12的上限为-74。返回值为float类型。

 

 

15.  floor 


  原型:float floor(float x);

  功能:求不大于x的最达整数  

  说明:返回x的下限,如74.12的下限为74,-74.12的下限为-75。返回值为float类型。

 

 

16.  exp 


原型:float exp(float x);

  功能:求e的x次幂  

  说明:e=2.718281828...

 

 

17.  fmod 


原型:float fmod(float x, float y);

  功能:计算x/y的余数  

  说明:返回x-n*y,符号同y。n=[x/y](向离开零的方向取整)

 

 

18.  modf 


  原型:float modf(float num, float *i);  

  功能:将浮点数num分解成整数部分和小数部分。  

  说明:返回小数部分,将整数部分存入*i所指内存中。

 

 

19.  frexp 


  原型:float frexp(float x, int *exp);

  功能:把浮点数x分解成尾数和指数。  

  说明:x=m*2^exp,m为规格化小数。返回尾数m,并将指数存入exp中。

 

 

20.  ldexp 


  原型:float ldexp(float x, int exp);

  功能:装载浮点数。

  说明:返回x*2^exp的值。

 

 

21.  hypot 


  原型:float hypot(float x, float y);

  功能:对于给定的直角三角形的两个直角边,求其斜边的长度。  

  说明:返回斜边值。

 

 

22.  log 


  原型:float log(float x);

  功能:计算x的自然对数。  

  说明:x的值应大于零。

 

 

23. log10 


  原型:float log10(float x);

  功能:计算x的常用对数。  

  说明:x的值应大于零。

 

 

24.  pow 

  原型:float pow(float x, float y);  

  功能:计算x的y次幂。  

  说明:x应大于零,返回幂指数的结果。

 

 

25.  pow10 


  原型:float pow10(float x);  

  功能:计算10的x次幂。  

  说明:相当于pow(10.0,x)。