函式 Function Part.2.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函式 Function Part.2 東海大學物理系?資訊教育 施奇廷 遞迴(Recursion) 函式可以「呼叫自己」,這種動作稱為「遞迴」 此程式的執行結果相當於陷入無窮迴圈,無法停止(只能按 Ctrl-C) 這給我們一個暗示:函式的遞迴呼叫可以達到部分迴圈的效果 範例:從 1 加到 N 之級數求和 習題:階乘 請寫作一程式,利用函式的遞迴呼叫,輸入整數 N 後,可以求其階乘值 N! 試問:在 N 大於多少時,會發生整數溢位(overflow)的現象? Call by Value; Call by Address 一般 C 的函式呼叫,傳送引數是採取 call by value 的方式,也就是把引數的「值」拷貝到函式中,函式裡面對這個變數的任何修改,並不會改變主函式(呼叫者)內該變數的值 若要透過被呼叫的函式修改這個變數在主函式中的值,必須採取 call by address 的方式 範例:Fibonacci數列 此數列是在中世紀時期由義大利有名的數學家 Fibonacci 所發表。他在 1202 年出版的『算盤書』中, 有一題『兔子問題』, 題目是這樣的: Fibonacci 數列 根據題意我們可以假設月份為 Fn, 其值為兔子的總對數。由此推出一個數列: 此數列就是 Fibonacci 數列, 其特性就是當n2 時, 第 n 項的值就是前 2 項的和 (第 n-2 項加第 n-1 項)。 Call by Value 之例: Fibonacci 數列 Call by Address 之例: Fibonacci 數列 兩種呼叫方式之比較 何謂 Call by Address? 在第二個例子中,函數的引數是「位址」而不是「數值」:c=fibo(a,b); 在變數a的前面加一個符號:「a」,這代表a這個變數在記憶體上的位置(位址) 而在函數的定義中:int fibo(int *a, int *b)表示,a 與 b 是兩個記憶體的位址,在這個位址上儲存的變數是整數 在位址前面加一個星號「*a」表示該位址所儲存的變數的數值 以遞迴呼叫函數方式求 Fibonacci 數列某項的值 求出 Fibonacci 數列某項的值 執行結果 作業:數值微分 作業:寫作一程式計算數值微分,利用一函數求f(x)=3x2+exp(x2+2x)之數值微分[f(x+h)-f(x)]/h。另一函數求此函數微分之精確值 df(x)/dx = 6x+exp(x2+2x)?(2x+2)。給定 x=1, h = 0.01, 0.0001, 0.000001, 0時,數值微分所求出的值與精確微分值相差多少? * * 執行結果 執行結果 *

您可能关注的文档

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档