函數(shù)程序設(shè)計(jì)_第1頁
函數(shù)程序設(shè)計(jì)_第2頁
函數(shù)程序設(shè)計(jì)_第3頁
函數(shù)程序設(shè)計(jì)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、 函數(shù)程序設(shè)計(jì) 第一講內(nèi)容說明主要內(nèi)容重點(diǎn)難點(diǎn)舉例說明1函數(shù)的概念、定義格式2函數(shù)的調(diào)用方法3函數(shù)的形式參數(shù)、實(shí)際參數(shù)和函數(shù)的返回值結(jié)合例子講解函數(shù)的分類重點(diǎn)也是難點(diǎn)1函數(shù)的定義格式2函數(shù)的調(diào)用方法3函數(shù)的返回值1函數(shù)的定義格式2函數(shù)的調(diào)用方法一、問題的引入為什么要用函數(shù)?函數(shù)的作用?二、函數(shù)的概念定義:函數(shù)是一個(gè)可反復(fù)使用的程序段,從其它的程序段中均可通過調(diào)用語句來執(zhí)行這段程序。三、函數(shù)的分類1從用戶使用的角度分(1)系統(tǒng)函數(shù):即庫函數(shù),由系統(tǒng)提供,用戶可直接使用。(2)用戶自定義函數(shù):為滿足特定需要用戶自己定義的函數(shù)。2從函數(shù)的形式分(1)有參函數(shù):被調(diào)用時(shí)需接受主調(diào)函數(shù)傳遞來的數(shù)據(jù)。(2

2、)無參函數(shù):被調(diào)用時(shí)不需要主調(diào)函數(shù)傳遞數(shù)據(jù)。四、函數(shù)的定義(1)有參函數(shù)的定義格式:存儲(chǔ)類型說明符 數(shù)據(jù)類型說明符 函數(shù)名(形式參數(shù)表) 形式參數(shù)說明序列; 數(shù)據(jù)定義語句序列; 執(zhí)行語句序列; (2)無參函數(shù)的定義格式: 存儲(chǔ)類型說明符 數(shù)據(jù)類型說明符 函數(shù)名() 數(shù)據(jù)定義語句序列; 執(zhí)行語句序列; 說明: 存儲(chǔ)類型說明符可以是extern或static兩種。extern定義的函數(shù)叫做外部函數(shù),可被其它編譯單位中的函數(shù)調(diào)用;static定義的函數(shù)稱內(nèi)部函數(shù),只能被本編譯單位中的函數(shù)調(diào)用。該項(xiàng)可省略,默認(rèn)為外部函數(shù)。 數(shù)據(jù)類型說明符 規(guī)定本函數(shù)返回值的數(shù)據(jù)類型??墒乔懊娼榻B的各種基本數(shù)據(jù)類型,也

3、可是指針型或“void”型,表示本函數(shù)無返回值。 函數(shù)名: 是一個(gè)標(biāo)識(shí)符,在同一編譯單位中函數(shù)不能重名。 形式參數(shù)表每個(gè)形式參數(shù)可是一個(gè)變量名、數(shù)組名、指針變量名、指針數(shù)組名等。 形式參數(shù)說明序列 若干條形式參數(shù)的說明語句,數(shù)據(jù)類型相同的形式參數(shù)可用一條說明語句說明。語句格式為:數(shù)據(jù)類型 形式參數(shù)1,; 數(shù)據(jù)定義語句序列 由本函數(shù)中使用的變量、數(shù)組、指針變量等的定義語句組成。 執(zhí)行語句序列由本函數(shù)中完成函數(shù)功能的程序段組成。如果本函數(shù)有返回值,在本序列中應(yīng)有一條返回語句“return(表達(dá)式);”,其中表達(dá)式的值就是本函數(shù)的返回值。若本函數(shù)無返回值,則返回語句應(yīng)為“return;”,也可省略返

