版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第14章 C語言標(biāo)準(zhǔn)數(shù)學(xué)庫函數(shù),本章的學(xué)習(xí)重點◆平方根計算函數(shù)◆指數(shù)計算函數(shù)◆取對數(shù)計算函數(shù)◆求絕對值計算函數(shù)◆三角函數(shù)◆取整函數(shù),14.1 平方根計算函數(shù)sqrt,函數(shù)名:sqrt 函數(shù)功能:計算輸入?yún)?shù)的平方根函數(shù)聲明:double sqrt(double x);說明:函數(shù)輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型,因此,必須使用double類型變量接收返回
2、的數(shù)據(jù)。范例14.1 sqrt.c 計算函數(shù)y = 2x2中x的值。鍵盤輸入3次y的值,計算x的值,注意輸入數(shù)值后進行檢查。,,,,,14.2 求指數(shù)函數(shù)exp和pow,指數(shù)函數(shù)是數(shù)學(xué)中最重要的函數(shù)之一。常用的是以e為底的指數(shù)函數(shù),通常表達為ex,其中e是數(shù)學(xué)常數(shù),即自然對數(shù)底數(shù),近似值為2.718281828。使用自然對數(shù),可以定義更一般的指數(shù)函數(shù),函數(shù)ax=(elna)x=exlna定義了所有以a為底的實數(shù)x的指數(shù)函數(shù),通常稱
3、作底為a的指數(shù)函數(shù)。C語言中,指數(shù)函數(shù)ex和ax分別使用兩個不同的函數(shù)表示。,,,,,14.2.1 指數(shù)函數(shù)exp,函數(shù)名:exp函數(shù)功能:函數(shù)exp用于求輸入數(shù)值的以e為底的指數(shù)次冪。函數(shù)聲明:double exp(double x);說明:函數(shù)exp的輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型,因此,必須使用double類型變量接收返回的數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)不是double類型時,應(yīng)使用強制類型
4、轉(zhuǎn)換將其轉(zhuǎn)換為double類型??梢暂斎氲淖畲笳龜?shù)值約為709.78。最小值約為-14.5。范例14.2 expFunc.c為驗證函數(shù)exp對各不同數(shù)值的兼容性,鍵盤輸入不同的值三次,調(diào)用數(shù)學(xué)庫中的函數(shù),計算函數(shù)y1 = ex的函數(shù)值。,,,,,14.2.2 指數(shù)函數(shù)pow,函數(shù)名:pow函數(shù)功能:函數(shù)pow用于求輸入數(shù)值x和y組成的指數(shù),即xy的指數(shù)次冪。函數(shù)聲明:double pow(double x, do
5、uble y);說明:函數(shù)pow的輸入?yún)?shù)必須以double類型輸入,由于對于指數(shù)y為小數(shù)的情況,需要考慮底數(shù)的符號,因此規(guī)定,x的值應(yīng)為大于0的數(shù)。函數(shù)調(diào)用后返回類型為double型的數(shù)值,因此,必須使用double類型變量接收返回的數(shù)據(jù)。由于函數(shù)pow可以輸入底數(shù)和指數(shù)的數(shù)值,因此,使用函數(shù)pow可以近似代替函數(shù)sqrt和exp。范例14.3 powFunc.c驗證函數(shù)pow的正確性,分別計算常數(shù)、73.5和e5。并分別調(diào)
6、用sqrt函數(shù)和exp函數(shù),與pow函數(shù)的計算結(jié)果進行比較,分析這幾個函數(shù)的特點。,,,,,14.3 取對數(shù)函數(shù)log和log10,對數(shù)函數(shù)是指數(shù)函數(shù)的反函數(shù),通常,對數(shù)函數(shù)具有和指數(shù)函數(shù)類似的參數(shù)配置格式。數(shù)學(xué)上,對數(shù)函數(shù)按照底數(shù)區(qū)分不同的對數(shù)。例如,求一個數(shù)的自然對數(shù),可以寫為logex,也可以寫為lnx。另外一種較常見的是以10為底的對數(shù),通常寫為log10x,讀作以10為底x的對數(shù)。C語言中,計算對數(shù)的函數(shù)主要有兩個,分別為自
7、然對數(shù)計算函數(shù)log和以10為底的對數(shù)函數(shù)log10。,,,,,14.3.1 自然對數(shù)函數(shù)log,函數(shù)名:log函數(shù)功能:函數(shù)log用于求一個數(shù)的自然對數(shù)函數(shù)聲明:double log(double x);說明:函數(shù)log輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型。在數(shù)學(xué)運算中,x稱為真數(shù),真數(shù)的值只能是大于0的數(shù)。因此,在調(diào)用函數(shù)時一定注意,不要輸入大于零的x的值,否則將導(dǎo)致程序運行結(jié)果出現(xiàn)錯
8、誤。范例14.4 Log.c 計算函數(shù)y = ex中y的值。鍵盤輸入3次x的值,計算y的值,注意輸入數(shù)值后進行檢查,避免輸入數(shù)值越界。,,,,,14.3.2 10為底的對數(shù)函數(shù)log10,函數(shù)名: log10函數(shù)功能:函數(shù)log10用于求一個數(shù)的以10為底的對數(shù)函數(shù)聲明:double log10(double x);說明:函數(shù)log10輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型。與log函數(shù)的
9、要求相同,真數(shù)x的值只能是大于0的數(shù)。范例14.5 log10.c 電子測量測試中,經(jīng)常遇到對信號功率的換算。為便于計算和表達,經(jīng)常將功率為W(瓦特)的功率換算成dBm的值,其計算方法為:x W = 10log(x W/1mW) dBm。試設(shè)計一個小程序,完成W到dBm的換算。,,,,,14.4 絕對值函數(shù)abs和fabs,數(shù)學(xué)上,絕對值又稱為模,主要用于表示距離或數(shù)量的大小。絕對值的定義也存在于復(fù)數(shù)、有序數(shù)等數(shù)學(xué)計算領(lǐng)域。一個數(shù)
10、的絕對值永遠為非負,沒有負號。通常,數(shù)值x的絕對值表示為|x|。在幾何領(lǐng)域,一個數(shù)的絕對值可表示為數(shù)軸上的點到原點的距離。C語言中,主要有兩類表示絕對值的函數(shù),分別是abs和fabs。,,,,,,14.4.1 絕對值函數(shù)abs,函數(shù)名:abs函數(shù)功能:函數(shù)abs用于求一個int型數(shù)值的絕對值函數(shù)聲明:int abs(int x);說明:函數(shù)abs輸入?yún)?shù)必須以int類型輸入,函數(shù)返回類型為int型。因此,必須使用in
11、t類型變量接收返回的數(shù)據(jù),當(dāng)輸入數(shù)據(jù)不是int類型時,應(yīng)使用強制類型轉(zhuǎn)換將其轉(zhuǎn)換為int類型。范例14.6 abs.c自編函數(shù),實現(xiàn)abs的功能,注意對正數(shù)和負數(shù)的不同處理方式。然后,輸入數(shù)值驗證程序的正確性。,,,,,,14.4.2 絕對值函數(shù)fabs,函數(shù)名:fabs函數(shù)功能:函數(shù)fabs用于求一個double型數(shù)值的絕對值函數(shù)聲明:double fabs(double x);說明:函數(shù)fabs輸入?yún)?shù)為do
12、uble類型輸入,當(dāng)輸入整型數(shù)值時,程序?qū)⒆詣訉⒄蛿?shù)值轉(zhuǎn)換為浮點型,函數(shù)返回類型為double型。因此,必須使用double類型變量接收返回的數(shù)據(jù)。范例14.7 Fabs.c鍵盤輸入x的值,自編函數(shù)計算數(shù)學(xué)函數(shù):的值。,,,,,,,14.5 三角函數(shù),數(shù)學(xué)運算和工程應(yīng)用中,經(jīng)常需要計算三角函數(shù),C語言提供了幾乎所有的基本三角函數(shù)計算庫函數(shù),根據(jù)不同的情況選擇使用合適的庫函數(shù),是進行數(shù)學(xué)計算的基本手段。,,,,,,14.5
13、.1 正弦函數(shù)sin和asin,函數(shù)名:sin和asin函數(shù)功能:函數(shù)sin用于計算double型數(shù)值的正弦函數(shù)值,函數(shù)asin用于計算double型數(shù)值的反正弦函數(shù)值函數(shù)聲明:double sin(double x);double asin(double x);說明:函數(shù)sin輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型。因此,必須使用double類型變量接收返回的數(shù)據(jù),當(dāng)輸入數(shù)據(jù)不
14、是double類型時,應(yīng)使用強制類型轉(zhuǎn)換將其轉(zhuǎn)換為double類型。asin函數(shù)是sin函數(shù)的反函數(shù),其功能是計算參數(shù)x的反正弦函數(shù)值,asin函數(shù)的輸入?yún)?shù)只能是[-1, 1]之間的數(shù)值。范例14.8 sinasin.c 鍵盤輸入x的值,計算y = sin(x)的值,然后,將輸出的結(jié)果作為輸入?yún)?shù),計算asin(y)的值。,,,14.5.2 其他三角函數(shù),1.余弦函數(shù)cos和acos函數(shù)名:cos和acos函數(shù)功能:函數(shù)
15、cos用于計算double型數(shù)值的余弦函數(shù)值,函數(shù)acos用于計算double型數(shù)值的反余弦函數(shù)值函數(shù)聲明:double cos(double x);double acos(double x);說明:函數(shù)cos輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型。因此,必須使用double類型變量接收返回的數(shù)據(jù),當(dāng)輸入數(shù)據(jù)不是double類型時,應(yīng)使用強制類型轉(zhuǎn)換將其轉(zhuǎn)換為double類型。acos
16、函數(shù)是cos函數(shù)的反函數(shù),其功能是計算參數(shù)x的反余弦函數(shù)值,acos函數(shù)的輸入?yún)?shù)只能是[-1, 1]之間的數(shù)值。,,,,14.5.2 其他三角函數(shù),2.正切函數(shù)tan、atan和atan2函數(shù)名:tan、atan和atan2函數(shù)功能:函數(shù)tan用于計算double型數(shù)值的正切函數(shù)值,函數(shù)atan用于計算double型數(shù)值的反正切函數(shù)值,函數(shù)atan2用于計算y/x的反正切函數(shù)值函數(shù)聲明:double tan(doub
17、le x);double atan(double x);double atan(double x, double y);說明:三個函數(shù)輸入?yún)?shù)必須以double類型輸入,函數(shù)返回類型為double型。atan函數(shù)和atan2函數(shù)是tan函數(shù)的反函數(shù),其功能是計算參數(shù)x或者y/x的反正切函數(shù)值,其中,x或y/x的值只能是[-1.57, 1.57]之間的數(shù)值,且x不為0。范例14.9 tancot.c鍵
18、盤輸入x的值,計算ysin = sin(x)、ycos = cos(x)和ytan = tan(x)的值,然后,計算ysct = ysin/ycos的值,當(dāng)ycos為0時不進行計算,計算ycsc = ycos/ysin,并與ytc = 1/ytan的值進行比較,當(dāng)ysin或ytan為0時,不進行比較。,,,,14.6 取整函數(shù)floor和ceil,工程設(shè)計中,為便于計算和表達,經(jīng)常遇到將小數(shù)點后數(shù)字舍棄的現(xiàn)象,例如運動員賽跑時的記錄,
19、為簡化計,通常將毫秒級的記錄進行四舍五入。而對于很多商業(yè)活動中的產(chǎn)品交易,通常將交易價格中小數(shù)點后的數(shù)字舍去。,,,,14.6.1 取整函數(shù)floor,函數(shù)名:floor函數(shù)功能:函數(shù)floor用于對數(shù)據(jù)進行舍入取整函數(shù)聲明:double floor(double x);說明:函數(shù)floor輸入?yún)?shù)都是double類型,函數(shù)返回類型為double類型。因此,必須使用double類型變量接收返回的數(shù)據(jù)。該函數(shù)用于計算x
20、舍去小數(shù)點后的數(shù)值。英語中,floor為地板的意思,即向下取整,對于正數(shù)如5.6,使用floor函數(shù)計算floor(5.6)結(jié)果為5,對于負數(shù)如-3.5,使用floor函數(shù)計算floor(-3.5)結(jié)果為-4。范例14.10 floor.c試編寫一段代碼,實現(xiàn)floor函數(shù),即對于正數(shù),去掉小數(shù)點后數(shù)字,對于負數(shù),取與該數(shù)最接近的小于該數(shù)值的整數(shù)值。,,,,14.6.2 取整函數(shù)ceil,函數(shù)名:ceil函數(shù)功能:函數(shù)ceil
21、用于對數(shù)據(jù)進行進位取整函數(shù)聲明:double ceil(double x);說明:函數(shù)ceil輸入?yún)?shù)和floor類似,是double類型,函數(shù)返回類型也同樣為為double類型。因此,必須使用double類型變量接收返回的數(shù)據(jù),當(dāng)輸入數(shù)據(jù)不是double類型時,應(yīng)使用強制類型轉(zhuǎn)換將其轉(zhuǎn)換為double類型。范例14.11 floorceil.c商店使用的商品零售機可以設(shè)置找零方式,當(dāng)設(shè)置標(biāo)志位flag為1時采用舍入找零
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言程序設(shè)計第8章
- c語言程序設(shè)計第6章課件-
- 第02章c語言程序設(shè)計基礎(chǔ)
- 《高級語言程序設(shè)計》第14章在線測試
- c語言程序設(shè)計ppt課件_第2章_簡單程序設(shè)計-
- c語言程序設(shè)計ppt-第2版-第7章-指針程序設(shè)計
- 譚浩強c語言程序設(shè)計教程學(xué)習(xí)筆記第8章
- 譚浩強c語言程序設(shè)計教程學(xué)習(xí)筆記第8章
- c語言程序設(shè)計_2 第10章 編譯預(yù)處理
- 《c語言程序設(shè)計》
- c語言程序設(shè)計(第3版)何欽銘-顏-暉-第2章--c語言編寫程序
- c語言程序設(shè)計
- c語言程序設(shè)計
- c語言程序設(shè)計
- c語言程序設(shè)計
- “c語言程序設(shè)計”課程教學(xué)改革與實踐
- c語言程序設(shè)計教程 (第2版)
- 第3章java語言程序設(shè)計基礎(chǔ)
- c程序設(shè)計實踐
- 第二章、c語言程序設(shè)計基礎(chǔ)
評論
0/150
提交評論