《C語言中的函數(shù)》PPT課件.ppt_第1頁
《C語言中的函數(shù)》PPT課件.ppt_第2頁
《C語言中的函數(shù)》PPT課件.ppt_第3頁
《C語言中的函數(shù)》PPT課件.ppt_第4頁
《C語言中的函數(shù)》PPT課件.ppt_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第六章 函數(shù),本章教學(xué)目標(biāo): 掌握函數(shù)定義和調(diào)用的基礎(chǔ)知識; 熟悉C語言程序函數(shù)式程序設(shè)計基本框架。 本章重點內(nèi)容: C語言的庫函數(shù); C語言中函數(shù)的定義和返回值; 函數(shù)多種調(diào)用形式; 函數(shù)參數(shù)傳遞。,第六章 函數(shù),C語言提供了豐富的庫函數(shù),這些函數(shù)有常用的數(shù)學(xué)運算函數(shù)、類型轉(zhuǎn)換函數(shù)、字符串處理函數(shù)、標(biāo)準(zhǔn)I/O函數(shù)、文件管理函數(shù)、字符判別與轉(zhuǎn)換函數(shù)。 在調(diào)用函數(shù)時,需做到以下兩點: 1.調(diào)用C語言標(biāo)準(zhǔn)庫函數(shù)時對于include命令行的要求 對每一類庫函數(shù),在調(diào)用該類庫函數(shù)時,用戶在 源程序include命令行中應(yīng)該要包含相應(yīng)的頭文件名。 2.標(biāo)準(zhǔn)庫函數(shù)的調(diào)用 對庫函數(shù)的一般調(diào)用形式為: 函數(shù)名

2、(實參表達式1,實參表達式2,),6.1 庫函數(shù),6.2.1 函數(shù)定義 (1)函數(shù)定義的一般形式為: 類型名 函數(shù)名(形式參數(shù)類型說明及列表) /*函數(shù)的首部*/ 局部變量說明部分 /*函數(shù)體*/ 可執(zhí)行語句部分 ,6.2 函數(shù)的定義和返回值,(2)函數(shù)名和形式參數(shù)都是由用戶命名的標(biāo)識符。對于自定義函數(shù),其命名遵循C語言標(biāo)識符的規(guī)定。在同一個程序中,函數(shù)名必須唯一,形式參數(shù)名只要在同一個函數(shù)中唯一即可,可以與其他函數(shù)中的變量同名。 (3)若在函數(shù)的首部省略了函數(shù)返回值的類型名,把函數(shù)首部寫成: 函數(shù)名(類型名 形式參數(shù)1,類型名 形式參數(shù)2,) 則默認(rèn)函數(shù)返回值的類型為int類型。 例如: m

3、ax(int a ,int b),6.2 函數(shù)的定義和返回值,(4) C語言規(guī)定,不能在函數(shù)的內(nèi)部定義函數(shù)。 (5)除了返回值類型為int類型的函數(shù)外,函數(shù)必須先定義(或說明)后調(diào)用。 (6)若函數(shù)只是用于完成某些操作,不提供函數(shù)返回值,則可以把函數(shù)定義成空類型??疹愋偷臉?biāo)識符為void。,6.2 函數(shù)的定義和返回值,例6.1 自定義函數(shù)power(x,n),其功能是求x的n次方。 float power(float x,int n) int i; float t=1; for(i=1;i=n;i+) t=t*x; return t; ,6.2 函數(shù)的定義和返回值,6.2.2 函數(shù)返回值 如果

4、函數(shù)需要返回值,一般是通過return語句來實現(xiàn)。return語句的一般形式如下: return (表達式); 執(zhí)行時,先計算出括號中表達式的值,再將該值返回給主調(diào)函數(shù)中的調(diào)用表達式。也就是說,return語句中的表達式的值就是所求的函數(shù)值,此表達式值的類型必須要與函數(shù)首部說明的類型一致。若類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動轉(zhuǎn)換。,6.2 函數(shù)的定義和返回值,當(dāng)程序執(zhí)行到return語句時,程序的流程就會返回到調(diào)用該函數(shù)的地方并帶回函數(shù)值。在同一個函數(shù)內(nèi),可以根據(jù)需要,出現(xiàn)多個return語句,但無論函數(shù)體中有多少個return語句,return語句只可能執(zhí)行一次。 return語句