4、回語句。返回語句的位置在函數(shù)體的執(zhí)行語句序列中是任意的,返回語句的表達(dá)式前后的括號(hào)可省略。返回語句的功能:結(jié)束本函數(shù)的運(yùn)行,返回到主調(diào)函數(shù)的調(diào)用語句后繼續(xù)執(zhí)行?!纠?】編寫一個(gè)函數(shù),求3個(gè)整型參數(shù)的最大值并返回這個(gè)最大值。程序清單:int max(int x1,int x2,int x3) int max; if (x1>x2) max=x1; else max=x2; if (max<x3) max=x3; return (max); 五、 函數(shù)的調(diào)用主調(diào)函數(shù)通過傳遞一定的信息來使用被調(diào)函數(shù)的功能。1無返回值的函數(shù)調(diào)用格式函數(shù)名(實(shí)際參數(shù)表); 此格式作為語句形式調(diào)用,最后有“;

5、”。2 有返回值的函數(shù)調(diào)用格式 函數(shù)名(實(shí)際參數(shù)表)3 函數(shù)的調(diào)用過程(1)為所有的形參分配內(nèi)存,計(jì)算各個(gè)實(shí)際參數(shù)表達(dá)式的值,依次賦予對(duì)應(yīng)的形式參數(shù)。(若是“無參函數(shù)”,上述工作不執(zhí)行)(2)進(jìn)入函數(shù)體,執(zhí)行函數(shù)中的語句,實(shí)現(xiàn)函數(shù)的功能,當(dāng)執(zhí)行到“返回語句”時(shí),計(jì)算返回值,釋放本函數(shù)體中的變量等(靜態(tài)型變量不釋放),收回分配給形參的內(nèi)存,返回主調(diào)函數(shù)。(3)繼續(xù)執(zhí)行主調(diào)函數(shù)中的后繼語句??稍俳o出一個(gè)編寫函數(shù)的題目,供學(xué)生進(jìn)行課堂練習(xí)。再給出一個(gè)形參是數(shù)組的例子講解4函數(shù)調(diào)用時(shí)對(duì)被調(diào)函數(shù)的說明方法(1)調(diào)用系統(tǒng)函數(shù)時(shí),除少數(shù)系統(tǒng)函數(shù)(如scanf、printf等)外,都要求在程序的開始用包含命令

6、“#include“頭文件.h”將定義系統(tǒng)函數(shù)的庫文件包含在本程序中。(2)如果被調(diào)函數(shù)和主調(diào)函數(shù)在一個(gè)編譯單位中,在書寫順序上被調(diào)函數(shù)在主調(diào)函數(shù)之前出現(xiàn);或者被調(diào)函數(shù)雖然在主調(diào)函數(shù)之后出現(xiàn),而被調(diào)函數(shù)的數(shù)據(jù)類型是整型或字符型,可不對(duì)被調(diào)函數(shù)加以說明;除上述2種情況為,都要對(duì)被調(diào)函數(shù)加以說明。說明的位置一般在主調(diào)函數(shù)的函數(shù)體開頭的數(shù)據(jù)說明語句部分。格式:數(shù)據(jù)類型 被調(diào)函數(shù)名( );(3)如果被調(diào)的用戶函數(shù)和主調(diào)函數(shù)不在同一個(gè)編譯單位中,則在定義函數(shù)的編譯單位中用下列方式將函數(shù)定義成外部函數(shù):extern 數(shù)據(jù)類型 函數(shù)名(形式參數(shù)表)同時(shí)在主調(diào)函數(shù)的函數(shù)體中,或所在編譯單位的開頭將要調(diào)用的函數(shù)

7、說明成“外部函數(shù)“。格式: extern 數(shù)據(jù)類型 被調(diào)函數(shù)名( );【例2】求四個(gè)整數(shù)(x,y,z,w)之間差值的最大值。四個(gè)整數(shù)由鍵盤輸入。int max(int x1,int x2,int x3) int max; if (x1>x2) max=x1; else max=x2; if (max<x3) max=x3; return (max); main() int x,y,z,w,m; scanf(“%d,%d,%d,%d”,&x,&y,&z,&w); m=max(x-y,y-z,z-w); /* 調(diào)用求3個(gè)整數(shù)中最大數(shù)的函數(shù) */ printf(“max=%dn”,m); 【例3】編一個(gè)程序,將整型數(shù)組中最大數(shù)與第一個(gè)數(shù)交換。整型數(shù)組在主函數(shù)中由鍵盤輸入。main() void f(); int a10,i; for (i=0;i<10;i+) scanf(“%d”,&ai); f(a); for (i=0;i<10;i+) printf(“%d”,ai); void f(int b) int max,max_i,i; max=b0,max_i=0; for (i=1;i<10;i+) if (max

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論