數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域

數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域

ID:14605524

大?。?92.00 KB

頁數(shù):12頁

時間:2018-07-29

數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域_第1頁
數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域_第2頁
數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域_第3頁
數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域_第4頁
數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域_第5頁
資源描述:

《數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套與遞歸調用、變量作用域》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、《C語言程序設計》教案19-數(shù)組作函數(shù)參數(shù)、函數(shù)嵌套調用、變量作用域教師姓名韓曉翠授課班級授課形式邊講邊練授課日期年月日第周授課時數(shù)授課章節(jié)第7章用函數(shù)實現(xiàn)模塊化程序設計7.5函數(shù)嵌套調用7.6函數(shù)遞歸調用7.7數(shù)組名作函數(shù)參數(shù)7.8-7.11變量作用域教學目的熟練掌握數(shù)組元素作函數(shù)參數(shù)熟練掌握數(shù)組名作函數(shù)參數(shù)掌握函數(shù)的嵌套調用熟悉變量的作用域教學重點數(shù)組元素作函數(shù)參數(shù)數(shù)組名作函數(shù)參數(shù)教學難點數(shù)組名作函數(shù)參數(shù)變量的作用域教學內容授課要點數(shù)組元素作函數(shù)參數(shù)數(shù)組名作函數(shù)參數(shù)函數(shù)的嵌套調用變量的存儲類別和作用域一、數(shù)組元素作函數(shù)參數(shù)數(shù)組元素

2、作函數(shù)參數(shù)和普通變量作函數(shù)參數(shù)效果和用法一樣問題1:調用函數(shù)輸出數(shù)組元素的值。問題1解決:#includevoidmyfun(intx,inty,intz);main(){inta[3]={1,2,3};myfun(a[0],a[1],a[2]);}voidmyfun(intx,inty,intz){printf("%d,%d,%d",x,y,z);}運行結果:1,2,3注:數(shù)組元素作函數(shù)參數(shù)實現(xiàn)的是“值傳遞”。如:#includevoidswap1(intx,inty){intz;z=x;x=

3、y;y=z;}main(){inta[2]={1,2};swap1(a[0],a[1]);printf("a[0]=%da[1]=%d",a[0],a[1]);}12a調用前FFAAFFAE12x調用時yFF01FAAC21x交換yFF01FAAC12a返回FFAAFFAE二、數(shù)組名作函數(shù)參數(shù)數(shù)組名作函數(shù)參數(shù)——地址傳遞C語言規(guī)定,不帶任何下標的數(shù)組名代表數(shù)組的首地址,即第一個元素的地址例如,有定義語句intnum[10];那么,數(shù)組名num和&num[0]的意義是相同的。采用數(shù)組名作為函數(shù)參數(shù)就是將數(shù)組的首地址作為函數(shù)參數(shù)傳

4、遞給被調用的函數(shù)。例如,以下程序段是把數(shù)組num的地址傳給函數(shù)sort():main(){intnum[10];/*……*/sort(num);/*……*/}接收數(shù)組num的函數(shù)既可以定義為:voidsort(intarr[10]){/*……*/}也可以定義為:voidsort(intarr[]){/*……*/}即使定義為:voidsort(intarr[20]){/*……*/}程序編譯時也不會報錯。因為C編譯程序產(chǎn)生的代碼是令函數(shù)sort()接收數(shù)組num的首地址,并不生成具有20個元素的數(shù)組arr,也不進行下標邊界檢查。為了避免發(fā)

5、生錯誤,向函數(shù)傳遞數(shù)組時,最好同時再用一個參數(shù)傳遞數(shù)組的長度。例如,對于上面的例子可以寫程序:main(){intnum[10];/*……*/sort(num,10);/*……*/}voidsort(intarr[],intn){/*……*/}問題2:實現(xiàn)兩個整型變量的值的互換。(假設兩個整型變量是一個長度為2的整型數(shù)組的元素)問題2解決---自定義函數(shù)#includevoidswap2(intx[2])//形參用數(shù)組定義,等價于intx[]{intz;z=x[0];x[0]=x[1];x[1]=z;}main(){

6、inta[2]={1,2};swap2(a,2);printf("a[0]=%da[1]=%d",a[0],a[1]);}12a調用前12ax調用21ax交換21a返回問題3:定義一個函數(shù),求全班學生的某門課程總分,并將總分返回到主函數(shù)中輸出。問題3解決---自定義函數(shù)求總分#includefloatsum(floatstu[],intn);voidmain(){floatscore[10];inti;floattotal;printf("Input10scores:");for(i=0;i<10;i++

7、)scanf("%f",&score[i]);total=sum(score,10);//實參用數(shù)組名printf("sumis:%f",total);}floatsum(floatstu[],intn)//形參用數(shù)組定義{inti;floattotal=0;for(i=0;i

8、組中,定義函數(shù)求最大元素和該數(shù)是第幾個數(shù)。2、在主函數(shù)輸入8個整數(shù)保存到數(shù)組中,自定義函數(shù)對數(shù)組元素排序,并在主函數(shù)中將排序后的數(shù)組輸出。參考程序:1.P193例7.92.P196例7.12討論并總結1.數(shù)組元素作函數(shù)參

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。