




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、會(huì)計(jì)學(xué)1C語(yǔ)言標(biāo)準(zhǔn)講座之函數(shù)語(yǔ)言標(biāo)準(zhǔn)講座之函數(shù)源程序文件1預(yù)編譯命令說(shuō)明部分執(zhí)行部分函數(shù)1函數(shù)n源程序文件i源程序文件nC程序C程序結(jié)構(gòu)&C是函數(shù)式語(yǔ)言&必須有且只能有一個(gè)名為main的主函數(shù)&C程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main中結(jié)束&主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以相互調(diào)用第1頁(yè)/共28頁(yè)printf()scanf()getchar()putchar()sort()max()message()int getch() 或int getch(void)int printf( const char *format , argument. )第2頁(yè)/共2
2、8頁(yè)合法標(biāo)識(shí)符函數(shù)返回值類型缺省int型無(wú)返回值void函數(shù)體函數(shù)類型 函數(shù)名(形參類型說(shuō)明表)說(shuō)明部分語(yǔ)句部分現(xiàn)代風(fēng)格:例 有參函數(shù)(現(xiàn)代風(fēng)格) int max(int x,int y) int z; z=xy?x:y; return(z); 例 有參函數(shù)(現(xiàn)代風(fēng)格) int max(int x, y) int z; z=xy?x:y; return(z); 第3頁(yè)/共28頁(yè)第4頁(yè)/共28頁(yè)nvoid型函數(shù)型函數(shù)例例 return 語(yǔ)句的示意語(yǔ)句的示意main() int i=-4; int j=4; int aa=test(i, j); printf(%d,aa); getch();tes
3、t (int a, int b) if (a+b0) return a*b; else if(a+b =0) return (a+b); else printf(%d %d,a,b); return;例例 無(wú)返回值函數(shù)無(wú)返回值函數(shù) void swap(int x,int y ) int temp; temp=x; x=y; y=temp; (本函數(shù)有問(wèn)題!)*第5頁(yè)/共28頁(yè)第6頁(yè)/共28頁(yè)n若函數(shù)返值是若函數(shù)返值是int型型,系統(tǒng)自動(dòng)按,系統(tǒng)自動(dòng)按int型型處理處理(不推薦不推薦!)n被調(diào)用函數(shù)定義出現(xiàn)在主調(diào)函數(shù)之前被調(diào)用函數(shù)定義出現(xiàn)在主調(diào)函數(shù)之前n有些系統(tǒng)有些系統(tǒng)(如如Borland C+
4、)要求函數(shù)申明指要求函數(shù)申明指出函數(shù)返值類型和形參類型,并且對(duì)出函數(shù)返值類型和形參類型,并且對(duì)void 和和 int 型函數(shù)也要進(jìn)行函數(shù)申明型函數(shù)也要進(jìn)行函數(shù)申明 *例例 函數(shù)的申明函數(shù)的申明int test(int, int);int test(int a, int b);int test(); main() int i, j; test(); int test (int a, int b) int test(int ,int);例例 函數(shù)的申明函數(shù)的申明int test (int a, int b) main() int i, j; test(); 第7頁(yè)/共28頁(yè)第8頁(yè)/共28頁(yè)第9頁(yè)/
5、共28頁(yè)711x:y:調(diào)用前:調(diào)用前:調(diào)用結(jié)束:調(diào)用結(jié)束:711x:y:/*ch7_2.c*/#include main() int x=7,y=11; printf(x=%d,ty=%dn,x,y); printf(swapped:n); swap(x,y); printf(x=%d,ty=%dn,x,y);swap(int a,int b) int temp; temp=a; a=b; b=temp;調(diào)用:調(diào)用:711a:b:711x:y:swap:711x:y:117a:b:temp第10頁(yè)/共28頁(yè)第11頁(yè)/共28頁(yè)第12頁(yè)/共28頁(yè)#include long sum(int a, i
6、nt b); long factorial(int n);main() int n1,n2; long a; scanf(%d,%d,&n1,&n2); a=sum(n1,n2); printf(a=%1d,a); long sum(int a,int b) long c1,c2; c1=factorial(a); c2=factorial(b); return(c1+c2); long factorial(int n) long rtn=1; int i; for(i=1;i=n;i+) rtn*=i; return(rtn); long sum(int a, int b);
7、long factorial(int n);文件包含編譯預(yù)處理命令函數(shù)類型說(shuō)明函數(shù)定義函數(shù)調(diào)用函數(shù)調(diào)用函數(shù)返回值*形參實(shí)參第13頁(yè)/共28頁(yè)第14頁(yè)/共28頁(yè)#include int dif(int x,int y,int z); int max(int x,int y,int z); int min(int x,int y,int z);void main() int a,b,c,d; scanf(%d%d%d,&a,&b,&c); d=dif(a,b,c); printf(Max-Min=%dn,d); int dif(int x,int y,int z) retu
8、rn max(x,y,z)-min(x,y,z); int max(int x,int y,int z) int r; r=xy?x:y; return(rz?r:z); int min(int x,int y,int z) int r; r=xy?x:y; return(rz?r:z); main( )調(diào)用函數(shù)調(diào)用函數(shù)dif輸出輸出結(jié)束結(jié)束dif函數(shù)函數(shù)max函數(shù)函數(shù)調(diào)用函數(shù)調(diào)用函數(shù)max調(diào)用函數(shù)調(diào)用函數(shù)minmin函數(shù)函數(shù)第15頁(yè)/共28頁(yè)定義:函數(shù)直接或間接的調(diào)用自身叫函數(shù)的遞歸調(diào)用定義:函數(shù)直接或間接的調(diào)用自身叫函數(shù)的遞歸調(diào)用f( )調(diào)調(diào)f調(diào)調(diào)f2調(diào)調(diào)f1f1( )f2( )說(shuō)明說(shuō)明C
9、編譯系統(tǒng)對(duì)遞歸函數(shù)的自調(diào)用次數(shù)沒(méi)有限制編譯系統(tǒng)對(duì)遞歸函數(shù)的自調(diào)用次數(shù)沒(méi)有限制每調(diào)用函數(shù)一次,在內(nèi)存堆棧區(qū)分配空間,用于存放函數(shù)變量、每調(diào)用函數(shù)一次,在內(nèi)存堆棧區(qū)分配空間,用于存放函數(shù)變量、返回值等信息,所以遞歸次數(shù)過(guò)多,可能引起堆棧溢出返回值等信息,所以遞歸次數(shù)過(guò)多,可能引起堆棧溢出int f(int x) int y,z; z=f(y); . return(2*z);int f1(int x) int y,z; z=f2(y); . return(2*z);int f2(int t) int a,c; c=f1(a); . return(3+c);第16頁(yè)/共28頁(yè)第17頁(yè)/共28頁(yè)第18頁(yè)
10、/共28頁(yè)) 1()!1() 1 , 0(1!nnnnn第19頁(yè)/共28頁(yè)第20頁(yè)/共28頁(yè)u地址傳遞:實(shí)參、形參數(shù)組名是地址傳遞:實(shí)參、形參數(shù)組名是地址變量地址變量u在主調(diào)函數(shù)與被調(diào)函數(shù)分別定義數(shù)組在主調(diào)函數(shù)與被調(diào)函數(shù)分別定義數(shù)組,且類型應(yīng)一致且類型應(yīng)一致u形參數(shù)組大小形參數(shù)組大小(多維數(shù)組第一維多維數(shù)組第一維)可不指定可不指定第21頁(yè)/共28頁(yè) #include float average(int stu10, int n); void main() int score10, i; float av; printf(Input 10 scores:n); for( i=0; i10; i+
11、 ) scanf(%d, &scorei); av=average(score,10); printf(Average is:%.2f, av); float average(int stu10, int n) int i; float av,total=0; for( i=0; in; i+ ) total += stui; av = total/n; return av; 實(shí)參用數(shù)組名實(shí)參用數(shù)組名.2109score562312.88stu第22頁(yè)/共28頁(yè)12a調(diào)用前調(diào)用前12ax調(diào)用調(diào)用21ax交換交換21a返回返回#include void swap2(int x) int z; z=x0; x0=x1; x1=z;main() int a2=1,2; swap2(a); printf(a0=%dna1=%dn,a0,a1);地址傳遞地址傳遞第23頁(yè)/共28頁(yè)void sort(int array,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(arrayjarrayk) k=j; if(k!=i) t=arrayi; arrayi=arrayk; arrayk=t; main() int a10,i; for(i=0;i10;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車營(yíng)運(yùn)權(quán)承包及管理服務(wù)合同
- 文化遺產(chǎn)插畫創(chuàng)作委托協(xié)議
- 老人皮膚護(hù)理課件
- 老人消防安全課件圖片
- 老人居家護(hù)理課件
- 美術(shù)白菜課件兒童
- 機(jī)關(guān)安全生產(chǎn)
- 安全生產(chǎn)工作督導(dǎo)檢查簡(jiǎn)報(bào)
- 消防安全檢查通訊
- 因私出國(guó)自查情況匯報(bào)
- 紅星照耀中國(guó)1-6章練習(xí)匯編(含答案)
- 涉密表格臺(tái)賬
- 桶裝水領(lǐng)用表
- 營(yíng)運(yùn)客車等級(jí)劃分及評(píng)定重點(diǎn)標(biāo)準(zhǔn)
- 小學(xué)五年級(jí)英語(yǔ)學(xué)情分析
- 精品解析寧夏石嘴山市大武口區(qū)20212021學(xué)年下學(xué)期三年級(jí)期末科學(xué)試題
- 最新交管b2學(xué)法減分題庫(kù)及答案
- 藍(lán)海華騰變頻器說(shuō)明書
- 漿砌塊石工程施工程序、施工方法
- 預(yù)焊接工藝規(guī)程pWPS
- 鄭州橡膠助劑項(xiàng)目實(shí)施方案(參考范文)
評(píng)論
0/150
提交評(píng)論