TP8函數(shù)與指針數(shù)組的關(guān)系.ppt_第1頁
TP8函數(shù)與指針數(shù)組的關(guān)系.ppt_第2頁
TP8函數(shù)與指針數(shù)組的關(guān)系.ppt_第3頁
TP8函數(shù)與指針數(shù)組的關(guān)系.ppt_第4頁
TP8函數(shù)與指針數(shù)組的關(guān)系.ppt_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章,函數(shù)與指針、數(shù)組關(guān)系,回顧-1,函數(shù)是程序中的一個相對獨立的單元或模塊 使用函數(shù)帶來的好處: 程序更清晰、易維護、分模塊方便設(shè)計與開發(fā)、提高代碼的重用性 語言提供了極為豐富的內(nèi)置函數(shù),要使用這些內(nèi)置函數(shù),需要在程序前包含相應的頭文件 自定義函數(shù)是用戶在程序中根據(jù)需要而編寫的函數(shù),回顧-2,函數(shù)的結(jié)構(gòu)包括:返回值類型、函數(shù)名、參數(shù)列表、函數(shù)體 函數(shù)原型說明以便向編譯器指出該函數(shù)使用什么樣的格式和語法 函數(shù)調(diào)用時程序控制流將轉(zhuǎn)向被調(diào)函數(shù),被調(diào)函數(shù)執(zhí)行結(jié)束時,控制流返回主調(diào)函數(shù) return 語句用于向調(diào)用函數(shù)返回值,目標,理解兩種參數(shù)傳遞的方式:傳值、引用 熟悉帶參函數(shù)的調(diào)用 熟悉指針與函

2、數(shù)的關(guān)系 熟練使用數(shù)組作為函數(shù)參數(shù),函數(shù)形參和實參1-1,void main ( ) . . . . . . display ( 10, 20.5 ); display ( int num, float fraction ) . . . . . . ,實際參數(shù),函數(shù)調(diào)用,形式參數(shù),void main() int a = 0; /初始化a值為0 func(a); /調(diào)用函數(shù)func printf(%d,a); /輸出a的結(jié)果 /定義函數(shù)func void func(int a) a = 10; /讓參數(shù)a等于10 ,傳值調(diào)用,0,傳值調(diào)用,將會輸出什么,#include void increme

3、nt(int,int); void main() int num1,num2; printf(n 請輸入兩個數(shù): ); scanf( %d %d, ,傳值調(diào)用示例,請輸入兩個數(shù) :,34 56,遞增前的值是 34 和 56,_,遞增后的值是 34 和 56,34,56,子函數(shù)中的值是 35 和 57,35,34,56,57,void main() int a = 0; /初始化a值為0 func( /讓參數(shù)a等于10 ,引用調(diào)用(傳址)2-1,FFE0,引用調(diào)用,a=FFE0,將會輸出什么,#include void increment(int*, int*); void main() int

4、 num1,num2; printf(n 請輸入兩個數(shù): ); scanf( %d %d, ,引用調(diào)用示例,請輸入兩個數(shù) :,45 67,遞增前的值是 45 和 67,_,遞增后的值是 46 和 68,45,67,子函數(shù)中的值是 46 和 68,46,FF23,FF05,68,FF23,FF05,數(shù)組作為函數(shù)參數(shù)3-2,在用數(shù)組作實參時,以傳址方式調(diào)用函數(shù),也就是說把實參數(shù)組的首地址賦給形參 實際上形參數(shù)組和實參數(shù)組為同一數(shù)組,共同擁有一段內(nèi)存空間,數(shù)組作為參數(shù)示例1,問題描述: 通過函數(shù)實現(xiàn)5個學員成績的排序。,#include #define N 5 void sort(float); v

5、oid main() float gradeN; int i; printf(n 輸入 %d 個學員的成績:n,N); for(i=0;iN;i+) scanf(%f, ,void sort(float aN) int i,j; float temp; for(i=0;i aj+1) temp = aj+1; aj+1 = aj; aj = temp; ,傳遞數(shù)組時不使用 “ void main() int arr15; int i, larg_num; printf(n 請輸入 5 個不同的值,存儲在一個數(shù)組中 n); for (i = 0; i = 4; i+) scanf(%d, ,數(shù)組

6、作為參數(shù)示例,int find_larg(int *ptr) int high = *ptr,i; ptr+; for (i = 1; i =4; i+) if (high *ptr) high = *ptr; ptr+; return high; ,函數(shù)實參是一維數(shù)組元素3-3 課本例9,二維數(shù)組與函數(shù)4-1,#define X 6 #define Y 6 Main() double aXY; fun(a); / 實參為二維數(shù)組名 課本 例12,指針數(shù)組做實參4-2,main() double sMN,*psM; for(i=0;iM;I+) psi=si; fun(ps); fun(double *a) 課本 例13,總結(jié),采用傳值調(diào)用方式時,在被調(diào)用函數(shù)中改變形參的值,只

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論