- 4
- 0
- 约2.94千字
- 约 18页
- 2018-07-08 发布于福建
- 举报
函數傳回值函數傳回值
程式設計II 函式 為何需要函式 一般說來, 程式執行的起點, 就可以叫做主程式. C語言的程式起點是在main函式中, 所以, main是程式的入口.函式並不會自動執行, 只有在被呼叫時,函式才會被執行. 事實上使用函式的目的是將程式是當地做分割,避免過長的程式而造成維護上及製作上的困難。 函式的設計 無傳回值的函式設計 有傳回值的函式設計 #include stdio.h void hello(void) { printf(Hello\n); } void main(void) { printf(Im going to call hello()\n); hello() printf(Ive called hello()\n); } 參數的設計與引數的傳遞 參數(argument):函式所取得的資料,sum(5,8); 引數(Parameter):引入相對應於參數的值, float sum(int a,int b); Call by value 傳值法 Call by address 傳址法 遞迴函式呼叫 函式本身在呼叫自己。一般稱為Recursive。 是一種用來重複執行的技巧,類似於for迴圈,但for迴圈是一種iterative重複的技巧。 變數的生命週期與有效範圍 變數的生命週期是指時間,是指程式執行時變數的存在的期限。 變數的有效範圍是指空間,是指程式執行時變數的存在的空間範圍。區分為全域變數及區域變數。 函數的概念 函數的優點 分工合作 較好的可讀性 便於修改、除錯 提高撰寫程式的效率 可以無限次使用(呼叫) 函數可分成兩種型態 系統提供的標準函數 (e.g. toupper, rand, abs) 使用者設計的函數 (e.g. drawline, min, max) 函數的基本形式 函數定義的語法 傳回值型態 函數名稱(參數傳遞) 參數傳遞型態 { 函數主體 } 函數的範例 函數呼叫的語法 語法 函數名稱(參數); 說明 函數如果不需要呼叫參數,則括號內的參數可以省略。 若參數包含一個以上時,需以逗號隔開。 呼叫與被呼叫的函數其參數是相對應的,且型態要一致。 函數的傳回值 函數的傳回值,有以下幾種情況: 函數沒有傳回值 ,傳回值型態為void 函數傳回值為整數(int)時 ,可以省略 函數有傳回值時 ,可以在傳回值上做運算 函數的傳回值型態應該和return中的型態要一樣 使用return可以立即結束函數的執行 遞迴函數 Recursion 遞迴函數是指在程式中直接或間接呼叫該程式本身。 程式中使用遞迴函數,將可處理須重覆運算的問題。 費氏數列 Fibonacci Sequence 費氏數列的規則如下所示: 費氏數列的數學表示式: 0 if n= 0 Fib(n)= 1 if n= 1 fib(n – 1) + fib(n – 2) if n=2 遞迴函數求費氏數列 階乘函數 factorial 定義如下: 1 if n = 0 n * fact(n–1) if n = 1 說明: 階乘函數範例利用遞迴函數求n階乘 程式執行結果 常用的數學函數 在程式中使用下列數學函數時,需在開頭加上#includemath.h * * 1 #includestdio.h 2 int ab(int x,int y){ 3 int z; 4 z=a*a-b*b; 5 return z; 6 { 7 main(){ 8 int a=3, b=2, c; 9 c = ab(a,b); // 呼叫函數 10 printf(%i2?%i2 = %i\n, a,b,c); 11 } … 8 5 3 2 1 1 0 fib(n) … 6 5 4 3 2 1 0 n 1 #includestdio.h 2 int fib (int n){ 4 if(n==0) return(0); 5 else if(n==1) return(1); 6 else return (fib(n–1)+fib(n–2))
您可能关注的文档
- 公共决策微观基础服务型政府经济学分析.doc
- 公公务员行测具有挑战性图形推理分析.doc
- 全屋净水器安装.ppt
- 公公司经营和发展.ppt
- 公共卫生工作者职业适应与职业发展.ppt
- 公共广播过去和现在.doc
- 公共空间移动用信息支援工具设计概要.doc
- 公共服务均等化与人全面发展.doc
- 公共财政制度安排关系均衡及其完善措施.doc
- 八年级生物 遗传物质基础课件.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 北师大版四年级数学下册全册课时练习.pdf VIP
- 南京邮电大学C语言期末试卷及答案.pdf VIP
- 康复治疗技术操作规范.docx VIP
- 2025年急危重症患者CT检查护理管理专家共识解读PPT课件.pptx VIP
- 南京邮电大学《C语言程序设计》2024-2025学年第一学期期末试卷及答案.docx VIP
- 施耐德ATV御程系列ATV630 ATV650编程手册中文.pdf
- 新译林版高中英语选择性必修二 unit 4词汇默写本.docx VIP
- 新译林版高中英语选择性必修二 unit 3词汇默写本.docx VIP
- 新译林版高中英语选择性必修二 unit 2词汇默写本.docx VIP
- 2026年太原城市职业技术学院单招职业适应性测试题库附答案.docx VIP
原创力文档

文档评论(0)