C语言中math.h中包含的函数原型和使用方法 C语言学习笔记

  • 格式:docx
  • 大小:17.30 KB
  • 文档页数:2

C语言中#include<math.h>中包含的函数原型和使用方法
作者:爱学习的狼先生
前言:include是文件包含命令,和英文名一样,意思是:将< >中的文件引用到
程序员所写的程序中,< >中的文件通常是由系统提供,其扩展名为“.h”,也就是我
们常说的头文件, 当然有时候我们在实际的项目开发中也可以根据自己需求自己定义,不过要是C语言的库文件函数中要是有的话最好自己直接引用,因为这样可以简化代码,便于维护和调试,缩短程序开发的周期,特别是对于初学C语言的同学们,尽量
直接调用库文件函数,因为这一定是对的。

在我们学习C语言的过程中常常看到#include<stdio.h>, #include<math.h>,
#include<string.h>等等,我记得我在初学C语言时老师只告诉我这些头文件定义了很
多函数原型,想用的时候随便引用就可以了,但却没有过多的解释,今天,我就详细
的和大家探讨一下<math.h>中的函数原型和使用方法(注以下这些是本人根据多年编程经验所写,如有解释不当之处,还请大家批评改正)
求取绝对值的函数
int abs(int i); //返回整型数i的绝对值;例如 int abs(-3.5) == 3.5;
//double cabs(struct complex znum); //返回复数znum绝对值;
double fabs(double x); //返回双精度数x的绝对值;例如 double fabs(-103.5) == 103.5; long labs(long n); //返回长整型n的绝对值;例如long labs(-1111122222) == 1111122222;
求取对数和指数函数
double log(long double x); //返回以e为底的对数;例如double log(2) == 0.693147
double log10(double x); //返回以10为底的对数;例如double log10(100) == 2;
double exp(double x); //返回以e为底的幂;例如 double exp(3) == 20.085537;
double pow(double x, double y); //返回以x的y次幂,例如pow(3,2) == 9;
float powf(double x, double y); //返回x的y次幂,值为浮点数,例powf(3,2.5) == 15.588457; double sqrt(double x); //返回x的开方值,例如 double sqrt(4) == 2;
数值处理函数
double floor(double x); //返回不大于x的最大整数;例如 floor(4.2)==4, floor(-3.5)==-4; double ceil(double x); //返回不小于x的最小整数,例如 ceil(4.2)==5, floor(-3.5)==-3; double fmod(double x, double y); //返回x/y的余数,相当于x%y, 例如 fmod(5,3)==2;
double modf(double value, double *iptr); //拆开value值,iptr保存整数值,返回小数值
例如modf(4.325, &iptr) == 0.325;
double frexp(double value, int *exp); //将value拆分为小数f和以2 为底的指数exp,并返回小
数部分,f取值范围在0.5-1.0或者0
例如frexp(4.25, &exp) == 0.531250;
double ldexp(double x, int exp); //返回值是x*2^exp的值,例如ldexp(4.25, 2) == 17.00000; double hypot(double x, double y); //返回直角三角形的斜边长z,例如 hypot(3,4) == 5;
double poly(double x, int n, double coeffs[]); //求取多项式的值,其中x为x的取值,n为x的
最高次数,coeffs[]依次为x的0次项到最高
项的系数,例如y=4x^3 – 3x^2 + 2x – 1,
那么doouble coeffs[] = {4,-3,2,-1};x =
2,n=3;poly(2,3,coeffs) == 23;
求取三角函数
double sin(double x); //返回正弦值,x为弧度值,弧度=角度*180/π;返回值在-1—1之间
例如 sin(100) == -0.506336;
double cos(double y); //返回余弦值,x为弧度值,弧度=角度*180/π;返回值在-1—1之间
例如 cos(100) == 0.86239;
double tan(double z); //返回正切值,x为弧度值,弧度=角度*180/π;
例如 tan(100) == -0.587214;
求取反三角函数
double asin (double x); //x为弧度值,返回值区间[-π/2,π/2];
double acos (double x); //x为弧度值,返回值区间[0,π];
double atan (double x); //x为弧度值,返回值区间[-π/2,π/2];
double atan2(double x, double y) //返回(x/y)的反正切值,返回值区间[-π/2,π/2]; 求取双曲三角函数
double sinh(double x); //返回双曲正弦sinh(x)值,x为弧度值,弧度=角度*180/π;
double cosh(double x); //返回双曲余弦cosh(x)值,x为弧度值,弧度=角度*180/π;
double tanh(double x); //返回双曲正切tanh(x)值,x为弧度值,弧度=角度*180/π;
这些库函数要是直接引用的话必须要在程序的开头写上 #include<math.h>,否则编译时会显示报错:“在程序中没有定义或者没有包含这些函数的文件。

”。