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

下載本文檔

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

文檔簡介

第七章函數(shù)7.3函數(shù)的參數(shù)與函數(shù)值7.3函數(shù)的參數(shù)與函數(shù)值7.3.1形式參數(shù)和實際參數(shù)7.3.2函數(shù)的返回值7.3.1形式參數(shù)和實際參數(shù)

前面已經(jīng)介紹過,函數(shù)的參數(shù)分為形參和實參兩種。在本小節(jié)中,進一步介紹形參、實參的特點和兩者的關(guān)系。形參出現(xiàn)在函數(shù)定義中,在整個函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實參出現(xiàn)在主調(diào)函數(shù)中,進入被調(diào)函數(shù)后,實參變量也不能使用。形參和實參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時,主調(diào)函數(shù)把實參的值傳送給被調(diào)函數(shù)的形參從而實現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。函數(shù)的形參和實參具有以下特點:(1)形參變量只有在被調(diào)用時才分配內(nèi)存單元,在調(diào)用結(jié)束時,即刻釋放所分配的內(nèi)存單元。因此,形參只在函數(shù)內(nèi)部有效。函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量。(2)實參可以是常量、變量、表達式、函數(shù)等,無論實參是何種類型的量,在進行函數(shù)調(diào)用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。(3)實參和形參在數(shù)量上,類型上,順序上應嚴格一致,否則會發(fā)生類型不匹配”的錯誤?!纠?.6】main(){

intn;

printf("inputnumber\n");

scanf("%d",&n);

s(n);

printf("n=%d\n",n);}int

s(intn){

inti;

for(i=n-1;i>=1;i--)n=n+i;

printf("n=%d\n",n);}本程序中定義了一個函數(shù)s,該函數(shù)的功能是求∑ni的值。在主函數(shù)中輸入n值并作為實參,在調(diào)用時傳送給s函數(shù)的形參量n(注意,本例的形參變量和實參變量的標識符都為n,但這是兩個不同的量,各自的作用域不同)。在主函數(shù)中用printf

語句輸出一次n值,這個n值是實參n的值。在函數(shù)s中也用printf

語句輸出了一次n值,這個n值是形參最后取得的n值0。從運行情況看,如果輸入n值為100。即實參n的值為100。把此值傳給函數(shù)s時,形參n的初值也為100,在執(zhí)行函數(shù)過程中,形參n的值變?yōu)?050。返回主函數(shù)之后,輸出實參n的值仍為100??梢妼崊⒌闹挡浑S形參的變化而變化。(4)函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實參中的值不會變化。如圖7.3.2函數(shù)的返回值函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的并返回給主調(diào)函數(shù)的值。對函數(shù)的值(或稱函數(shù)返回值)有以下一些說明:(1)函數(shù)的值只能通過return語句返回主調(diào)函數(shù)。return語句的一般形式為:

return表達式;或者為:return(表達式);該語句的功能是計算表達式的值,并返回給主調(diào)函數(shù)。在函數(shù)中允許有多個return語句,但每次調(diào)用只能有一個return語句被執(zhí)行,因此只能返回一個函數(shù)值(2)函數(shù)值的類型和函數(shù)定義中函數(shù)的類型應保持一致。如果兩者不一致,則以函數(shù)類型為準,自動進行類型轉(zhuǎn)換。(3)如函數(shù)值為整型,在函數(shù)定義時可以省去類型說明。(4)不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說明符為“void”。因此可定義為:

voids(intn){……}一旦函數(shù)被定義為空類型后,就不能在主調(diào)函數(shù)中使用被調(diào)函數(shù)的函數(shù)值了。例如,在

溫馨提示

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

評論

0/150

提交評論