函數(shù)的定義和調(diào)用

函數(shù)的定義和調(diào)用

ID:40110850

大小:1.51 MB

頁數(shù):46頁

時(shí)間:2019-07-21

函數(shù)的定義和調(diào)用_第1頁
函數(shù)的定義和調(diào)用_第2頁
函數(shù)的定義和調(diào)用_第3頁
函數(shù)的定義和調(diào)用_第4頁
函數(shù)的定義和調(diào)用_第5頁
資源描述:

《函數(shù)的定義和調(diào)用》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第7講函數(shù)(1)----函數(shù)的定義和調(diào)用主講教師:劉莉E_mail:sjz.lily@163.comPhone:888906927/24/2021計(jì)算機(jī)與信息工程分院主要內(nèi)容函數(shù)及函數(shù)定義的一般形式1函數(shù)參數(shù)和函數(shù)的值2函數(shù)的調(diào)用3函數(shù)的遞歸調(diào)用5重點(diǎn)函數(shù)的定義的一般形式、函數(shù)參數(shù)傳遞難點(diǎn)函數(shù)的嵌套調(diào)用、函數(shù)的遞歸調(diào)用函數(shù)的嵌套調(diào)用4作業(yè)2計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)1.函數(shù)及函數(shù)定義的一般形式(1)1.1函數(shù)概述一個C程序可由一個主函數(shù)和若干個函數(shù)構(gòu)成。由主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次。示意圖例7-1說明返回主菜單3計(jì)

2、算機(jī)與信息工程分院C語言程序設(shè)計(jì)說明(1)(1)一個源文件由一個或多個函數(shù)組成。一個源程序文件是一個編譯單位,即以源程序?yàn)閱挝贿M(jìn)行編譯,而不是以函數(shù)為單位進(jìn)行編譯。(2)一個C程序由一個或多個源程序文件組成。對較大的程序,一般不希望全放在一個文件中,而將函數(shù)和其他內(nèi)容(如預(yù)定義)分別放在若干個源文件中,再由若干源文件組成一個C程序。這樣可以分別編寫、分別編譯,提高調(diào)試效率。一個源程序可以為多個C程序公用。(3)C程序的執(zhí)行從main函數(shù)開始,調(diào)用其他函數(shù)后流程返回到main函數(shù),在main函數(shù)中結(jié)束整個程序的運(yùn)行。main函數(shù)是系統(tǒng)定義的。4計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)說明(

3、2)(4)所有函數(shù)都是平行的,即在定義函數(shù)時(shí)是相互獨(dú)立的,一個函數(shù)并不從屬于另一函數(shù),即函數(shù)不能嵌套定義(這是和PASCAL不同的)。函數(shù)間可以互相調(diào)用,但不能調(diào)用main函數(shù)。(5)從用戶使用的角度看,函數(shù)有兩種:標(biāo)準(zhǔn)函數(shù),即庫函數(shù)。用戶自己定義的函數(shù)。(6)從函數(shù)的形式看,函數(shù)分兩類:無參函數(shù)。在調(diào)用無參函數(shù)時(shí),主調(diào)函數(shù)并將數(shù)據(jù)傳送給被調(diào)用函數(shù),一般用來執(zhí)行指定的一組操作。無參函數(shù)可以帶回或不帶回函數(shù)值,但一般以不帶回函數(shù)值得居多。有參函數(shù)。在調(diào)用函數(shù)時(shí),在主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞。也就是說,主調(diào)函數(shù)可以將數(shù)據(jù)傳給被調(diào)用函數(shù)使用,被調(diào)用函數(shù)中的數(shù)據(jù)也可以帶回來供主調(diào)函數(shù)

4、使用。系統(tǒng)自己定義的如例8.1的printstar和print_message5計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)示意圖mainabcdefghhieg6計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)例7.1簡單的函數(shù)調(diào)用main(){printstar();print_message();printstar();}printstar();{printf(“****”);}printf_message();{printf(“Howdoyoudo!”);}調(diào)用printstar函數(shù)調(diào)用print_message函數(shù)調(diào)用printstar函數(shù)調(diào)用printstar函數(shù)調(diào)用print_mes

5、sage函數(shù)程序運(yùn)行后,結(jié)果顯示:*****************Howdoyoudo!*****************7計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)1.函數(shù)及函數(shù)定義的一般形式(2)1.2函數(shù)定義的一般形式(1)無參函數(shù)的定義形式有參函數(shù)定義的一般形式類型標(biāo)識符函數(shù)名(){聲明部分語句}類型標(biāo)識符函數(shù)名(形式參數(shù)表列){聲明部分語句}例如:intmax(intx,inty){intz;z=x>y?x:y;return(z);}8計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)1.函數(shù)及函數(shù)定義的一般形式(3)1.2函數(shù)定義的一般形式(2)可以有”空函數(shù)”對形參聲明的傳統(tǒng)方式例如:du

6、mmy(){}類型說明符函數(shù)名(){}在老版本C語言中,對形參類型的聲明是放在函數(shù)定義的第2行例如:intmax(x,y)intx,y;{intz;z=x>y?x:y;return(z);}9計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)2.函數(shù)參數(shù)和函數(shù)的值形式參數(shù)和實(shí)際參數(shù)在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”(簡稱“形參”),在主調(diào)函數(shù)中調(diào)用一個函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)(可以是一個表達(dá)式)稱為”實(shí)際參數(shù)”。函數(shù)的返回值通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到一個確定的值,這就是函數(shù)的返回值。例7-2說明例7-3說明返回主菜單10計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)例7-2調(diào)用函數(shù)時(shí)

7、的數(shù)據(jù)傳遞main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}max(intx,inty){intz;z=x>y?x:y;return(z);}輸入:7,8結(jié)果:Maxis811計(jì)算機(jī)與信息工程分院C語言程序設(shè)計(jì)關(guān)于形參和實(shí)參的說明(1)(1)在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時(shí),它們并不占內(nèi)存中的存儲單元。只有在發(fā)生函數(shù)調(diào)用時(shí),函數(shù)max中的形參才被分配內(nèi)存單元。在調(diào)用結(jié)束后

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。