5、中也可以不含表達式,這時必須定義函數(shù)為void類型,它的作用只是使流程返回到調(diào)用函數(shù),并沒有確定的函數(shù)值。,6.2 函數(shù)的定義和返回值,6.3.1 函數(shù)的調(diào)用方式 根據(jù)函數(shù)的有參數(shù)和無參數(shù)兩種不同形式,函數(shù)調(diào)用也分為有參和無參兩種。 有參函數(shù)調(diào)用的一般形式為: 函數(shù)名(實在參數(shù)表) 無參函數(shù)調(diào)用的一般形式為: 函數(shù)名( ),6.3 函數(shù)的調(diào)用,按照函數(shù)調(diào)用在程序中出現(xiàn)的形式和位置來分,可以有以下三種函數(shù)調(diào)用方式。 函數(shù)調(diào)用語句 printf(“%d”,a); 函數(shù)表達式 c=2+max(a,b); 函數(shù)參數(shù) c=max(x,max(y,z);,6.3 函數(shù)的調(diào)用,6.3.2 函數(shù)調(diào)用時的幾點語

6、法說明 調(diào)用函數(shù)時,函數(shù)名必須與所調(diào)用函數(shù)名字完全一致; 實際參數(shù)的個數(shù)必須與形式參數(shù)的個數(shù)相同。應(yīng)該特別注意實參與形參的類型匹配。 C語言規(guī)定,函數(shù)必須先定義,后調(diào)用(函數(shù)的返回值類型為int或char時除外)。 C程序中,函數(shù)可以直接或間接的自己調(diào)用自己,稱為遞歸調(diào)用。,6.3 函數(shù)的調(diào)用,例6.2用遞歸法計算n! 用遞歸法計算n!可用下述公式表示: n!=1 (n=0,1) n(n-1)! (n1) 按公式可編程如下: long ff(int n) long f; if(n0) printf(n0,input error); else if(n=0|n=1) f=1; else f=ff

7、(n-1)*n; return(f); ,6.3 函數(shù)的調(diào)用,main( ) int n; long y; printf(ninput a inteager number:n); scanf(%d, ,函數(shù)說明與該函數(shù)定義的第一行給出的函數(shù)類型中形參名、形參的個數(shù)、類型、次序相一致。函數(shù)說明語句的一般形式如下: 類型名 函數(shù)名(參數(shù)類型說明列表); 函數(shù)說明語句由函數(shù)定義的首部加分號構(gòu)成。參數(shù)列表可以省略形參名,但是參數(shù)類型、參數(shù)位置和數(shù)目必須一致。,6.4 函數(shù)的說明,Turbo C在以下情況中,函數(shù)聲明可以省略: 當(dāng)函數(shù)定義在主調(diào)函數(shù)之前,即先定義后調(diào)用。這樣在調(diào)用時,就已經(jīng)具備了被調(diào)函數(shù)

8、的全部信息,函數(shù)聲明可以省略。 當(dāng)函數(shù)的類型為int型或char型或void型時函數(shù)說明可以省略。,6.4 函數(shù)的說明,在C語言中,調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)可以通過三種方式進行傳遞: 實在參數(shù)和形式參數(shù)之間進行數(shù)據(jù)傳遞 通過return語句把函數(shù)值返回調(diào)用函數(shù) 通過全局變量。但這不是一種好的方式,通常不提倡使用。,6.5 調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞,例6.3 輸入兩個數(shù),輸出其中較大的數(shù)。 #include main( ) int a,b,m; int max(int,int); scanf(“%d,%d”, 如果運行時輸入: 10,5 輸出為:10,6.5 調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞,int max(int x,i

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論