C語言小知識 math中的基本數學函式

2021-10-12 18:04:37 字數 2577 閱讀 5693

三、函式名中的規律

這篇博文記錄一下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是執行時的...