




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、123 int gac(int a,int b) int r; r=a%b; while(r!=0) a=b; b=r; r=a%b; return b; 函數(shù)函數(shù)首部首部函數(shù)體函數(shù)體45運行結(jié)果:運行結(jié)果:* * * * * * * * * * * * * * * * * * * *How do you do!How do you do!* * * * * * * * * * * * * * * * * * * *6789如:計算兩個自如:計算兩個自然數(shù)然數(shù)a和和b的最大的最大公約數(shù)。公約數(shù)。a和和b的值。的值。如:計算兩個自如:計算兩個自然數(shù)然數(shù)a和和b的最大的最大公約數(shù)。公約數(shù)。int
2、a,int b1011* 121314151617int gac(int a,int b)int r; r=a%b; while(r!=0) a=b; b=r; r=a%b; return b;18int gac(int a,int b)int r; r=a%b; while(r!=0) a=b; b=r; r=a%b; return b;19202122#include int max(int x, int y) /*定義有參函數(shù)max */int z; z=xy ? x : y; return z;void main() int a, b, c; scanf(%d,%d, &a,
3、&b);c = max(a, b); printf(Max is %d, c);23#include void main()int max(int x, int y); /* 對max函數(shù)的聲明 */ int a, b, c; scanf(%d,%d, &a, &b);c = max(a, b); printf(Max is %d, c);int max(int x, int y) /*定義有參函數(shù)max */int z; z=xy ? x : y; return z;2425262728float add(float, float);float add(float x
4、, float y);29303132main()fun()返回返回計算實參計算實參形實結(jié)合形實結(jié)合返回到返回到調(diào)用位置調(diào)用位置調(diào)調(diào)fun()結(jié)束結(jié)束33如果按如果按自左至右自左至右順序求實順序求實參的值,則函數(shù)調(diào)用相當(dāng)參的值,則函數(shù)調(diào)用相當(dāng)于于f(2,2) 。如果按如果按自右至左自右至左順序求實順序求實參的值,則函數(shù)調(diào)用相當(dāng)參的值,則函數(shù)調(diào)用相當(dāng)于于f(3,2) 。 對于函數(shù)調(diào)用對于函數(shù)調(diào)用 int i=2,p;p=f(i, i+); 34x5y10a b 5 10t510 5x=5 y=10結(jié)論:結(jié)論: 實參向形參的數(shù)實參向形參的數(shù)據(jù)傳遞是據(jù)傳遞是: 單向值傳遞單向值傳遞35函數(shù)語句函數(shù)語
5、句 把函數(shù)調(diào)用作為一個語句。如把函數(shù)調(diào)用作為一個語句。如printstar(),這時,這時不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作。不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作。 要求:要求:無無返回值返回值函數(shù)函數(shù)函數(shù)表達式函數(shù)表達式 函數(shù)出現(xiàn)在一個表達式中,這種表達式稱為函數(shù)出現(xiàn)在一個表達式中,這種表達式稱為函數(shù)函數(shù)表達式表達式。 要求:要求:有返回值函數(shù)。有返回值函數(shù)。36373839)0()!1()0(1!nnnnn4041) 1() 1(2) 1(10)(nnagennage42可以用一個函數(shù)來描述上述遞歸過程:int age(int n) /* 求年齡的遞歸函數(shù) */ int ;
6、/* c用作存放函數(shù)的返回值的變量 */ if (n=1) c=10; else c=age(n-1)+2; return c;用一個主函數(shù)調(diào)用age函數(shù),求得第5人的年齡。#include void main()printf(%d, age(5); 44古代有一個梵塔,塔內(nèi)有3個座A、B、C,開始時座上有64個盤子,盤子大小不等,大的在下,小的在上。有一個老和尚想把這64個盤子從A座移到C座,但每次只允許移動一個盤,且在移動過程中在3個座上都始終保持大盤在下,小盤在上。在移動過程中可以利用B座,要求編程序打印出移動的步驟。ABCABCABCABCABCABCABCABCABCABCABCAB
7、C62636465(1) 主函數(shù)中定義的變量主函數(shù)中定義的變量(m,n)也只在主函數(shù)中有也只在主函數(shù)中有效效, 主函數(shù)不能使用其他函數(shù)中定義的變量。主函數(shù)不能使用其他函數(shù)中定義的變量。(4) 不同函數(shù)中可以使用相同名字的變量不同函數(shù)中可以使用相同名字的變量,它們代它們代表不同的對象表不同的對象,互不干擾。互不干擾。(2) 形式參數(shù)也是局部變量。形式參數(shù)也是局部變量。(3) 在一個函數(shù)內(nèi)部在一個函數(shù)內(nèi)部,可以在復(fù)合語句中定義變量可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效這些變量只在本復(fù)合語句中有效, 。66全局變量可以在函數(shù)之間定義全局變量可以在函數(shù)之間定義 作用域從聲明點開始至源文
8、件尾結(jié)束作用域從聲明點開始至源文件尾結(jié)束(4) 在不必要時不要使用全局變量在不必要時不要使用全局變量:(2) 全局變量可以與局部變量同名全局變量可以與局部變量同名 作用域重疊時,局部變量可見。作用域重疊時,局部變量可見。(3)使用全局變量可以在不同的函數(shù)中傳遞數(shù)據(jù)。使用全局變量可以在不同的函數(shù)中傳遞數(shù)據(jù)。(5) 全局變量定義時,若不初始化,值全局變量定義時,若不初始化,值 為為0.6769#include int f(int a)auto int b=0; static int c=3; b=b+1; c=c+1; return(a+b+c);void main()int a=2,i; for
9、(i=0;i3;i+) printf(%d,f(a);70717273文件file2.c中的內(nèi)容為:#include #include #include file1.cint main() extern a,b; a=1,b=2; printf(%d,%dn,a,b); system(pause);76靜態(tài)動態(tài)存儲方式程序整個運行期間函數(shù)調(diào)用開始至結(jié)束生存期編譯時賦初值,只賦一次每次函數(shù)調(diào)用時賦初值自動賦初值0或空字符不確定未賦初值靜態(tài)存儲區(qū)動態(tài)區(qū)存儲區(qū)寄存器局部變量外部變量作用域定義變量的函數(shù)或復(fù)合語句內(nèi)本文件其它文件u局部變量默認為auto型u局部static變量具有全局壽命和局部可見性u局部static變量具有可繼承性uextern不是變量定義,可擴展外部變量作用域register局部staticauto外部static外部存儲類別int a;main( ) . . f2; . f1; .f1( ) auto int b; f2; .f2( ) static int c; C作用域b作用域a作用域mainf2f1mainf1f2maina生存期:b生存期:c生存期:main() int x
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅林業(yè)職業(yè)技術(shù)學(xué)院《證券投資模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 西藏大學(xué)《文檔數(shù)據(jù)庫》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北工程大學(xué)科信學(xué)院《變頻器原理及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 溫州職業(yè)技術(shù)學(xué)院《電競賽事運營》2023-2024學(xué)年第二學(xué)期期末試卷
- 安康學(xué)院《小學(xué)生品德發(fā)展與道德教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南大眾傳媒職業(yè)技術(shù)學(xué)院《嵌入式系統(tǒng)原理及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津濱海職業(yè)學(xué)院《手球》2023-2024學(xué)年第二學(xué)期期末試卷
- 鎮(zhèn)江市高等??茖W(xué)?!稒C制設(shè)計理論及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西藍天航空職業(yè)學(xué)院《傳播與策劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 濟寧醫(yī)學(xué)院《大氣科學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 《紅樓夢:金陵十二釵判詞賞析》示范PPT課件
- 起重信號工、司索工安全教育培訓(xùn)試題帶答案
- 廢舊塑料回收再生資源利用項目建議書
- 玻璃纖維生產(chǎn)工藝流程培訓(xùn)
- 無砟軌道底座板首件施工總結(jié)(最新)
- 作文紙模板帶字數(shù)
- 急診科2020年12月份院感試卷N1-N4環(huán)境衛(wèi)生學(xué)標(biāo)本的采集試題
- (完整word版)機械制造工藝學(xué)教案
- 吉爾吉斯斯坦共和國公司法
- 小豬搬磚記PPT課件
- 《軟件工程導(dǎo)論》實驗指導(dǎo)書(2013版)
評論
0/150
提交評論