函数与副程式-2.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE  PAGE 11 函數與副程式 函數的基本概念 C語言的函數(function)其實就是副程式。當程式某部分的敘述總是重複出現時,應考慮使用函數,以減少重複。一般而言,函數有下列幾種用途: 避免相同程式段的重複出現。 開發較大程式時,可以分工處理,到最後才將函數連結在一起。 增加程式的可讀性,減少維護成本。 程式之結構化。 函數定義與叫用 格式如下: 不傳回值 void main(void) { … 不傳參數 func( ); 回到主程式 … } 函數傳回值型態 int func( ) { … return(x); } 範例: #include stdio.h void main( ) { void test(void); //函數宣告 text( ); //呼叫函數 } void test(void) //函數定義 { printf(“This is a test!\n”); } 函數基本型式 函數定義 函數定義,即函數的建立,可分為開部分及主體部分。開頭部分包括函數名稱與參數宣告部分。至於主體部分則由左大括號”{“及右大括號”}”構成,基本格式與主程式一樣。 傳回值型態 函數名稱(型態一 參數一, …, 型態n 參數n) { 函數主體 } 例: 函數名 參數 int func(int a, int b) { … return(c); 傳回值 } 函數宣告 函數宣告有別於函數本身(定義);如同變數之宣告,函數亦須經過宣告,包括函數名及資料型態。如果函數定義出現在呼叫它的主程式之前,便可直接使用而不用宣告。 例: void main( ) { int func(int a1, char a2); //函數宣告 … func(a1, a2); //呼叫函數 } int func(int b1, char b2) //函數定義 { … } 或 int func(int b1, char b2) { … } void main( ) { … func(a1, a2); //可直接呼叫函數,不需宣告 } 函數的呼叫 函數的呼叫形式大致可分成四種: 不傳參數、不傳回值。例:void func(void) 不傳參數、有傳回值。例:int func(void) 傳參數、不傳回值。例:void func(int a) 傳參數、有傳回值。例:int func(int a) 分別舉例如後。 不傳參數、不傳回值 #include stdio.h void main( ) { void abc(void); // 函數abc之宣告 printf(main program start.\n); abc( ); // 呼叫abc printf(main program end.\n); } void abc(void) // 函數abc定義 { printf(ABC\n); // 函數主體 } 執行結果: main program start. ABC main program end. 不傳參數、有傳回值 一個函數若具有傳回,則可利用return指令將結果傳回主函數,return的作用在於結束函數並返回原呼叫函數。一旦執行到 return,該函數便會立即結束並返回。 return的用法為: return 傳回值; 或 return(傳回值); 範例: #include stdio.h void main( ) { int func(void); int a; a = func( ); // 呼叫函數func,其傳回值存至變數a printf(a=%d\n, a); // 印出變數a的值 } int func(void) { return 5; // 結束函數,並傳回值 5 } 執行結果: a=5 傳參數、不傳回值 範例:設計一個兩數相乘的函數 #include stdio.h void func(int, int); void main( ) { int i=2; j=4; func(i, j); } void func(int a, int b) { printf(i*j=%d\n, a*b); } 執行結果: i*j=8; 解說: 程式第二行:void func(int, int); 為宣告不傳回值,但傳兩個int型態的參數進入函數,該行也可標上參數名,如:void func(int a, int b)或void func(int c, int d),其中參數名亦可與函數定義的參數名不同,因為此行主要目的在宣告型態。

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档