- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
return(運算式)
Function (函數) Function (函數) Function 即是副程式(sub-program,或 subroutine) 為何要使用 function ? 避免重複寫相同的程式碼, 節省coding 時間 可重複使用該程式碼 增加程式的可讀性與可維護性, 降低主程式之複雜性 開發較大應用程式時, 可分割成數個不同功能的function, 由不同的程式設計師分工完成 符合結構化語言之特性 尚有一些程式語言, 將副程式分為兩類 : 副程式 : 處理指定功能之程序過程 函數式 : 負責計值運算並傳回結果 Function語法規則 語法規則 : function_type function_name (parameter, parameter…) { parameters declarations; statements; } 例: char func(p1, p2) { int p1; char p2; statements; } 函數與主程式間之架構 合法之架構 錯誤之架構 範例一 比較使用者所輸入兩整數之大小 void larger_value(a,b) int a, b; { if(a b) printf(\2: The larger value is %d \n, b); else if(a b) printf(\2: The larger value is %d \n, a); else printf(\2: Two values are equal. \n); } void main() { int i, j; printf(\1: Please input 2 values. \n == ); scanf(%d %d, i, j); larger_value(i,j); } Function注意事項 函數名稱依照識別字的規則命名. 每個函數各自獨立, 可相互呼叫. 所有函數語法地位一律平等. 參數列式呼叫函數時需要與主程式間作資料或位置的傳遞, 若無資料需要傳遞時, 則可省略參數列, 但不可省略小括號. 若函數須傳回數值時, 則敘述中必有一條傳回敘述, 語法規則為 : return (運算式) return 為關鍵字 運算式可為常數, 變數或算數運算式 return 除了可把函數內的值傳回呼叫程式外, 同時具有令函數結束, 返回呼叫程式之功能. 範例二 輸入一數值 n, 求出 1 至 n 的連乘 (示範函數傳回數值給呼叫程式) void main() { long fact(void); long f; f = fact(); printf(The factorial = %ld \n, f); } long fact(void) { int i,n; long f=1; printf(Enter one value : ); scanf(%d, n); for( i=1; i= n; i++) f *= i; return(f); } 範例三 輸入一數值 n, 求出 1 至 n 的連乘(示範由呼叫程式傳遞一數值給函數, 函數計算後將結果傳回給呼叫程式) void main() { int n; long f; long fact(int); printf(Enter one value : ); scanf(%d, n); f = fact(n); printf(The factorial of %d = % ld \n, n, f); } long fact( int n) { int i; long f = 1; for (i =1; i = n; i++) f *= i; return (f); } 範例四 – (共2頁) 計算輸入之三個整數的 gcd 與 lcm. void main() { int gcd(int, int); int lcm(int, int); int a, b, c; printf(Enter three integer values : ); scanf(%d %d %d, a, b, c); printf(The gcd of %d %d %d is %d \n, a, b, c, gcd(gcd(a,b), c)); printf(The lcm of %d %d %d is %d \n, a, b, c, lcm
您可能关注的文档
最近下载
- 教育、科技、人才一体化与新质生产力发展.pptx VIP
- 2024年湖南水利水电职业技术学院单招职业技能测试题库含答案(研优卷).docx VIP
- 教育、科技、人才一体化视域下发展新质生产力的四重逻辑和实践路径.docx VIP
- 教育、科技、人才一体化视域下发展新质生产力的四重逻辑和实践路径.docx VIP
- 《大棚番茄基质槽式栽培技术规程》.docx
- 立体车库 毕业论文外文翻译.docx VIP
- 教育、科技、人才一体推进新质生产力发展.docx VIP
- 2024年湖南水利水电职业技术学院单招职业技能测试题库含答案(考试直接用).docx VIP
- 社交礼仪教程(第7版 微课版)课件 第五章 餐饮礼仪.pptx
- 2025清华:DeepSeek从入门到精通.pdf
文档评论(0)