《C語言程序設(shè)計案例教程》課件第8章 8.3 函數(shù)的調(diào)用_第1頁
《C語言程序設(shè)計案例教程》課件第8章 8.3 函數(shù)的調(diào)用_第2頁
《C語言程序設(shè)計案例教程》課件第8章 8.3 函數(shù)的調(diào)用_第3頁
《C語言程序設(shè)計案例教程》課件第8章 8.3 函數(shù)的調(diào)用_第4頁
《C語言程序設(shè)計案例教程》課件第8章 8.3 函數(shù)的調(diào)用_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

函數(shù)的調(diào)用LOGO第8章函數(shù)CONTENTS

目錄提出問題引入新課自主學(xué)習(xí)明確考點案例分析明確新知仿真演練體驗探索課后作業(yè)自我提升思考1、C語言函數(shù)的調(diào)用過程?C語言自定義函數(shù)的調(diào)用方式?函數(shù)的嵌套調(diào)用是指在調(diào)用一個函數(shù)的過程中,又調(diào)用另一個函數(shù),甚至進行多層的調(diào)用嵌套。定義:原則:從主函數(shù)main()開始,逐層往下調(diào)用,逐層往上返回,最終回到main()函數(shù)中結(jié)束。考點一:函數(shù)的嵌套調(diào)用考點二:函數(shù)參數(shù)的傳遞方式:charfun(charx,chary){if(x<y)returnx;returny;}main(){inta='9',b='8',c='7';printf("%c\n",fun(fun(a,b),fun(b,c)));}一個函數(shù)在它的函數(shù)體內(nèi)直接或間接地調(diào)用它自身稱為遞歸調(diào)用。定義:調(diào)用過程:考點二:函數(shù)遞歸調(diào)用以下程序運行后的輸出結(jié)果是()。intf(inta[],intn){if(n>=1)returnf(a,n-1)+a[n-1];elsereturn0;}main(){intaa[5]={1,2,3,4,5},s;s=f(aa,5);printf("%d\n",s);}f(a,4)+a[4]f(a,3)+a[3]f(a,2)+a[2]f(a,1)+a[1]f(a,0)+a[0]10遞歸回溯三、案例分析交流提升voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf(“%d,”,aa[i]);printf(“\n”);}

A)5,4,3,2,1,B)5,2,3,4,1,C)1,2,3,4,5,D)1,2,3,4,5,三、案例分析交流提升intf(inta[],intn){if(n>1)returna[0]+f(&a[1],n-1);elsereturna[0];}main(){intaa[3]={1,2,3},s;s=f(&aa[0],3);printf(“%d\n”,s);}程序執(zhí)行后的運行結(jié)果是:?完成本節(jié)課后指定的練習(xí)題。四、仿真演練,體驗探索123451、下面程序的運行結(jié)果是()longfun(intn){if(n>2)return(fun(n-1)+fun(n-2));elsereturn(2);}main(){printf("%ld\n",fun(3));}

2、分析下面的程序,執(zhí)行后結(jié)果是()voidfun(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;i++;j--;fun(a,i,j);}}main(){intx[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++)printf("%2d",x[i]);printf("\n");}A)1268B)8621C)8162D)86123、有以下程序運行后的輸出結(jié)果是()#include<stdio.h>voidfun(intn,chara,charb,charc){if(n>0){fun(n-1,a,c,b);printf("%c-%c\n",a,b);fun(n-1,c,b,a);}}main(){fun(3,'1','2','3');}4、分析下面的程序,執(zhí)行后結(jié)果是()#include<stdio.h>intfun(inta,intb){if(a%b==0)returnb;elsereturnfun(b,a%b);}main(){inta=20,b=24;printf("fun(%d,%d)=%d",a,b,fun(a,b));}5、有以下程序運行后的輸出結(jié)果是()fun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(6);}6、描述函數(shù)的功能,并寫出程

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論