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

正文內(nèi)容

c語言程序設(shè)計(jì)第2版下ppt(存儲(chǔ)版)

  

【正文】 函數(shù)調(diào)用結(jié)束時(shí)就自動(dòng)釋放這些存儲(chǔ)空間??梢杂胹tatic來指定變量不釋放,保留原值。 2. 對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。 extern int A。這種變量叫做 寄存器變量 ,用關(guān)鍵字 register作聲明。 } int A=13,B=8。 { int i,y=1; for(i=1;i<=n;i++) y *= A; return(y); } 關(guān)于變量的聲明和定義: 對(duì)變量而言,聲明與定義的關(guān)系稍微復(fù)雜一些。而對(duì)“ extern a。它們采用的存儲(chǔ)類別如下: ? 局部變量包括: 自動(dòng)變量、 靜態(tài)局部變量、寄存器變量。 如果一個(gè)函數(shù)只能被本文件中其他函數(shù)所調(diào)用 ,它稱為內(nèi)部函數(shù)。 extern void detele_string(char str[],char ch)。 } 編寫程序 file2.c(文件2) include void enter_string(char str[80]) / * 定義外部函數(shù) enterstring*/ { gets(str)。 } file4.c(文件4) include void print_string(char str[]) { printf(%s\n,str)。 else if(a==b) c=0。 有一個(gè)老和尚想把這64個(gè)盤子從A柱移到C柱 , 但規(guī)定每次只能移動(dòng)一個(gè)盤 , 且在任何時(shí)候 3個(gè)柱上的盤子都是大盤在下 , 小盤在上 。 /* 對(duì) hanoi函數(shù)的聲明 */ int m。B39。 hanoi(n1,two,one,three)。 本章小結(jié) 6. 在調(diào)用一個(gè)函數(shù)的過程中,又調(diào)用另外一個(gè)函數(shù),稱為函數(shù)的嵌套調(diào)用。 。 “定義”和“聲明”不是一回事。 else { hanoi(n1,one,three,two)。A39。 -1個(gè)盤從B座借助于A座移到C座上。 這是一個(gè)古典的數(shù)學(xué)問題 , 是一個(gè)用遞歸方法解題的典型例子 。 } int f(int a,int b) /* 函數(shù)定義 */ { int c。 str[i]=39。 detele_string(str,c)。 用外部函數(shù)實(shí)現(xiàn) 。從作用域角度看 ,凡有 static聲明的,其作用域都是局限的,或者是局限于本函數(shù)內(nèi),或者局限于本文件內(nèi)。聲明 A是一 個(gè)已定義的外部變量 */ … } int A。對(duì)“ int a。 本程序的作用是給定b的值 , 輸入a和m , 求a b和 am的值 。 / *外部變量聲明 */ extern A,B。為提高執(zhí)行效率,C語言允許將局部變量的值放在 CPU中的寄存器中,需要用時(shí)直接從寄存器取出參加運(yùn)算,不必再到內(nèi)存中去存取。這時(shí)可以在定義外部變量時(shí)加一個(gè)static聲明。在程序整個(gè)運(yùn)行期間都不釋放。 例題 解題思路 可以編一個(gè)函數(shù)用來進(jìn)行一次累乘,如第 1次調(diào)用時(shí)進(jìn)行 1乘 1,第 2次調(diào)用時(shí)再乘以 2,第 3次調(diào)用時(shí)再乘以 3,依此規(guī)律進(jìn)行下去。根據(jù)變量的存儲(chǔ)類別,可以知道變量的作用域和生存期。從變量值存在的時(shí)間角度來分,又可以分為靜態(tài)存儲(chǔ)方式和動(dòng)態(tài)存儲(chǔ)方式。 ② 使用全局變量過多,會(huì)降低程序的清晰性。i++) for(j=0。 float score[4][5]={{61,73,87,90},{72,84,66,88,78}, {75,87,81,96},{65,85,64,76,71}}。 /* 外部變量 */ float f1(int a) /* 定義函數(shù) f1 */ {int b,c。 (4) 在一個(gè)函數(shù)內(nèi)部 ,可以在復(fù)合語句中定義變量 ,這些變量只在本復(fù)合語句中有效 ,這種復(fù)合語句也稱為“分程序”或“程序塊”。這稱為“局部變量”。 例題 解題思路 用多維數(shù)組名作為函數(shù)的實(shí)參和形參 。 } 編寫程序 float average( float array[ ], int n) { int i; float aver,sum=array[0]; for(i=1;i<n;i++= sum= sum+ array[i]; aver= sum/n; return(aver); } 運(yùn)行結(jié)果如下: the average of class A is The average of class B is 說明: 為了分別求出兩個(gè)不同大小的數(shù)組中元素的平均值 , 在定義 average函數(shù)時(shí)設(shè)一個(gè)整型形參 n, 在調(diào)用 average函數(shù)時(shí) , 從主函數(shù)的實(shí)參把需要處理的數(shù)組名傳遞給形參數(shù)組名 array, 把該班人數(shù)傳遞給 n。數(shù)組名代表數(shù)組的首元素的地址,因此,用數(shù)組名作函數(shù)實(shí)參時(shí),只是將實(shí)參數(shù)組的首元素的地址傳給形參數(shù)組。 /* 將 1或 1,0返回主函數(shù) */ } 運(yùn)行情況如下: enter array 78 83 88 98 65 77 56 73 80 69↙ enter array b : 65 73 88 69 100 71 65 76 80 64↙ a higher b 5 times a equal to b 2 times b higher a 3 times a wins! 說明: 用數(shù)組元素作為函數(shù)實(shí)參 , 每次調(diào)用函數(shù)時(shí) , 把數(shù)組元素的值傳遞給函數(shù)形參 。 /* 輸出 n,m,k的值 */ if(nk) printf(a wins!\n)。b[i])。i10。 如果a隊(duì)隊(duì)員的成績(jī)高于b隊(duì)相應(yīng)隊(duì)員成績(jī)的數(shù)目多于 b隊(duì)隊(duì)員成績(jī)高于 a隊(duì)相應(yīng)隊(duì)員成績(jī)的數(shù)目 (例如 , a隊(duì)蠃 6次 , b隊(duì)蠃 4次 ),則認(rèn)為 a隊(duì)勝 。 (n1)!就是子問題,它的求解方法與 n!是相同的。 /* 調(diào)用 fac函數(shù) */ printf(%d!=%ld\n,n,y)。 用遞歸方法 遞歸的思路和遞準(zhǔn)是相反的,并不是先求 1再 …… ,直到 n,而是直接從目標(biāo)出發(fā)提出問題: 即5!等于4! 5,而4!=3! 4 … 1!=1。 /* 調(diào)用 fac函數(shù) , 求出 n! */ printf(%d!=%ld\n,n,fact)。遞推法的特點(diǎn)是從一個(gè)已知的事實(shí)出發(fā),按一定規(guī)律推下一個(gè)事實(shí),再?gòu)倪@個(gè)新的已知的事實(shí)出發(fā),再向下推出一個(gè)新的事實(shí) …… 這是和遞歸不同的。問第4個(gè)人歲數(shù),他說比第3個(gè)人大2歲。 else return y。 /* 調(diào)用 max_4函數(shù),得到 4個(gè)數(shù)中的最大考,賦給變量 max */ printf(max=%d \n,max)。 /* max_4函數(shù)的聲明 */ int a,b,c,d,max。 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 嵌套定義就是在定義一個(gè)函數(shù)時(shí),其函數(shù)體內(nèi)又包含另一個(gè)函數(shù)的完整定義 。 對(duì)被調(diào)用函數(shù)的聲明和函數(shù)原型 (是庫(kù)函數(shù)或用戶自己定義的函數(shù))。 說明: 1.函數(shù)語句 把函數(shù)調(diào)用作為一個(gè)語句。 例如 : max ( int x , int y ) { return( x y ? x :y ) ; } 2. 函數(shù)的返回值應(yīng)當(dāng)屬于某一個(gè)確定的類型,在定義函數(shù)時(shí)指定函數(shù)返回值的類型。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。 關(guān)于形參與實(shí)參的說明: 1. 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時(shí),它們并不占內(nèi)存中的存儲(chǔ)單元。 /* 變量 z用來存放兩個(gè)整數(shù)中的大者, int型 */ if (xy) z=x。 /* max函數(shù)聲明,表示在 main函數(shù)中將要調(diào)用 max函數(shù) */ int a,b,c。實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類型應(yīng)匹配。 這是最重要的 , 這是在函數(shù)體中解決的 。 主調(diào)函數(shù)在調(diào)用被調(diào)用函數(shù)時(shí) , 通過參數(shù)向被調(diào)用函數(shù)傳遞數(shù)據(jù) 。 這是由系統(tǒng)提供的 , 用戶不必自己定義這些函數(shù) , 可以直接使用它們 。 說明: 2. 一個(gè)源程序文件由一個(gè)或多個(gè)函數(shù)以及其他有關(guān)內(nèi)容 ( 如命令行 、 數(shù)據(jù)定義等 ) 組成 。 / *調(diào)用printstar函數(shù) */ print_message()。 函數(shù)間的調(diào)用關(guān)系 :由主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。子程序由函數(shù)來完成。/*對(duì) print_message函數(shù)聲明 */ printstar()。 一個(gè)源程序文件可以為多個(gè) C程序公用 。 說明: , 函數(shù)有兩種: ① 標(biāo)準(zhǔn)函數(shù) , 即庫(kù)函數(shù) 。 ② 有參函數(shù) 。 4. 指定函數(shù)應(yīng)當(dāng)完成什么操作 , 也就是函數(shù)是做什么的 , 即函數(shù)的功能 。 ,則各參數(shù)間用max(a,b)。 編寫程序 include void main() { int max(int x,int y)。 /* 輸出 c的值就是兩個(gè)整數(shù)中的大者 */ } int max(int x,int y) /* 定義 max函數(shù),函數(shù)類型為 int型,兩個(gè)參數(shù)為 int型 */ { int z。在不同的函數(shù)之間傳遞數(shù)據(jù),可以使用的方法有: ◆ 參數(shù):通過形式參數(shù)和實(shí)際參數(shù) ◆ 返回值:用 return語句返回計(jì)算結(jié)果 ◆ 全局變量:外部變量 說明: 函數(shù)調(diào)用的過程: 通過函數(shù)調(diào)用,可使兩個(gè)函數(shù)中的數(shù)據(jù)發(fā)生聯(lián)系。 5. 實(shí)參向形參的數(shù)據(jù)傳遞是單向“值傳遞”,只能由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參?!?等價(jià)于 “ return ( z ) ; ” return后面的值可以是一個(gè)表達(dá)式 。此時(shí)在函數(shù)體中不得出現(xiàn) return語句。 m的值是 a、 b、 c三者中的最大者。 ?函數(shù)的聲明的作用則是把函數(shù)的名字、函數(shù)類型以及形參的類型、個(gè)數(shù)和順序通知編譯系統(tǒng),以便在調(diào)用該函數(shù)時(shí)系統(tǒng)按此進(jìn)行對(duì)照檢查。 m= max(m,d) 編寫程序 include void main() { int max_4(int a,int b,int c,int d)。 max=max_4(a,b,c,d)。 /* 函數(shù)返回值是 4個(gè)數(shù)中的最大者 */ } int max(int x,int y) /* 定義 max函數(shù) */ {if(xy) return x。 例如: int f ( int x ) { int y , z; z=f ( y ) ; return( 2 *z ) ; } 有5個(gè)人坐在一起,問第5個(gè)人多少歲?他說比第4個(gè)人大2歲。 從1開始,乘2,再乘3 …… 一直乘到n。 /* 輸入 n */ fact=fac(n)。 } 運(yùn)行情況如下: input an integer number: 10 ↙ 10!=3628800 說明: 有的 C編譯系統(tǒng) (如 Turbo )整型數(shù)據(jù)的范圍是 32768~ 32767,而當(dāng) n的值等于 8時(shí),就超過了此范圍,因此把函數(shù) fac和存放 n!的變量 fac和 fact定義為 l
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1