网站大量收购闲置独家精品文档,联系QQ:2885784924

函式精品本章提要.ppt

  1. 1、本文档共130页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 6 章 函式 本章提要 6-1 認識函式 6-2 傳遞參數 6-3 函式傳回值 6-4 行內函式 6-5 巨集 6-6 C++ 標準函式庫 6-7 函式多載 (Overloading) 6-8 綜合演練 6-1 認識函式 隨著程式越寫越大, main() 函式的內容也越來越複雜, 當我們在寫較長的程式時, 可能會發現程式中有許多段功能相同的敘述會重複出現, 而且由於程式的需求, 這些程式碼無法被省略, 只好重複一寫再寫。本章所要介紹的函式, 讓我們能以更簡便的方式, 取代會重複用到的一段程式碼, 提昇寫作程式的效率, 也讓程式的功能模組化。 使用函式的好處 所謂函式 (function) 就是一組敘述的集合, 並且以一個函式名稱來代表此敘述集合。如果這一組敘述代表一項經常用到的功能, 我們每次要用到這組敘述時, 只要寫下函式的名稱, 就是告訴編譯器我們要執行這項功能。 舉例來說, 如果程式前前後後要計算階乘多次, 且不是連續計算, 因此不適合用迴圈, 這時就變成要讓計算階乘的敘述在 main() 函式中出現多次: 使用函式的好處 使用函式的好處 但如果我們將計算階乘的敘述獨立出來寫成一個函式, 以後程式中計算階乘時, 只要呼叫這個函式來進行計算即可, 不必每次都要重寫計算階乘的一整段迴圈敘述:(如下頁) 如此一來, 計算階乘的動作在 main() 函式中只需以一行簡單的敘述代替即可, 大幅省下撰寫重複程式的時間。如果函式的內容愈複雜, 也代表節省下來的時間更多。 使用函式的好處 使用函式的好處 簡單的說, 使用函式的好處包括: 將具有特定功能的敘述獨立成函式, 可提高程式的可讀性。 將程式模組化, 讓程式碼可重複使用, 提升寫程式的效率。 將程式分解成函式, 發生錯誤時, 可以很容易找出問題在哪一個函式, 提高除錯的效率。 函式的定義 函式和變數一樣, 在使用前必須先定義。定義函式就是定義函式的資料型別、呼叫 (call) 函式 (程式中使用函式的動作就稱為呼叫函式) 時所需的參數、以及函式所要執行的動作 (敘述): 函式的定義 型別:函式和變數一樣都有型別, 不過函式的型別並不是函式儲存的資料類型, 而是函式傳回值的資料類型。函式處理完工作後, 可以將處理的結果以傳回值的方式傳回給呼叫它的敘述, 讓程式可據以做進一步的處理。要將資料傳回, 需使用 return 敘述, 例如 “return 0;” 表示傳回 0, 若在 return 敘述後放變數或運算式, 就表示傳回變數值或運算式的結果。函式也可以沒有傳回值, 此時需將函式的型別宣告為 void。 函式名稱:函式的命名規則和變數相同, 且不可與變數名稱重複。 函式的定義 參數:參數就像數學公式中的變數一樣, 同一個公式以不同變數值代入計算, 即可得到不同的結果。參數就是函式的變數, 每次以不同的參數值呼叫函式, 即可得到不同的結果。當然我們也可設計沒有參數的函式。此處所列的參數名稱, 是在函式中用來代表參數的變數名稱, 呼叫函式時, 可使用變數、運算式、常數來呼叫。 函式本體:大括號的部份就稱為函式本體 (function body), 在大括號中可放入任何要執行的敘述。 函式本體 在函式本體中我們可放入希望該函式執行的任何動作, 在此先舉個簡單的例子:若程式每處理一段事情, 就要用嗶聲提醒使用者, 我們可將發出嗶聲的動作獨立成一個函式: 函式本體 1. 這個函式只是單純發出嗶聲, 所以不需有傳回值, 因此函式的型別為 void。 2. 函式沒有任何參數, 在函式名稱後的括號保持空白。 3. 函式本體只有一行敘述, 就是由 cout 輸出工作完成的訊息, 並以字元 \a 使電腦發出嗶聲。 將這個函式加到程式中, 我們就可在 main() 函式中每處理某件工作告一段落時, 呼叫 beep() 函式使電腦發出嗶聲, 呼叫的方式就是函式名稱();, 請見以下的範例。 函式本體 函式本體 函式本體 1. 第 4~7 行就是先定義自訂函式的內容, 以免稍後在 main() 函式中呼叫函式的敘述, 會讓編譯器發出找不到識別字的錯誤訊息。 2. 第13、17 行的 for 迴圈都緊跟著一個沒有任何運算式的空敘述 (也就是只有一個分號的敘述), 但 for 迴圈本身的條件運算式及控制運算式仍要執行, 所以這兩個迴圈等於讓電腦做了數千萬次的加法運算 (i++) 及比較運算 (i...), 我們用此方式來模擬程式正在執行某項工作。 函式本體 3. 第 15、19 行的敘述就是呼叫 beep() 函式。此時執行流程會先跳進 beep() 函式中, 待 beep() 函式的工作執行完畢, 才返回 main() 函式中的下一行敘述繼續執行。 函式本體 函式本體 程式每次執行完指定的工作後,

文档评论(0)

fangsheke66 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档