版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1,第4章 函數(shù),函數(shù)是C+程序的主要組成部分。 一個函數(shù)是一段具有獨立功能的程序段。 將一個程序劃分為若干個函數(shù),使程序具有模塊化特性,提高程序的效率和移植性。,2,函數(shù)必須先定義,后使用。定義形式: 函數(shù)值類型 函數(shù)名(參數(shù)列表) 函數(shù)體語句塊 例: 函數(shù)dec求兩個數(shù)的差值。有x和y兩個參數(shù),函數(shù)值是int int dec(int x,int y) return(x-y); 例: 函數(shù)out用于輸出兩個數(shù)的差值以及和值。函數(shù)無返回值, void out(int x,int y) /用void表示無返回值 coutx-y; coutx+y; ,函數(shù)定義,3,一個文件有多個函數(shù)時,一般將主函
2、數(shù)放在前面。放在后面的函數(shù)需要進行說明。 函數(shù)原型說明格式:函數(shù)值類型 函數(shù)名(參數(shù)列表); int dec(int x,int y); /函數(shù)說明語句 void out(int x,int y); /函數(shù)說明語句 void main( ) coutdec(5,3)endl; /調(diào)用函數(shù)dec out(5,3); /函數(shù)調(diào)用out int dec(int x,int y) return(x-y); void out(int x,int y) coutx-yendl; coutx+yendl; ,函數(shù)原型說明,4,使用函數(shù)的過程稱為函數(shù)調(diào)用 函數(shù)調(diào)用的方式:函數(shù)名(實參列表) 程序3.1 調(diào)用無
3、返回值函數(shù)舉例 void lprint(char a) ; /函數(shù)原型說明 void main() lprint(A); /調(diào)用無返回值的函數(shù) void lprint(char a) /定義無返回值的函數(shù) coutOutput= a; ,函數(shù)調(diào)用,5,int dec (int a, int b); /函數(shù)原型說明 void main() int li_num; li_num= dec(10,3); /函數(shù)調(diào)用 coutNumber=li_num; return 0; int dec(int a, int b) return a-b; /函數(shù)返回值,程序3.2 調(diào)用有返回值函數(shù)舉例,6,dec函
4、數(shù)的參數(shù)類型是int,調(diào)用dec函數(shù)時給了兩個實型數(shù),系統(tǒng)自動將實數(shù)轉(zhuǎn)成int數(shù)。 int dec(int a, int b); /函數(shù)原型說明 void main() int li_num; li_num= dec(10.0,3.0); /函數(shù)調(diào)用,給了兩個實型數(shù)。 coutNumber= li_num; int dec(int a, int b) return a-b; /函數(shù)返回值,程序3.3 參數(shù)自動轉(zhuǎn)換舉例,7,在調(diào)用一個函數(shù)中又調(diào)用另一個函數(shù),稱為嵌套調(diào)用。 程序3.5 函數(shù)嵌套調(diào)用。 void a1(void); void a2(void); void main( ) int a
5、; coutmain program begin n; a1(); coutmain program end n; void a1() coutfunction a1 begin n; a2(); void a2() coutfunction a2 begin n; 程序輸出結果: main program begin function a1 begin main program end,函數(shù)嵌套調(diào)用,8,函數(shù)返回有兩種情況: 一是無返回值返回,二是有返回值返回。 1.無返回值返回 用void說明 void mul(int a, int b) 2.有返回值返回 mul(int a, int b
6、) /有返回值,返回值類型默認為int類型 int mul(int a, int b) long mul(int a, int b) /有返回值,返回類型為long,函數(shù)返回與返回值,9,函數(shù)的返回值可以是一個指針。這種函數(shù)稱為指針型函數(shù)。 指針型函數(shù)的定義形式:類型 *函數(shù)名(形式參數(shù)列表) 指針型函數(shù)的原型說明形式:類型 *函數(shù)名(參數(shù)列表); 程序3.7 指針型函數(shù) char *match(); void main( ) char *p; p=match(); if (p) coutthe char of match() function is *pendl; else coutno!
7、n; char *match() char a=B; return /返回指針 程序輸出結果: the char of match() function is B,函數(shù)返回指針,10,函數(shù)的參數(shù)是可選項,即函數(shù)可以有參數(shù),也可以沒有參數(shù)。 函數(shù)參數(shù)的類型根據(jù)實際需要決定。 形參:定義函數(shù)時給出的參數(shù)稱為函數(shù)的形式參數(shù),簡稱形參。 實參:向函數(shù)傳遞的參數(shù)稱為實際參數(shù),簡稱實參。實參可以是常量、變量、數(shù)組元素等。 匹配:形參和實參要一一對應,包括數(shù)據(jù)類型、個數(shù)、次序 參數(shù)傳遞: C+采用三種方法向函數(shù)傳遞參數(shù):傳值、傳地址和傳引用,函數(shù)的參數(shù),11,函數(shù)的實參是數(shù)值數(shù)據(jù),函數(shù)的形參是變量 程序3.
8、8 向函數(shù)傳值。 void swap(int a, int b) int x; x=a; a=b; b=x; void main( ) int a=1,b=2; swap(a,b); coutmain program a=an; coutmain program b=an; 程序輸出結果: main program a=1 main program b=2,傳值,12,函數(shù)的形參是地址(指針)變量,函數(shù)的實參是地址值。 程序3.9 向函數(shù)傳地址舉例 void swap(int *a, int *b) /地址變量 int x; x=*a;*a=*b;*b=x; void main( ) int
9、a=1,b=2; swap( 程序輸出結果: main program a=2 main program b=1,傳地址,13,用引用作函數(shù)形參,用與引用對應的變量作實參,稱為傳引用調(diào)用函數(shù)。 程序3.11 傳引用調(diào)用函數(shù)舉例 void swap(int 程序輸出結果: function swap begin a=1, b=2 function swap end a=2, b=1 main program a=2, b=1,傳引用,14,程序3.14 數(shù)組名作函數(shù)實參舉例1 void a1(int num5) int i; for(i=0;i5;i+) coutnumi ; coutn; void main( ) int count5=1,2,3,4,5; a1(count); 程序輸出結果: 1 2 3 4 5,數(shù)組名作函數(shù)實參,15,程序3.16 函數(shù)main( )的參數(shù)舉例1 void main(int argc,char *argv ) int i; for (i=1;iargc,i+) cout argvin; 設程序的可執(zhí)行文件名為test.exe 在DOS操作系統(tǒng)下輸入命令test this is a t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)廠企業(yè)備案制度
- 排水安全生產(chǎn)管理制度
- 奶粉罐生產(chǎn)制度
- 注塑瓶坯生產(chǎn)管理制度
- 交割倉庫生產(chǎn)制度
- 生產(chǎn)車間批次管理制度
- 委托生產(chǎn)項目管理制度
- sm生產(chǎn)管理制度
- 大樓安全生產(chǎn)制度
- 安全生產(chǎn)違章處罰制度
- 商業(yè)廣場物管費測算表
- 申論范文寶典
- 【一例擴張型心肌病合并心力衰竭患者的個案護理】5400字【論文】
- 四川橋梁工程系梁專項施工方案
- 貴州省納雍縣水東鄉(xiāng)水東鉬鎳礦采礦權評估報告
- GB.T19418-2003鋼的弧焊接頭 缺陷質(zhì)量分級指南
- 污水管網(wǎng)監(jiān)理規(guī)劃
- 2023年杭州臨平環(huán)境科技有限公司招聘筆試題庫及答案解析
- 《看圖猜成語》課件
- LF爐機械設備安裝施工方案
- 企業(yè)三級安全生產(chǎn)標準化評定表(新版)
評論
0/150
提交評論