國二國二課件7.2函數(shù)_第1頁
國二國二課件7.2函數(shù)_第2頁
國二國二課件7.2函數(shù)_第3頁
國二國二課件7.2函數(shù)_第4頁
國二國二課件7.2函數(shù)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第六章函數(shù)一、函數(shù)的嵌套調用定義:從一個函數(shù)調用另一個函數(shù)稱為函數(shù)的嵌套調用例:計算 S=22!+32!#include longf1(p)/*函數(shù)f1 用來計算平方值*/k;long r;long f2(q);k=p*p;r=f2(k);return r;long f2(q)/*函數(shù)f2 用來計算階乘值*/long c=1;i;for(i=1;i=q;i+)c=c*i;return c;main()i;long s=0;for (i=2;i=3;i+)s=s+f1(i);prf(ns=%ldn,s);結果為:s=362904二、函數(shù)的遞歸調用1.定義:調用一個函數(shù)時,直接或間接調用自身,稱之

2、為函數(shù)的遞歸。2.程序中的遞歸方式:(1)直接遞歸調用:函數(shù)直接調用本身f(x)x;y,z;z=f(y);return(2*z);(2)間接遞歸調用:函數(shù)間接調用本身f1(x)x;y,z;z=f2(y);return(2*z);f2(t)t;a,c;c=f1(a);return(3+c);說明:1.C 語言對遞歸函數(shù)的自調用次數(shù)沒有限制2.必須有遞歸結束條件例:有 5 個人坐在一起,問第 5個人多少歲,他說比第 4 個2歲;問第 4 個人多少歲,他說比第 3 個2 歲;問第 3 個人多少歲,又說比第 2 個大 2 歲;問第 2 個人,說比第 1 個2 歲;最后問第一個人,他說他10 歲;請問,

3、第 5 個人多少歲?#include age(n)c;if(n=1) c=10;else c=age(n-1)+2;return(c);main()prf(“%d”,age(5);三、變量類型及作用域(一)變量的類型f2(x)y=3,x;y=5;/*該范圍內用的是值為 5 的y,該語句外用的是值為 3 的y*/作用域:變量有效性的范圍稱為變量的作用域全局變量:在所有函數(shù)外部定義的變量叫全局變量全局變量使用范圍:從定義位置開始到整個程序結束局部變量:在一個函數(shù)內部定義的變量或者函數(shù)的形參,都統(tǒng)稱為局部變量void f(i)j = 20;12345age(1)age(2)age(3)age(4)a

4、ge(5)1012141618i 和j 都屬于局部變量局部變量使用范圍:只能在本函數(shù)注意:在一個函數(shù)內部如果定義的局部變量的名字和全局變量的名字一樣時,局部變量會掉全局變量例:#include i =99;void f(i)prf(“i = %dn”,i);main()f(8);prf(“%dn”,i);說明:1.主函數(shù)中定義的變量也只能在主函數(shù)中使用,不能在其他函數(shù)中使用。同時,主函數(shù)中也不能使用其他函數(shù)中定義的變量。因為主函數(shù)也是一個函數(shù),它與其他函數(shù)是平行關系。2.形參變量是屬于被調函數(shù)的局部變量,實參變量是屬于主調函數(shù)的局部變量。3.允許在不同的函數(shù)中使用相同的變量名,它們代表不同的對

5、象,分配不同的單元。4.在復合語句中也可定義變量,其作用域只在復合語句范圍內。5.全局變量在沒有賦初值時,其初始值為 0.例:#include i;void f(i)prf(i = %dn,i);main(void)f(8);prf(%dn,i);(二)變量的類別從變量值存在的作用時間(即生存期)角度分為:1. 靜態(tài)方式:在程序運行期間分配固定的空間的方式2. 動態(tài)方式:在程序運行期間根據(jù)需要進行動態(tài)的分配空間的方式在 C 語言中,每個變量和函數(shù)有兩個屬性:數(shù)據(jù)類型和數(shù)據(jù)的類別。常見數(shù)學函數(shù)的介紹:書上P89.類型說明auto自動變量局部變量在缺省類型的情況下歸為自動變量。register寄存器變量存放在 CPU 的寄存器中。對于循環(huán)次數(shù)較多的循環(huán)控制變量及循環(huán)體內反復使用的變量均可定義為寄存器變量。sic靜態(tài)變量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論