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