能不能介绍下c语言中math.h中的函数的名称和功能? C语言中math.h是干啥的
\u80fd\u4e0d\u80fd\u4ecb\u7ecd\u4e0bc\u8bed\u8a00\u4e2dmath.h\u4e2d\u7684\u51fd\u6570\u7684\u540d\u79f0\u548c\u529f\u80fd\uff1fint abs(int);//\u7edd\u5bf9\u503c
//\u4e09\u89d2\u51fd\u6570
double acos(double);
double asin(double);
double atan(double);
double atan2(double, double);
double cos(double);
double cosh(double);
double exp(double);
double fabs(double);
double fmod(double, double);
long labs(long);
double log(double);
double log10(double);
double pow(double, double);
double sin(double);
double sinh(double);
double tan(double);
double tanh(double);
double sqrt(double);
double atof(const char *);
double _cabs(struct _complex);//\u590d\u6570
double ceil(double);
double floor(double);
double frexp(double, int *);
double _hypot(double, double);
double _j0(double);
double _j1(double);
double _jn(int, double);
double ldexp(double, int);
int _matherr(struct _exception *);
double modf(double, double *);
double _y0(double);
double _y1(double);
double _yn(int, double);
1、 三角函数
double sin(double);正弦
double cos(double);余弦
double tan(double);正切
2 、反三角函数
double asin (double); 结果介于[-PI/2,PI/2]
double acos (double); 结果介于[0,PI]
double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]
double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。
double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp
double modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x,double y);计算以x为底数的y次幂
float powf(float x,float y); 功能与pow一致,只是输入与输出皆为浮点数
double exp (double);求取自然数e的幂
double sqrt (double);开平方
5 、取整
double ceil (double); 取上整,返回不比x小的最小整数
double floor (double); 取下整,返回不比x大的最大整数,即高斯函数[x]
6 、绝对值
int abs(int i); 求整型的绝对值
double fabs (double);求实型的绝对值
double cabs(struct complex znum);求复数的绝对值
7 、标准化浮点数
double frexp (double f,int *p); 标准化浮点数,f = x * 2^p,已知f求x,p (x介于[0.5,1])
double ldexp (double x,int p); 与frexp相反,已知x,p求f
8 、取整与取余
double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分
double fmod (double,double); 返回两参数相除的余数
数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:
1、 三角函数
double sin(double);正弦
double cos(double);余弦
double tan(double);正切
2 、反三角函数
double asin (double); 结果介于[-PI/2,PI/2]
double acos (double); 结果介于[0,PI]
double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]
double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。
double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp
double modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x,double y);计算以x为底数的y次幂
float powf(float x,float y); 功能与pow一致,只是输入与输出皆为浮点数
double exp (double);求取自然数e的幂
double sqrt (double);开平方
5 、取整
double ceil (double); 取上整,返回不比x小的最小整数
double floor (double); 取下整,返回不比x大的最大整数,即高斯函数[x]
6 、绝对值
int abs(int i); 求整型的绝对值
double fabs (double);求实型的绝对值
double cabs(struct complex znum);求复数的绝对值
7 、标准化浮点数
double frexp (double f,int *p); 标准化浮点数,f = x * 2^p,已知f求x,p (x介于[0.5,1])
double ldexp (double x,int p); 与frexp相反,已知x,p求f
8 、取整与取余
double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分
double fmod (double,double); 返回两参数相除的余数
9 、其他
double hypot(double x,double y);已知直角三角形两个直角边长度,求斜边长度
double ldexp(double x,int exponent);计算x*(2的exponent次幂)
double poly(double x,int degree,double coeffs []);计算多项式
int matherr(struct exception *e);数学错误计算处理程序
source: 《C & C++ Code Capsules》
数学函数库,一些数学计算的公式的具体实现是放在math.h里。 你只记住所有的数学公式都在里面就行了!
绛旓細杩欎袱涓ご鏂囦欢閲岄潰鐨鍐呭鏄笉涓鏍风殑锛宻tdio.h涓富瑕佸寘鍚叧浜庤緭鍏ヨ緭鍑虹殑鍑芥暟锛屾瘮濡俿canf锛宲rintf锛実etchar绛夛紝鑰math.h涓富瑕佸寘鍚竴浜涙暟瀛﹀嚱鏁帮紝姣斿sqrt锛宲ow锛宻in绛夈
绛旓細math.h鏂囦欢涓惈鏈変箻鏂(鍖呮嫭寮鏂)鐨搴撳嚱鏁 琛ㄧず涓猴細pow(x,y)鍏朵腑x鍜寉閮芥槸鍙岀簿搴︽诞鐐(double)鍨嬶紝x鏄簳鏁帮紝y鏄寚鏁(濡傛灉鏄皬鏁板嵆涓哄紑鏂)琛ㄧず涓猴細double pow(double x, double y);
绛旓細c璇█涓鎸囨暟鍑芥暟鎬庝箞鎵撳涓嬶細鍦C璇█涓锛屾寚鏁板嚱鏁鍙互浣跨敤math.h澶存枃浠朵腑鐨別xp()鍑芥暟鏉ュ疄鐜般俥xp()鍑芥暟鐨勫師鍨嬪涓嬶細double exp(double x);姝ゅ嚱鏁拌繑鍥炰紶鍏ュ弬鏁皒鐨勬寚鏁板糴^x锛堝嵆鑷劧瀵规暟鐨勫簳e鐨剎娆℃柟锛夈傛洿澶浠嬬粛濡備笅锛欳璇█鏄竴闂ㄩ潰鍚戣繃绋嬨佹娊璞″寲鐨勯氱敤绋嬪簭璁捐璇█锛屽箍娉涘簲鐢ㄤ簬搴曞眰寮鍙戙C璇█鑳浠...
绛旓細锛坒abs鍜宎bs閮芥槸姹傜粷瀵瑰硷紝浣哸bs涓嶅湪math.h涓嬶紝鎵浠ョ敤fabs锛屼絾fabs鍙傛暟鍙婅繑鍥炲奸兘鏄痜loat锛岃岄鐩彉閲忔槸int锛屾墍浠ユ湁寮鸿浆鍨嬶紙float锛夛級涓銆佽繖涓唬鐮佷腑i鎺у埗鎬昏鏁鐨寰幆锛屾瘮濡傚浘涓槸7琛岋紝閭d箞i灏卞惊鐜7娆°俲鏄墦鍗扮┖鏍兼暟鐨勫惊鐜紙瀹為檯鎵撳嵃鏄琛岀┖鏍兼暟鐨勪竴鍗婏級銆俴鏄墦鍗*瀛楃鐨勫惊鐜備簩銆佺┖鏍兼暟閲忓強*...
绛旓細濡傛灉绋嬪簭瑕佽В鍐虫暟瀛﹂棶棰橈紝姣斿璇存眰骞虫柟pow锛坸锛2锛夛紱 鎴栬呮眰骞虫柟鏍箂qrt(x);鎴栬呮眰缁濆鍊糵abs锛坸锛夛紱姹傜粷瀵瑰煎嚱鏁般乫abs涓夎鍑芥暟銆佹寚鏁板嚱鏁扮瓑鏁板鍑芥暟銆傝繖涓绫鐨鍑芥暟鍦math.h涓湁澹版槑锛屼究鍙洿鎺ヨ皟鐢紝鎵浠ヨ鐢ㄥ埌銆侰璇█ 鏄竴闂ㄩ潰鍚戣繃绋嬬殑銆佹娊璞″寲鐨勯氱敤绋嬪簭璁捐璇█锛屽箍娉涘簲鐢ㄤ簬搴曞眰寮鍙戙C璇█鑳浠...
绛旓細鏁板鍑芥暟搴,涓浜涙暟瀛﹁绠鐨鍏紡鐨勫叿浣撳疄鐜版槸鏀惧湪math.h閲,鍏蜂綋鏈夛細1 涓夎鍑芥暟 double sin (double);double cos (double);double tan (double);2 鍙嶄笁瑙掑嚱鏁 double asin (double); 缁撴灉浠嬩簬[-PI/2, PI/2]double acos (double); 缁撴灉浠嬩簬[0, PI]double atan (double); 鍙嶆鍒(涓诲), 缁撴灉...
绛旓細math.h鏄C璇█鐨澶存枃浠躲傚叾瀹炲湪C++涓敤math.h涔熸槸鍙互鐨勶紝C++鏄吋瀹笴鐨勩備笉杩囨帹鑽愮殑鏄娇鐢#include <cmath> 涓嶈繃杩欐牱蹇呴』澹版槑鍦╯td鍛藉悕绌洪棿锛歶sing namespace std;鍏朵腑鐨勫嚱鏁板拰浣跨敤鏂规硶鍑犱箮瀹屽叏鐩稿悓銆
绛旓細鍦C璇█涓锛鍙互浣跨敤鏁板搴撳嚱鏁<math.h>鏉ュ疄鐜颁笁瑙掑嚱鏁扮殑璁$畻銆備互涓嬫槸鍑犱釜甯哥敤鐨勪笁瑙掑嚱鏁板強鍏朵娇鐢ㄦ柟娉曪細sin()锛氳绠楁寮﹀肩ず渚嬶細double result = sin(angle);cos()锛氳绠椾綑寮﹀肩ず渚嬶細double result = cos(angle);tan()锛氳绠楁鍒囧肩ず渚嬶細double result = tan(angle);asin()锛氳绠楀弽姝e鸡鍊肩ず渚嬶細...
绛旓細鈥渟tdio.h鈥濆簲璇ユ槸C璇█涓鐨勬爣鍑嗚緭鍏ヨ緭鍑烘祦澶存枃浠讹紝褰撲綘浣跨敤C璇█涓璸rintf()锛宻canf()锛実etchar()绛夊嚱鏁扮殑鏃跺欙紝蹇呴』鍖呭惈杩欎釜澶存枃浠躲傗math.h鈥濇槸C璇█涓殑鍏充簬鏁板鏂规硶鍑芥暟鐨勫ご鏂囦欢锛屾湁浜嗚繖涓ご鏂囦欢鎵嶈兘浣跨敤abs()锛宻qrt()绛夊嚱鏁般傚湪C++涓幇鍦ㄩ兘浣跨敤鍛藉悕绌洪棿鐨勬柟寮忓寘鍚ご鏂囦欢浜嗭紝杩欎袱涓槸鍦–璇█...
绛旓細math.h閮芥槸c璇█涓浜涘叧浜庢暟瀛﹁繍绠楃殑鍏紡锛屾瘮濡俶ax min abs pow sqrt銆傚綋鐒舵槸鍦ㄦ暟瀛︽搷浣滆繍绠楁椂鍊欑敤鍒