freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

【c語(yǔ)言課件】第7章函數(shù)20xxnew-在線瀏覽

2025-03-08 09:34本頁(yè)面
  

【正文】 弧中的變量名。 main( ) {int a,b,c。a,amp。 c=max(a,b)。 } 主 函 數(shù) int max(x,y) int x,y。 if (xy) z=x。 return(z)。 實(shí)參可以是 常量 .變量或表達(dá)式 ,要求有確定的值。 實(shí)參與形參的類型應(yīng)該一致 。因此,在執(zhí)行一個(gè)被調(diào)用函數(shù)時(shí),形參的值如果發(fā)生改變,并不會(huì)改變實(shí)參的值。調(diào)用函數(shù)時(shí),才給形參分配單元,并將實(shí)參的值傳給形參,調(diào)用結(jié)束后,形參單元釋放。 scanf(“ %d,%d”,amp。b)。 printf(“ max=%d”,c)。 {int z。 else z=y。 } 執(zhí) 行 語(yǔ) 句 部 分 數(shù)據(jù)說(shuō) 明部分 參數(shù) 說(shuō)明 include 實(shí)參可以是 常量 .變量或表達(dá)式 ,要有確定的值。實(shí)參與形參的類型應(yīng)該一致 實(shí)參對(duì)形參的數(shù)據(jù)傳遞是( 單向傳遞 ) ,實(shí)參單元與形參單元是不同的單元 返回 函數(shù)的參數(shù)傳遞 函數(shù)參數(shù)的傳遞過(guò)程 void main(){ … S1 =area(a, b, c) S2 =area(c, d, e) … } float area(float l1,float l2,float,l3) { float s。s= 表達(dá)式 。 } 找到了函數(shù)定義,調(diào)用 變量 s的值作為 返回值給主程序 同時(shí) 實(shí)參 傳遞給 形參 a=6 b=7 c=9 l1=6 l2=7 l3=9 s= S1= 例 計(jì)算 x的立方 include float cube(float x) { return(x*x*x)。 printf(Please input value of a:)。a)。 printf(”Cube of %.4f is %.4f\n,a,product)。 參數(shù)傳遞方式 地址傳遞 (傳址 ) 實(shí)參 的值隨 形參 的值一起改變。 printf(x=%d,\ty=%d\n,x,y)。 swap(x,y)。 } void swap(int a,int b) { int temp。 a=b。 } 調(diào)用: 7 11 a: b: 7 11 x: y: swap: 7 11 x: y: 11 7 a: b: temp 函數(shù)參數(shù)的傳遞方式 — 地址傳遞 0100 5 地址 內(nèi)容 … … … … 實(shí)參 a 形參 x 系統(tǒng) 將實(shí)參 a的地址 傳給了 形參 x,并未給 x開(kāi)辟新的存儲(chǔ)單元 相當(dāng)于一個(gè)存儲(chǔ)單元有兩個(gè)名字,因此,對(duì) x的改變就是對(duì) a的改變 地址傳遞 函數(shù)的調(diào)用 ? 函數(shù)調(diào)用的形式 函數(shù)名 (實(shí)際參數(shù)表 ) 注意: 函數(shù)調(diào)用時(shí)提供的 實(shí)際參數(shù) (簡(jiǎn)稱實(shí)參 )應(yīng)與被調(diào)用函數(shù)的 形式參數(shù) 按順序一一對(duì)應(yīng),而且 參數(shù)類型 也要一致。 s=(l1+l2+l3)/2。 return temparea。 s1=(float)sqrt(l1*(l1a)*(l1b)*(l1c))。 s2=(float)sqrt(l2*(l2c)*(l2d)*(l2e))。 s3=(float)sqrt(l3*(l3e)*(l3f)*(l3g))。 方法 1: s1=area(a,b,c)。 s3=area(e,f,g)。 方法 2: printf(area=%f\n,area(a,b,c)+area(c,d,e)+area(e,f,g))。 五、函數(shù)的調(diào)用 : ? 函數(shù)名(實(shí)參表列) 調(diào)用無(wú)參函數(shù),實(shí)參表列沒(méi)有,“ ( )”不能省略。 實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類型應(yīng)一致 。 許多 C版本(例如 Turbo C 和 MS C)是按 自右至左的順序求值 。 p=f(i,++i)。 f(2,3);*/ } /*編程時(shí)盡量避免如此函數(shù)調(diào)用。 p=f(i,++i)。 } int f(int a, int b) { int c。 else if(a==b) c=0。 return(c)。 p=f(i, i++)。 } int f(int a, int b) { int c。 else if(a==b) c=0。 return(c)。把函數(shù)調(diào)用作為一個(gè)語(yǔ)句。 這時(shí)不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作。函數(shù)出現(xiàn)在一個(gè)表達(dá)式中,這種表達(dá)式稱為函數(shù)表達(dá)式。例如: c=2*max(a,b) 3)函數(shù)參數(shù) 。例如: m=max(a,max(b,c))。 在一個(gè)函數(shù)中調(diào)用另一函數(shù)(被調(diào)函數(shù))需具備的條件: 1、被調(diào)用的函數(shù)必須是 已經(jīng)存在 的函數(shù)(庫(kù)函數(shù)或用戶自 己定義的函數(shù)) 2、如果 調(diào)用庫(kù)函數(shù) ,一般應(yīng)該在本文件開(kāi)頭用 include命令將調(diào)用有關(guān)庫(kù)函數(shù)時(shí)所需用到的信息包含到本文件來(lái)。這種類型說(shuō)明的一般形式為: 類型標(biāo)識(shí)符 被調(diào)用函數(shù)的函數(shù)名(參數(shù)類型 1,… ); ? 請(qǐng)看下頁(yè)例子。 float a,b,c。a,amp。 c=add(a,b)。 } float add(x,y) float x,y。 z=x+y。 } 主調(diào)函數(shù)中對(duì) 被調(diào)用函數(shù)的 聲明 對(duì)形參的定義 在函數(shù)體外 即大括號(hào)外 C語(yǔ)言規(guī)定,在以下幾種情況可以不在調(diào)用函數(shù)前對(duì)被調(diào)用函數(shù)作聲明。 (BC不適用) 2、如果被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)前,可以不必加以說(shuō)明。 見(jiàn)下頁(yè)例。 例 函數(shù)說(shuō)明舉例 void main() { float a,b。 scanf(%f,%f,amp。b)。 printf(Max is %d\n,c)。 z=xy?x:y。 } int型函數(shù)可不作函數(shù)說(shuō)明 ( Borland C++不行) float add(float x, float y) { float z。 return(z)。 scanf(%f,%f,amp。b)。 printf(sum is %f,c)。 /*function declaration*/ void main() { float a,b,c。a,amp。 c=add(a,b)。 } float add(float x, float y) { float z。 return(z)。 [例] char letter(char x, char y )。 main( ) {. . .} /*不必說(shuō)它所調(diào)用函數(shù)的類型 */ char letter(c1,c2) /*定義 letter函數(shù) */ char c1,c2。 {. . .} 如果已在所有函數(shù)定義之前,在文件的開(kāi)頭,在函數(shù)的外部已說(shuō)明了函數(shù)類型,則在各個(gè)主調(diào)函數(shù)中不必對(duì)所調(diào)用的函數(shù)再作類型說(shuō)明。 { float z。 return(z)。 float a,b,c。a,amp。 c=add(a,b)。 } 如果被調(diào)函數(shù) 體在主函數(shù)之 前,可不用此 函數(shù)原型說(shuō)明 ****例 ******* 內(nèi)部函數(shù)的調(diào)用 *********************** /* This program uses the text windows functions to */ /* demonstrate the use of the library function */ include include include include main() { int i,j。 _clearscreen(_GCLEARSCREEN)。 clear the screen set the display as color and text model while(!kbhit()) { for(i=0。i++) { _settextcolor(i)。j=90。 _outtext(buffer)。=?, A~Z 返回 六、函數(shù)的嵌套調(diào)用 ? C語(yǔ)句不能 嵌套定義 函數(shù),但可以 嵌套調(diào)用函數(shù),也就是說(shuō)在調(diào)用一個(gè)函數(shù)的過(guò)程中,又調(diào)用另一個(gè)函數(shù)。 float add(float x, float y) { float z。 return(z)。a,amp。 c=add(a,b)。 } float add(float x, float y) { float z。 return(z)。 scanf(%f,%f,amp。b)。 printf(sum is %f,c)。 long factorial(int n)。 long a。n1,amp。 a=sum(n1,n2)。 } long sum(int a,int b) { long c1,c2。 c2=factorial(b)。} long factorial(int n) { long rtn=1。 for(i=1。i++) rtn*=i。 } 作業(yè) 8. 2 EXAMPLE ? 函數(shù)的應(yīng)用 ? 求解 x38x2+25x180=0的根 求解 x38x2+25x180=0的根 解題步驟: 1. 取兩個(gè)不同點(diǎn) x1,x2 如果 f(x1)和 f(x2)符號(hào)相反, 則 [x1,x2]區(qū)間必有一個(gè)根, 如果同號(hào),則應(yīng)改變 x1和 x2, 直至異號(hào)為止 2. 連接 f(x1)和 f(x2), 交 x軸于 x點(diǎn),則 x=[x1*f(x2)x2*f(x1)]/[f(x2)f(x1)] 3. 求 f(x) 4. 若 f(x)與 f(x1)同號(hào),則 (x,x2)有根,此時(shí)將 x作為 x1 若 f(x)與 f(x2)同號(hào),則 (x,x1)有根,此時(shí)將 x作為 x2 5. 重復(fù) 2~ 4的步驟,直至 f(x)某個(gè)值,視精度要求而定 x1 f(x1) x x2 f(x2) f(x) ***例 ******** 函數(shù)的調(diào)用 ******************** include float root(x1,x2) float x1,x2。 float x,y,y1。 do { x=xpoint(x1,x2)。 if (y*y10) { y1=y。 } else x2=x。 return (x)。 { float y。 return (y)。 do { printf(input x1,x2:\n)。x1,amp。 f1=f(x1)。 }while(f1*f2=0)。 printf(A root of equation is %,x)。 { float y。 return (y)。 遞歸調(diào)用必須有終止的遞歸調(diào)用條件,在某一條件不成立時(shí),可無(wú)終止的遞歸調(diào)用。 f函數(shù) f1函數(shù) f2函數(shù) 調(diào)用 f函數(shù) ( 直接調(diào)用本函數(shù)示意圖 ) 調(diào)用 f2函數(shù) 調(diào)用 f1函數(shù) (間接調(diào)用示意圖) 從上圖可以看到,這兩種遞歸調(diào)用都是無(wú)終止的自身調(diào)用。 ? 程序舉例見(jiàn)下頁(yè) 注意:遞歸調(diào)用容易出現(xiàn)無(wú)休止的調(diào)用而使函數(shù)不能正常結(jié)束,必須有結(jié)束遞歸調(diào)用的條件語(yǔ)句。 問(wèn) e應(yīng)為多少? int add(int x) { int z。 return(z)。 if (n==1) c=5。 return(c)。 … return (q)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1