三、函式名中的規律
這篇博文記錄一下c語言中常用的乙個數學函式庫,裡面涵蓋了常用的數**算,包括對實數及虛數的運算,如求絕對值、三角函式、兩數中最大數等。使用時在程式開始處加入:
#include
庫中的函式用法都很簡單,傳入的引數一般都是實數或虛數,包括整型、double、long double、float型等,因此不詳細介紹其用法,只是列舉一些常用函式。math中包括很多函式,具體說明用法可參閱c語言中文開發手冊。
1、abs(a)
#include
intabs
(int n )
;
這個函式可以求絕對值,但是它包含在標頭檔案中,不要搞混了~
2、fabs(a)
#include
double fabs (double arg);
這個函式在math標頭檔案中,傳入引數可以是整型或double型,輸出是double的。
那如果傳入引數不是這兩種呢?我們可以使用它的孿生函式:
long
double fabsl(long
double arg);
float fabsf(float arg);
在原函式名後面加』l』或者』f』,可以獲得兩個新函式,功能同fabs(),但是傳入引數的型別不同。
1、fmax(a, b)
兩數中求最大值。
double
fmax
(double x,
double y )
;
傳入引數可以是整型或double型,它同樣有變體函式,fmaxl、fmaxf,用法如下:
float
fmaxf
(float x,
float y )
;long
double
fmaxl
(long
double x,
long
double y )
;
2、fmin(a, b)
兩數中求最小值,用法和fmax一樣。
double
fmin
(double x,
double y )
;float
fminf
(float x,
float y )
;long
double
fminl
(long
double x,
long
double y )
;
1、對數
(1)log(a)
用於求以e為底的自然對數
double
log(
double arg )
;float
logf
(float arg )
;long
double
logl
(long
double arg )
;
(2)log10(a)
計算以10為底的對數
double
log10
(double arg )
;
(3)log2(a)
計算以2為底的對數
double
log2
(double arg )
;
2、指數
double pow(double base,double exponent);
第乙個引數是底數,第二個引數是指數,即返回值為 bas
eexp
onen
tbase^
baseex
pone
nt。3、其他
sqrt():計算平方根
round():四捨五入成整數,eg. round(2.3)=2, round(-2.5)=-3
floor():下取整,即返回不大於輸入的最大整數值
ceil():上取整,即返回不小於輸入的最小整數值
exp(a):返回基e的指數值,e
ae^a
eaexp2(a):返回基2的指數值,2
a2^a
2a從前面的幾個例子中可以看出乙個挺明顯的規律,函式名和輸入引數的型別有關:輸入是整型或double時,用原始的函式名f
ff;輸入是long double時,函式名變為flfl
fl;輸入是float型時,函式名變為ffff
ff。可以參照下圖:
C語言 小知識
1.表示式的求值 初始值 x 1,y 1 z 1 求 x y z 答 從左到右順序依次求值,1 true 注意 因為 操作符的左運算元是true,所以沒有必要求值了.事實上c語言肯定不會繼續求值 有關規則,在按從左到右的順序對乙個邏輯表示式求值的時候,只要知道了它的實際結果,就不會對其餘部分求值.這...
c語言小知識
1 為什麼include標頭檔案後,就可以呼叫檔案中宣告的函式了?標頭檔案中一般只是函式和變數的宣告,編譯器需要知道函式傳遞的是什麼引數,否則呼叫的地方 不知道如何設定暫存器和棧等一些相關資訊。至於函式的位置,由於在其他的編譯單元中,需要鏈結 時才能找到。標頭檔案中包含了函式的宣告,其具體的函式 即...
C語言小知識
nowcoder 牛客網 筆記 一 區域性變數與全域性變數 區域性變數不會影響全域性變數的值,使用完即會釋放 二 變數的傳遞 形參的修改對外部不影響 傳入引用與指標時在函式裡修改的將會傳遞出來 三 c語言與c 中的const void main 在c語言中結果為1,1 在c語言中const是執行時的...