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

函数与巨集.ppt

  1. 1、本文档共62页,可阅读全部内容。
  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 C語言的標準函式庫 6-1 由上而下的設計方法-基礎1 模組化主要是針對解決問題的方法,把一件大型的工作切割成無數的小工作,切割的工作屬於一種結構化分析的範疇,我們最常使用的是「由上而下的設計方法」(Top-down Design),其主要是使用程序為單位來切割工作,也就是所謂的「程序式程式設計」(Procedural Design)。 6-1 由上而下的設計方法-基礎2 由上而下的設計方法是在面對問題時,先考慮將整個解決問題的方法分解成數個大「模組」(Modules),然後針對每一個大模組,一一分割成數個小模組,如此一直細分,最後等這些細分小問題的小模組完成後,再將它們組合起來,如此一層層的向上爬,完成整個軟體系統或應用程式的設計。 6-1 由上而下的設計方法-注意事項 獨立性:每一個分割模組間的關聯性愈少,處理起來就會愈快。所謂獨立性,是指當處理某一個子問題時,無需考慮到其它子問題。換一句話說,獨立性是要將每一個問題都定義成一件簡單且明確的問題。 結合問題:小心的控制子問題間的結合方法,而且要注意結合這些子問題的邏輯順序,避免語焉不詳的結果。 子問題間的溝通:雖然獨立性可以減少各問題間的關聯性,但是並無法避免掉全部的溝通。 6-1 由上而下的設計方法-實例 例如:目前有一個工作是繪出房屋的圖形,如下圖所示: 6-1 由上而下的設計方法-第一步 從房屋繪圖工作可以粗分為三個小工作,如下所示: 繪出屋頂和外框。 繪出窗戶。 繪出門。 6-1 由上而下的設計方法-第二步 接著將第一個小工作【繪出屋頂和外框】(Draw Outline)再次進行分割成二個小工作,如下所示: 繪出屋頂。 繪出房屋的外框。 6-1 由上而下的設計方法-繼續步驟 只需重複上述分析,持續一步一步的向下分割工作,例如:因為窗戶共有2個,所以【繪出窗戶】可以分為【繪出窗戶1】和【繪出窗戶2】,而【繪出門】可以分為【繪出門框】和【繪出門把】。 最後,在將問題分割成一個個小問題後,每一個小問題就是一個C語言的函數,只需完成這些函數即可解決整個繪出房屋的問題。 6-2 建立函數 6-2-1 函數是一個黑盒子 6-2-2 建立C語言的函數 6-2-3 函數的原型宣告 6-2-4 函數的參數 6-2-5 函數的傳回值 6-2 建立函數 C語言的模組單位是「函數」(Functions),函數是一個獨立的程式單元,使用函數可以將大工作分割成一個個小型的工作,也可以重複使用以前已經建立的函數或直接呼叫C語言標準函式庫的函數。 6-2-1 函數是一個黑盒子-說明 在C語言的程式敘述執行函數稱為「函數呼叫」(Functions Call),事實上,程式設計者並不需要了解函數內部實際的程式碼,也不想知道其細節,函數如同一個「黑盒子」(Black Box),只要告訴程式設計者如何使用這個黑盒子的「使用介面」(Interface)即可。 6-2-1 函數是一個黑盒子-圖例 圖例可以看出呼叫函數只需知道需要傳入的參數,然後從函數取得什麼傳回值,這就是函數和外部溝通的使用介面,實際函數內容的程式碼是隱藏在使用介面後,函數實際內容的程式碼撰寫稱為「實作」(Implementations)。 6-2-1 函數是一個黑盒子-規則 函數的使用介面需要直接、良好定義和容易了解。 在使用函數時,並不需要知道任何有關內部實作的問題,唯一需要知道的是如何使用它的使用介面。 在實作程序時,並不用考量或知道到底是誰需要使用此函數,只需滿足使用介面定義的輸入參數和傳回值即可。 6-2-1 函數是一個黑盒子-語法與語意 函數的「語法」(Syntactic)是說明函數需要傳入何種資料型態的「參數」(Parameters)和傳回值。 「語意」(Semantic)是指出函數可以作什麼事? 撰寫函數時,需要了解函數的語法規則,而呼叫函數時需要了解其語意規則,如此才可以正確的呼叫函數。 6-2-2 建立C語言的函數-語法 C語言的函數是由函數名稱和程式區塊所組成,其語法格式如下所示: 傳回值型態 函數名稱( 參數列 ) { 程式敘述; …… return 傳回值; } 傳回值型態是函數傳回值的資料型態,函數名稱如同變數命名方式由設計者自行命名,函數使用return關鍵字傳回函數值。 6-2-2 建立C語言的函數-範例 一個沒有參數列和傳回值的函數,如下所示: void writeString() { printf(歡迎使用C/C++!\n); } 在括號內定義傳入的參數列,不過這個函數並沒有任何參數,所以空

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档