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

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

ID:39846361

大?。?07.26 KB

頁數(shù):46頁

時間:2019-07-13

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

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

1、§4.2函數(shù)的聲明和函數(shù)調(diào)用1.函數(shù)定義和函數(shù)調(diào)用的區(qū)分1)函數(shù)定義:要給出函數(shù)名、函數(shù)類型、形式參數(shù)、函數(shù)的實現(xiàn)過程(函數(shù)的定義性說明),它是一個完整的、獨立的函數(shù)單位。2)函數(shù)聲明只給出函數(shù)名、函數(shù)類型、形參類型(有時給出形參名)。沒有給出函數(shù)實現(xiàn)的過程描述。有時稱為函數(shù)原型說明,一般放在程序開頭,描述本程序?qū)⒁玫侥男┖瘮?shù)(函數(shù)的引用性說明)。3)設(shè)立函數(shù)的作用提高程序的可讀性(本程序使用到了哪些函數(shù))并且改善程序的結(jié)構(gòu);減少程序編寫、調(diào)試的工作量,提高程序設(shè)計效率并較好地保障程序的正確性和可靠性;提供語法檢查(在程序中對照函數(shù)原型,

2、檢查所屬實際使用的函數(shù)的參數(shù)是否和函數(shù)原型規(guī)定的參數(shù)類型想匹配,若不匹配就自動轉(zhuǎn)換為函數(shù)原型所規(guī)定的類型。C語言無此功能,C++才有)。例子:求用戶輸入的三個數(shù)中的最大者,演示函數(shù)的引用性聲明。#includefloatmax(float,float);????????????//函數(shù)的引用性聲明voidmain(){??floati,j,k;??????????????????//用戶輸入的三個數(shù)floattemp;?????????????????????//臨時最大者cout<<"Inputthreenumbe

3、rsplease:";???????????//用戶輸入三個數(shù)cin>>i>>j>>k;???????????????????//找出最大數(shù)存放在temp中temp=max(i,j);temp=max(temp,k);cout<<"Themaximumnumberis"<=y)z=x;elsez=y;returnz;}2.函數(shù)的定義性說明(函數(shù)定義)1)含義:給出函數(shù)名、函數(shù)類型、形式參數(shù)、函數(shù)

4、的實現(xiàn)過程(函數(shù)的定義性說明)。2)形式如下:類型?函數(shù)名(形式參數(shù)表){語句序列}3)相關(guān)術(shù)語函數(shù)名   函數(shù)類型函數(shù)參數(shù)  函數(shù)參數(shù)傳遞函數(shù)體  函數(shù)值的返回控制的轉(zhuǎn)移①函數(shù)名為函數(shù)所起的名字,必須是一個有效的C++標(biāo)識符(以字母或下劃線開頭、后接字母或數(shù)字或下劃線的字符序列),但不允許使用C++的保留字作為函數(shù)名。我們應(yīng)該根據(jù)函數(shù)所完成的功能為函數(shù)起一個有意義的名字。在書寫函數(shù)名字時應(yīng)在后面加上一對圓括號以區(qū)別于其它變量或類型的名字。②函數(shù)類型函數(shù)類型是指函數(shù)返回值的類型,可以是基本數(shù)據(jù)類型,也可以是后面要討論的復(fù)合數(shù)據(jù)類型,但不允許

5、是數(shù)組類型或函數(shù)類型。函數(shù)定義時需注明函數(shù)類型。C語言缺省類型為int。C++繼承C,但有些版本會不同,因此最好具體指定,如確實不需要指明類型,就采用void類型(空類型)。③函數(shù)參數(shù)包括形式參數(shù)和實際參數(shù)。形式參數(shù)是用逗號分隔的變量說明列表,這些變量稱為函數(shù)的形式參數(shù),有時也簡稱為形參。形式參數(shù)用于接收從函數(shù)調(diào)用程序傳給這個函數(shù)的數(shù)據(jù)。實際參數(shù)是用逗號分隔的表達(dá)式列表,其中每一個表達(dá)式稱為實際參數(shù),有時也簡稱為實參。在函數(shù)調(diào)用時,需要將實參的值傳送給對應(yīng)位置的形式參數(shù),因而要求實參個數(shù)必須和形參個數(shù)相同(缺省參數(shù)或可變數(shù)目參數(shù)情況例外),

6、并且實參的類型必須與對應(yīng)的形參類型相匹配。④函數(shù)參數(shù)傳遞(兩種情況)主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時,函數(shù)執(zhí)行所需的參數(shù)如何從主調(diào)函數(shù)傳入到被調(diào)函數(shù)中去;函數(shù)執(zhí)行完后,所得到的執(zhí)行結(jié)果如何傳送回主調(diào)函數(shù)中。參數(shù)傳遞1實參-->形參(包括值的傳遞(傳值);地址的傳遞(傳地址))參數(shù)傳遞2執(zhí)行結(jié)果->主調(diào)函數(shù)形式:return表達(dá)式;或return(表達(dá)式);功能:計算出表達(dá)式的值并返回給主調(diào)函數(shù),退出函數(shù)執(zhí)行,把執(zhí)行回歸到主調(diào)函數(shù)。注意:采用return只能返回一個值如returnx;不能用returnx,y;也不能用returnx;returny;。

7、參數(shù)傳遞3(可用于兩者)采用全局變量形式,但要注意有沒有副作用(盡可能少用此形式)。函數(shù)定義時的參數(shù)說明:在圓括號內(nèi)說明,如果沒有參數(shù),也不能省去圓括號。函數(shù)舉例intmax(intx,inty)?//函數(shù)定義intmax(int,int);//函數(shù)原型voidmain()???????//沒有具體參數(shù)⑤函數(shù)體函數(shù)體是用花括號“{”和“}”括住的語句序列,分為說明部分和語句部分,用于描述這個函數(shù)所要執(zhí)行的操作(即實現(xiàn)其功能的具體執(zhí)行過程)。函數(shù)體可以為空,但花括號不能省去。如:intmax(intx,inty){??}⑥函數(shù)值的返回及控制的

8、轉(zhuǎn)移:return語句函數(shù)值的返回:return表達(dá)式;這種形式只能返回一個值,若有多個值返回,只能考慮用數(shù)組指針等形式??刂品祷兀簉eturn表達(dá)式;//兩者兼者(函數(shù)值返回及

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

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

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