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

云端共撰课程设计.PPT

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

函數 01010 10101 01010 01010 10101 01010 01010 10101 01010 函數的意義 有傳回值的副程式 減少程式撰寫工作:把重複出現多次的一段程式獨立出成為函數 易於維護 增加程式的可讀性 函數的格式 傳回值型態 函數名稱(參數1,參數2……) { 函數的本體 } 傳回值型態:宣告其傳回值(以return指令)的資料型別。若無傳回值,則宣告其型別為 void。 函數名稱:第一字不可以是數字,其餘由英文字母、數字…構成。 參數:函數名稱後緊接著 ( ) ,不管有無參數值,都要有 ( ) 例1使用前定義函數內容 #include stdio.h int addFun(int x, int y) { return x + y; } void main() { int a = 10, b = 20, r; r = addFun(a, b); printf(%d + %d = %d \n, a, b, r); } 傳回值 函數名 參數 傳回值 呼叫函數 a b r 10 20 main() x y 10 20 addFun() 30 參數傳遞 call by value 傳值呼叫 #include stdio.h float multiply_Fun(float, float); int main() { float a=2, b=19, c; c = multiply_Fun(a, b); printf(%f * %f = %f \n, a, b, c); return 0; } float multiply_Fun(float x, float y) { return x * y; } 讓compiler能編譯函數,在呼叫函數前須先宣告函數名 完整撰寫函數 例2函數內容定義於使用後(先宣告函數名) 先指定參數個數及資料型態 Call By Value 傳值呼叫 將呼叫者的參數值複製到被呼叫者的記憶體上, 由被呼叫的函數在記憶體存取該參數。 被呼叫者存取不到呼叫者的區域變數,呼叫者變數不會被被呼叫者修改。 void fun(int x, int y) { x = 5; y = 5; } void main() { int x = 0, y = 0; fun(x, y); printf(%d %d\n, x, y); } 0 0 x y 0 0 5 5 00A1 00A3 0001 0003 x y 全域變數global variable 變數 x 定義於函數(main or lion)之外 int x; int main() { int s; } void lion(int y) { … } 全域變數x Where: 程式內所有的函數都可以存取 When: 整個程式執行期間均存在 變數 x、y定義於函數內 int main() { int x; … } void lion(int y) { … } 區域變數 Where: 只有定義該變數的函數可以存取 When: 呼叫(執行)該函數時產生,離開該函數就消滅。 區域變數local variable 進階介紹 函數可以遞迴呼叫,因此函數內的變數消滅前可能會呼叫自己而再產生新的變數。此類變數稱為local variable或auto variable,Compiler會把它放在堆疊上。 如果函數可以看到兩個以上同名的變數,則運算式內的變數會以位置最近的為準,所謂位置指的是最接近的{} double x = 3.14; int main( ) { int x = 0; x = 100; // 此處的x是指上一行的整數x } static改變變數的存在時間 static int x; int main() { … } Where:此C檔內函數可看到x,其他原始程式檔都看不到 When:整個程式執行期間均存在 int main() { static int x; } Where:只有定義該變數的函數(此處為main)可以存取 When:整個程式執行期間均存在 extern表示此變數在別的檔案內宣告,此處只是要讓Compiler能夠翻譯相關的運算式,在此不分配空間 主要在大型專案管理,有多程式設計人員撰寫程式,要用到共同的全域變數,如果每個人定義一次,則Linker會抱怨該變數宣告了一次以上。若都加上static,雖然可以產生執行檔,但大家用的不是同一個變數 正確的做法是: global.h檔內定義 extern int x; global.c內定義 int x; 其他人的.c

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档