被呼叫的函式.PPT

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
被呼叫的函式

Chapter 5 – Functions 函式 5.1 Introduction Divide and conquer 一般有用的程式都比我們前面看過的範例長,研發和維護大程式最好的方法就是利用較小的元件來建構。 每個元件都比原來的大程式容易管理 平常計劃、管理最好也用這種方法。 5.2 C 程式中的程式模組 C 的程式由下列元件構成 C 標準程式庫裡的函式 (Function) 程式設計者自己設計的函式 標準程式庫裡面提供了豐富的函式 儘量熟悉、利用標準程式庫裡面的函式,可增快速度、增加可攜性。 函式可以被其他函式呼叫 (Function Call) 用函式呼叫的方式讓某個函式執行指定的工作 呼叫函式必須寫出函式名稱、並提供需要的引數(argument) 就像老闆對員工一樣: 老闆(呼叫別人的函式)要求員工(被呼叫的函式)執行某件工作、作完後要向老闆報告(傳回)結果 5.2 C 程式中的程式模組 函式定義 只需要寫一次,可以在許多地方被呼叫很多次。 函式裡面的敘述式對別的函式是隱藏的 就像老闆對員工一樣: 老闆不知道員工如何作好所交代的工作,只要知道該件工作被完成了。 5.3 數學函式庫的函式 數學程式庫的函式 可以讓程式設計者執行某些常見的數學計算 要使用數學程式庫的函式時,必須引入標頭檔 math.h 函式呼叫的方法: FunctionName( argument ); 範例: printf(%.2f, sqrt(900.0)); 呼叫 sqrt (平方根) 函式. 前面的敘述式會印出 30 sqrt 函式需要一個 double 的引數(argument)其傳回值的型態也是 double,所以數學程式庫的函式傳回值型態都是 double。 5.3 數學函式庫的函式 函式的引數可以是 常數 sqrt( 4 ); 變數 sqrt( x ); 運算式 sqrt( sqrt( x ) ) ; sqrt( 3 – 6*x ); 5.3 數學函式庫的函式 5.4 函式 函式 讓程式設計者用模組化的方式撰寫程式 區域變數(Local variables) 只能在所定義的函式中使用(知道)的變數 在函式定義中宣告的變數都是區域變數 參數(Parameters) 在參數列裡面定義的變數 也是區域變數 此函式被呼叫時,呼叫者提供資料進來時使用的變數 將程式寫成函式化的好處: 容易管理 增加軟體的重複使用性(software reusability) 避免程式碼的重複 5.4 函式 軟體工程的觀點 5.2-5.4 一個程式中包含許多函式,main 應該寫成呼叫一群函式的敘述,以便執行程式中的許多工作。 每個函式必須限制只執行單獨一項經過嚴密定義的工作,而且函式的名稱要有效的表達出該項工作的內容。這樣可以提昇軟體的重複使用性。 當無法找到某函式適當、簡單的名稱時,可能表示你的函式執行太多不同的工作。最好將這樣的函式再分成幾個比較型的函式。 5.4 函式定義 我們建立的函式作的事情包括: 拿到傳進函式的資料 Take in data 執行運算 Perform operations 傳回結果 Return the result 函式定義的格式: return-value-type function-name( parameter-list ) { definitions and statements } Function-name: 任何合法的識別字 Return-value-type: 傳回給呼叫者之結果的資料型態(預設值為int) void – 表示此函數沒有傳回值 5.4 函式定義 Parameter-list: 各參數以逗號分隔 void – 表示此函數不接收任何參數值 每個參數的資料型別都必須明確列出, 除非是 int return-value-type function-name( parameter-list )稱為函式標頭 (Function header) Definitions and statements: 函式的本體 (function body, block) 任何區塊中都可以宣告變數 (區塊可以是巢狀的) 函式在任何情況下都不可以定義在別一個函數之內 Returning control 如果沒有傳回值 return; or, 當達到函式終止的右大括號時 如果有傳回值 return expression; 常見的程式設計錯誤 5.2, 5.3-5.7 在函式定義中忘記寫傳回值型態,這是一種語法錯誤。 傳回值型態宣告為 void 又傳回一個值,也是語法錯誤。 相同型態的參數不可一起宣告,如 float x, y,必須宣告為 float x, float y,宣告為 float x, y

文档评论(0)

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

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

1亿VIP精品文档

相关文档