ans_函數(shù)調(diào)用

ans_函數(shù)調(diào)用

ID:37939589

大小:56.00 KB

頁數(shù):6頁

時間:2019-06-03

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

《ans_函數(shù)調(diào)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、函數(shù)間的調(diào)用關(guān)系:由主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次。函數(shù)間可以互相調(diào)用,但不能調(diào)用main函數(shù)。main函數(shù)是系統(tǒng)調(diào)用的。在定義函數(shù)時是分別進(jìn)行的,是互相獨立的。一個函數(shù)并不從屬于另一函數(shù),即函數(shù)不能嵌套定義。#includevoidf2();voidf1();voidf2(){voidf1(){printf("1");}f1();printf("2");}main(){f1();f2();getch();}C語言規(guī)定,在程序中用到

2、的所有函數(shù),必須“先定義,后使用”。定義函數(shù)包括以下幾個內(nèi)容:⒈指定函數(shù)的名字,以便以后按名調(diào)用。⒉指定函數(shù)的類型,函數(shù)值的類型。⒊指定函數(shù)的參數(shù)的名字和類型,以便在調(diào)用函數(shù)時向它們傳遞數(shù)據(jù)。對無參函數(shù)不需要這項。⒋指定函數(shù)應(yīng)當(dāng)執(zhí)行什么操作,也就是函數(shù)是做什么的,即函數(shù)的功能。intmax(intx,inty)/*不能寫成intx,y*/?。椋睿簦?*函數(shù)體中的聲明部分*/ ?。剑荆浚茫?;return(z);}關(guān)于形參與實參的說明:形參并不占內(nèi)存中的存儲單元。實參可以是常量、變量或表達(dá)式,例如:max

3、(3,a+b);實參向形參的數(shù)據(jù)傳遞是單向“值傳遞”,只能由實參傳給形參,而不能由形參傳回來給實參。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實參單元仍保留并維持原值。函數(shù)的返回值說明:一個函數(shù)中可以有一個以上的return語句,執(zhí)行到哪一個return語句,哪一個語句起作用。如return(z);或returnz;如果函數(shù)值的類型和return語句中表達(dá)式的值不一致,則以函數(shù)類型為準(zhǔn)。不帶返回值的函數(shù),應(yīng)當(dāng)用“void”定義函數(shù)為“無類型”(或稱“空類型”)。此時

4、在函數(shù)體中寫成return;或不出現(xiàn)return語句。函數(shù)的“定義”和“聲明”不是一回事。?函數(shù)的定義是指對函數(shù)功能的確立,包括指定函數(shù)名,函數(shù)值類型、形參及其類型、函數(shù)體等,它是一個完整的、獨立的函數(shù)單位。?函數(shù)的聲明的作用則是把函數(shù)的名字、函數(shù)類型以及形參的類型、個數(shù)和順序通知編譯系統(tǒng),以便在調(diào)用該函數(shù)時系統(tǒng)按此進(jìn)行對照檢查。它不包含函數(shù)體。#includevoidmain(){floatadd(floatx,floaty);/*對被調(diào)用函數(shù)add的聲明*/floata,b,c;scanf(

5、"%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);}floatadd(floatx,floaty)/*函數(shù)首部*/{floatz;/*函數(shù)體*/z=x+y;return(z);}(1)如果被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不必加以聲明。(2)如果已在文件的開頭(在所有函數(shù)之前),已對本文件中所調(diào)用的函數(shù)進(jìn)行了聲明,則在各函數(shù)中不必對其所調(diào)用的函數(shù)再作聲明。函數(shù)的嵌套調(diào)用(調(diào)用函數(shù)過程中,又調(diào)用另一個函數(shù);不允許嵌套定義)遞歸函數(shù)(直接或間接地調(diào)用該函數(shù)本身):#

6、includeintage(intn)/*求年齡的遞歸函數(shù)*/{intc;/*c用作存放函數(shù)的返回值的變量*/if(n==1)c=10;elsec=age(n-1)+2;return(c);}voidmain(){printf(″%d″,age(3));}數(shù)組元素可以作為函數(shù)的實參,與用變量作實參一樣,是單向傳遞,即“值傳送”方式。用數(shù)組名作函數(shù)參數(shù),此時形參應(yīng)當(dāng)用數(shù)組名或用指針變量,傳遞的是數(shù)組首元素的地址。在一個函數(shù)內(nèi)部定義的變量是內(nèi)部變量,它只在本函數(shù)范圍內(nèi)有效,也就是說只有在本函數(shù)內(nèi)

7、才能使用它們,在此函數(shù)以外是不能使用這些變量的。這稱為“局部變量”。不同函數(shù)中可以使用相同名字的變量,它們代表不同的對象,互不干擾。形式參數(shù)也是局部變量。在一個函數(shù)內(nèi)部,可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效(而不在整個函數(shù)內(nèi)有效),這種復(fù)合語句也稱為“分程序”或“程序塊”。函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量(也稱全程變量),它的有效范圍為從定義變量的位置開始到本源文件結(jié)束。在各個函數(shù)執(zhí)行時都可能改變外部變量的值,程序容易出錯。因此,要限制使用全局變量。局部變量的存儲類別:auto

8、變量:調(diào)用該函數(shù)時系統(tǒng)會給它們分配存儲空間,在函數(shù)調(diào)用結(jié)束時就自動釋放這些存儲空間,因此這類局部變量稱為自動變量。(auto可以省略,默認(rèn)情況下)靜態(tài)局部變量:當(dāng)函數(shù)中的局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值時,該變量稱為靜態(tài)局部變量。用關(guān)鍵字static進(jìn)行聲明。(對靜態(tài)局部變量是在編譯時賦初值的,即只賦初值一次,在程序運行時它已有初值。以后每次調(diào)用函數(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ò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。