《計算機程序設(shè)計(C語言)》第7章 第2節(jié) 函數(shù)的定義_第1頁
《計算機程序設(shè)計(C語言)》第7章 第2節(jié) 函數(shù)的定義_第2頁
《計算機程序設(shè)計(C語言)》第7章 第2節(jié) 函數(shù)的定義_第3頁
《計算機程序設(shè)計(C語言)》第7章 第2節(jié) 函數(shù)的定義_第4頁
《計算機程序設(shè)計(C語言)》第7章 第2節(jié) 函數(shù)的定義_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章函數(shù)7.2函數(shù)的定義

7.2函數(shù)的定義7.2.1函數(shù)定義的一般形式7.2.2函數(shù)定義的幾種類型7.2.1函數(shù)定義的一般形式和使用變量一樣,使用函數(shù)前必須先定義。函數(shù)定義的一般形式如下:類型函數(shù)名(類型形式參數(shù)1,類型形式參數(shù)2,……)函數(shù)頭部

{

聲明語句函數(shù)體部分可執(zhí)行語句}【說明】:(1)函數(shù)名是函數(shù)的唯一標(biāo)識,用于說明函數(shù)的功能,注意:在同一個程序內(nèi)函數(shù)名不能重復(fù)且不能和系統(tǒng)提供的函數(shù)名同名。函數(shù)名的命名規(guī)則與變量命名規(guī)則相同,在命名過程中盡量做到“見名知意”。(2)“類型”規(guī)定了函數(shù)返回值的類型,通常又稱為函數(shù)類型。函數(shù)類型可以是任何合法的數(shù)據(jù)類型,如果函數(shù)名前面沒有類型,C語言規(guī)定默認(rèn)為“int”類型。(3)如果函數(shù)沒有返回值則必須寫上“void”。(4)函數(shù)的形式參數(shù)(簡稱形參)需要用逗號分隔開來,形參只能是變量不可以是常量或者表達(dá)式。

【說明】:(5)函數(shù)體部分必須要用{}括起來,函數(shù)體部分包括聲明語句序列和可執(zhí)行的語句序列如果函數(shù)定義的時候有類型,那么在執(zhí)行語句中至少有一條return(返回)語句,如果函數(shù)名前是void,則返回語句可以省略,或直接寫“return;”(6)注意return語言可以在執(zhí)行語句的任何位置。(7)當(dāng)函數(shù)遇到return或者執(zhí)行到函數(shù)最后一條語句時,就立即返回到主調(diào)函數(shù)中,即使沒有return語句也一樣。7.2.2函數(shù)定義的幾種類型(1)無參函數(shù)定義形式無參函數(shù)也可以細(xì)分為:無返回值和有返回值兩種類型①無返回值定義形式

Void

函數(shù)名()

{

數(shù)據(jù)定義部分執(zhí)行語句部分

}

函數(shù)名后的參數(shù)表中為空或者寫上void,表示函數(shù)無參數(shù),注意括號不可以少,函數(shù)名前面的void表示函數(shù)無返回值【例7.1】無參、無返回值函數(shù)例題

voidprint(){printf(“WeliketheClanguageprogram!\n”);//執(zhí)行語句部分//}【說明】

這里的函數(shù)print是一個無參數(shù),無返回值的函數(shù),print是函數(shù)名。當(dāng)調(diào)用print函數(shù)時,就輸出WeliketheClanguageprogram!和換行符。該函數(shù)比較簡單,僅有一條執(zhí)行語句,沒有數(shù)據(jù)定義部分。函數(shù)沒有返回值,所以不必加上return語句,但是執(zhí)行完語句后,函數(shù)會返回到主調(diào)函數(shù)。②:無參、有返回值函數(shù)定義形式

類型函數(shù)名(){數(shù)據(jù)定義部分執(zhí)行語句部分}函數(shù)名前的“類型”說明了函數(shù)類型。有函數(shù)類型的函數(shù)在函數(shù)體部分必須至少要有一條“return”語句,該語句將結(jié)果返回給主調(diào)函數(shù)。【例7.2】無參、有返回值函數(shù)例題,用函數(shù)編寫10的階乘n!longfun(){inti;longjc=1;for(i=1;i<=10;i++)jc*=i;returnjc;}(2)有參函數(shù)定義形式有參函數(shù)細(xì)分為:無返回值和有返回值兩種類型①:有參、無返回值類型定義形式void函數(shù)名(形式參數(shù)列表){數(shù)據(jù)定義部分執(zhí)行語句部分}【例7.3】有參、無返回值函數(shù)例題

Voidput(inta){printf(“****%d*****\n”,a);//執(zhí)行語句部分//}

②有參、有返回值函數(shù)定義形式類型函數(shù)名(形式參數(shù)列表){數(shù)據(jù)定義部分執(zhí)行語句部分}【例7.4】有參、有返回值函數(shù)例題,用函數(shù)編寫整數(shù)的階乘n!longfun(intn){inti;longjc=1;for(i=1;i<=n;i++)jc*=i;returnjc;}對比【例7.2】會發(fā)現(xiàn),兩者區(qū)別在于函數(shù)名后是否有形式參數(shù)參與函數(shù)的調(diào)用和運算。總結(jié)(3)在C程序中,一個函數(shù)的定義可以放在任意位置,既可放在主函數(shù)main之前,也可放在main之后。【例7.5】:可把max函數(shù)置在main之后,也可以把它放在main之前。int

max(int

a,intb){if(a>b)returna;elsereturnb;}main(){

int

max(int

a,intb);//函數(shù)說明部分,可以聯(lián)系后面的內(nèi)容//

int

x,y,z;

printf("inputtwonumbers:\n");

scanf("%d%d",&x,&y);z=max(x,y);//函數(shù)調(diào)用部分//

printf("maxmum=%d",z);}分析現(xiàn)在我們可以從函數(shù)定義、函數(shù)說明及函數(shù)調(diào)用的角度來分析整個程序,從中進(jìn)一步了解函數(shù)的各種特點。程序的第1行至第5行為max函數(shù)定義。進(jìn)入主函數(shù)后,因為準(zhǔn)備調(diào)用max函數(shù),故先對max函數(shù)進(jìn)行說明(程序第8行)。函數(shù)定義和函數(shù)說明并不是一回事,在后面還要專門討論。可以看出函數(shù)說明與函數(shù)定義中的函數(shù)頭部分相同,但是末尾要加分號。程序第12行為調(diào)用max函數(shù),并把x,y中的值傳送給max的形參a,b。max函數(shù)執(zhí)行的結(jié)果

溫馨提示

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

評論

0/150

提交評論