Ⅰ 在<math.h>中有哪些函數
相關函數 labs, fabs
表頭文件 #include<stdlib.h>
定義函數 int abs (int j)
函數說明 abs()用來計算參數j的絕對值,然後將結果返回。
返回值 返回參數j的絕對值結果。
範例 #ingclude <stdlib.h>
main(){
int ansert;
answer = abs(-12);
printf("|-12| = %d\n", answer);
}
執行 |-12| = 12
acos(取反餘弦函數數值)
相關函數 asin , atan , atan2 , cos , sin , tan
表頭文件 #include <math.h>
定義函數 double acos (double x);
函數說明 acos()用來計算參數x的反餘弦值,然後將結果返回。參數x范圍為-1至1之間,超過此范圍則會失敗。
返回值 返回0至PI之間的計算結果,單位為弧度,在函數庫中角度均以弧度來表示。
錯誤代碼 EDOM參數x超出范圍。
附加說明 使用GCC編譯時請加入-lm。
範例 #include <math.h>
main (){
double angle;
angle = acos(0.5);
printf("angle = %f\n", angle);
}
執行 angle = 1.047198
asin(取反正弦函數值)
相關函數 acos , atan , atan2 , cos , sin , tan
表頭文件 #include <math.h>
定義函數 double asin (double x)
函數說明 asin()用來計算參數x的反正弦值,然後將結果返回。參數x范圍為-1至1之間,超過此范圍則會失敗。
返回值 返回-PI/2之PI/2之間的計算結果。
錯誤代碼 EDOM參數x超出范圍
附加說明 使用GCC編譯時請加入-lm
範例 #include<math.h>
main()
{
double angle;
angle = asin (0.5);
printf("angle = %f\n",angle);
}
執行 angle = 0.523599
atan(取反正切函數值)
相關函數 acos,asin,atan2,cos,sin,tan
表頭文件 #include<math.h>
定義函數 double atan(double x);
函數說明 atan()用來計算參數x的反正切值,然後將結果返回。
返回值 返回-PI/2至PI/2之間的計算結果。
附加說明 使用GCC編譯時請加入-lm
範例 #include<math.h>
main()
{
double angle;
angle =atan(1);
printf("angle = %f\n",angle);
}
執行 angle = 1.570796
Ⅱ ubuntu 下在CLion裡面怎麼include math.h函數庫,我用sqrt只能計算常量,而不能計算變數
自己在Ubuntu下練習C程序時,用到了庫函數math.h,雖然在源程序中已添加頭文件「math.h」,但仍提示所用函數未定義,原本以為是程序出錯了,找了好久,這是怎麼回事呢?
後來上網查了下,發現是linux系統的原因,在Linux下,若要調用C中的math庫里的函數,必須在編譯時加上「-lm」,表示鏈接到math庫里~
比如要編譯當前目錄下的「hello.c」文件,執行的命令為:gcc -o hello hello.c -lm
Ⅲ 如何在linux內核里計算pow
要包含頭文件:#include <math.h>
pow() 函數用來求 x 的 y 次冪(次方),其原型為: double pow(double x, double y);pow()用來計算以x 為底的 y 次方值,然後將結果返回。設返回值為 ret,則 ret = xy。可能導致錯誤的情況:
如果底數 x 為負數並且指數 y 不是整數,將會導致 domain error 錯誤。
如果底數 x 和指數 y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現有關。
如果底數 x 是 0,指數 y 是負數,可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現有關。
如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
Ⅳ 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);
反正切(主值),
結果介於[-PI/2,
PI/2]
double
atan2
(double,
double);
反正切(整圓值),
結果介於[-PI/2,
PI/2]
3
雙曲三角函數
double
sinh
(double);
double
cosh
(double);
double
tanh
(double);
4
指數與對數
double
exp
(double);
double
sqrt
(double);
double
log
(double);
以e為底的對數
double
log10
(double);
double
pow(double
x,
double
y)//計算以x為底數的y次冪
5
取整
double
ceil
(double);
取上整
double
floor
(double);
取下整
6
絕對值
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
[]
)//計算多項式
nt
matherr(struct
exception
*e)//數學錯誤計算處理程序
Ⅳ Linux裡面自帶數學庫math.h嗎
帶啊,C語言編譯器基本上都有數學庫,要不然要編譯器有何用
Ⅵ linux下的數學庫頭文件是什麼math.h居然沒有sin,cos之類的函數定義,在windows
C 的書只不過是一個通用的基礎。實際用起來,要看具體環境的……
如果專你開發大型的並行計屬算程序,你會發現 C 語言的通用教程完全是坑爹用的。
去 http://gcc.gnu.org/onlinedocs/ 看看官方手冊吧。
記住一點就行了:微軟的產品和別人比,一般都是同一個名字的似乎一模一樣但其實完全不同的兩個東西。
Ⅶ math.h的所包含的函數
數學函數庫,一些數學計算的公式的具體實現是放在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》
Ⅷ linux下C語言,調用math.h如何操作
1,fmod是有的,這是它在math.h的聲明:double fmod(double x, double y);
2,你需要在makefile文件中找到CC=gcc這一行,在gcc後面加入" -lm",與gcc之間有個空格。或者在CFLAGS(如果有的話)後面加-lm也行。
Ⅸ 如何在Linux下,用gcc連接math.h庫函數
你輸出的文件加exe後綴干嗎?
加上#include "stdio.h"
編譯時用gcc -o a a.c -lm
Ⅹ 能不能介紹下c語言中math.h中的函數的名稱和功能
int abs(int);//絕對值
//三角函數
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);//復數
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);