第四章-函數(shù)課件_第1頁
第四章-函數(shù)課件_第2頁
第四章-函數(shù)課件_第3頁
第四章-函數(shù)課件_第4頁
第四章-函數(shù)課件_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

【知識點】

什么是函數(shù)?如何定義?

什么是函數(shù)原型聲明?什么情況下必須要進行函數(shù)原型聲明?引用標(biāo)準(zhǔn)庫函數(shù)如何進行聲明?

函數(shù)如何調(diào)用?上節(jié)內(nèi)容復(fù)習(xí).判斷素數(shù).例:1!+2!+3!+…+n!循環(huán)體內(nèi)多次調(diào)用.【主要內(nèi)容】

掌握函數(shù)的嵌套調(diào)用及遞歸調(diào)用

掌握內(nèi)聯(lián)函數(shù)掌握重載函數(shù),理解同名函數(shù)的實現(xiàn)掌握默認(rèn)參數(shù)值的函數(shù)本節(jié)內(nèi)容.函數(shù)不允許嵌套定義可以嵌套調(diào)用三、函數(shù)的嵌套.課堂練習(xí)編寫定義函數(shù)boolF(intm),功能是判別素數(shù),要求:在主函數(shù)中輸入一個整數(shù),通過調(diào)用函數(shù)F來判斷,若為素數(shù)則輸出該數(shù).課堂練習(xí)編寫定義函數(shù)intF1(intm,intn),功能是求兩整數(shù)的最大公約數(shù),函數(shù)intF2(intm,intn),功能是求兩整數(shù)的最小公倍數(shù),要求:在主函數(shù)中輸入整數(shù),通過調(diào)用函數(shù)F1和F2..在函數(shù)調(diào)用中出現(xiàn)直接/間接調(diào)用函數(shù)本身函數(shù)的遞歸調(diào)用.遞推-已知條件從已知條件回歸-逐一求值用遞歸方法求4!遞歸調(diào)用的特點:原有的問題能夠分解成一個新的問題;而新的問題又用到原有問題的解法,這就出現(xiàn)了遞歸。按照這一原則分解下去,每次出現(xiàn)的新問題是原問題簡化后的子問題,而最終分解出來的新問題是一個已知解的問題。只有有限調(diào)用才有意義。.有一個使遞歸能結(jié)束的條件和值如:if(n==0||n==1)return1;

能用遞歸形式表示,并且遞歸向

終止條件發(fā)展如:returnfac(n-1)*n;算法簡單但消耗機時占用空間大.若采用遞歸定義,可表示為如下形式:

sum(n)=1(n=1)sum(n)=sum(n-1)+n(n>1)填空:求1到n的累加和.intsum(intn){if(n<=0)cout<<”dataerror”;if(n==1)

else

}return1returnn+sum(n-1).填空:求1到10的階乘#include<iostream.h>

//函數(shù)原型說明voidmain(){for(intk=0;k<=10;k++)cout<<

<<endl;//函數(shù)調(diào)用}doublefun(intn)//函數(shù)定義{If(n<=1)

return1;

else

return;

//返回}doublefun(int)fun(k)n*fun(n-1).課堂練習(xí)用遞歸的方法編寫函數(shù)求Fibonacci數(shù)列。Fibonacci數(shù)列F(n)遞歸地定義為:F(n)=1

n<=2

F(n)=

F(n-1)+F(n-2)

n>21,1,2,3,5,8,13,21,….【例】

#include<iostream.h>inlineintmax(intx,inty){ if(x>y)returnx;elsereturny;}voidmain(){ inta,b,c,d,e,m; a=34; b=56; c=22; d=100; e=88; m=max(a,b);

m=max(m,c); m=max(m,d); m=max(m,e);cout<<“max=”<<m;}引入原因解決程序中函數(shù)調(diào)用的效率問題.4.4函數(shù)的內(nèi)聯(lián)做法:將一些反復(fù)被執(zhí)行的簡單語句序列做成小函數(shù)。用法:在函數(shù)聲明前加inline關(guān)鍵字作用:不損害可讀性又能提高性能inline返回值類型函數(shù)名(形參表){函數(shù)體}定義方法.(1)內(nèi)聯(lián)函數(shù)體<=5行,不允許出現(xiàn)循環(huán)和開關(guān)語句,不允許出現(xiàn)遞歸,不能含有靜態(tài)數(shù)據(jù)和數(shù)組申明;(2)定義必須出現(xiàn)在第一次被調(diào)用前;(3)不能進行異常接口申明;(4)適合被頻繁調(diào)用的小函數(shù)使用原則.引入原因解決同一個函數(shù)名賦予多個含義,只是處理對象(參數(shù))不同.#include<iostream.h>intmax(intx,inty){return((x>y)?x:y);}doublemax(doublex,doubley){return((x>y)?x:y);}voidmain()

{cout<<max(10,20)<<endl;

cout<<max(1.23,2.34)<<endl;

}編譯器會根據(jù)參數(shù)的個數(shù)或類型進行匹配自動調(diào)用相應(yīng)函數(shù)重載方式4.5函數(shù)的重載.4.6設(shè)置函數(shù)參數(shù)的默認(rèn)值122035.從右向左設(shè)置原則int

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論