沒有幻燈片標題 - 人人斑竹網(wǎng)_第1頁
沒有幻燈片標題 - 人人斑竹網(wǎng)_第2頁
沒有幻燈片標題 - 人人斑竹網(wǎng)_第3頁
沒有幻燈片標題 - 人人斑竹網(wǎng)_第4頁
沒有幻燈片標題 - 人人斑竹網(wǎng)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、程序運行程序運行 后輸出為后輸出為*How are you?*main( ) printf(“*n”); printf(“*n”); printf(“*n”); printf(“*n”); printf(“How are you?n”); main( ) star( ); star( ); message( ); star( ); star( ); star( ) printf(“*n”); message( ) printf(“How are you?n”); printf(“*”); printf(“*”); printf(“*”); printf(“*”); printf(“How ar

2、e you?”); 從上面程序中不難看出從上面程序中不難看出 :(2) 調(diào)用其他函數(shù)后又返回到調(diào)用其他函數(shù)后又返回到main( )函數(shù)函數(shù),變量定義變量定義輸入語句輸入語句算法的描述算法的描述輸出語句輸出語句變量定義變量定義輸入語句輸入語句算法的描述算法的描述輸出語句輸出語句變量定義變量定義輸入語句輸入語句算法的描述算法的描述輸出語句輸出語句 for(j=1;jb ? a : b ; 定義定義變量變量說明說明函數(shù)函數(shù)函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用:求三個數(shù)中最大值的流程示意圖如下求三個數(shù)中最大值的流程示意圖如下:main( )max(a,b,c )func(a,b )func(t1,c)給給a,

3、b,c輸入數(shù)據(jù)輸入數(shù)據(jù)輸出最大值輸出最大值mm=t1=t2=返回較大值返回較大值返回較大值返回較大值返回返回 t2 值值結(jié)束運行結(jié)束運行main( ) float a,b,c,m, max( );scanf(“%f%f%f ”,&a &b,&c) ;m=max(a , b , c) ;printf(“max=%fn” , m) ;float max(a,b,c)float a , b , c ; float t1,t2 , func( ) ; t1=func( a , b ) ; t2=func( t1 , c ) ; return t2 ; float func(a,

4、b)float a , b ; return ab ? a : b ; receive()() char ch; scanf(“ %c”,&ch);); printf(“%c”,ch); if (ch!=.) receive(); printf(“%c”,ch);main() receive();if (ch!=.) receive();receive()ch=oif (ch!=.) receive(); receive()ch=.if (ch!=.) receive();printf(“%c”,ch);上機作業(yè):上機作業(yè):1、定義一函數(shù)、定義一函數(shù)digit(n,k),它回送整數(shù)它回

5、送整數(shù)n的從右邊開始數(shù)第的從右邊開始數(shù)第k個數(shù)字的值。例如:個數(shù)字的值。例如: digit(15327,4)=5 digit(289,5)=0 請編出完整的程序。請編出完整的程序。2、定義一個函數(shù)、定義一個函數(shù)check(n,d),它回送一個布爾值。如果數(shù)字它回送一個布爾值。如果數(shù)字d在整數(shù)在整數(shù)n的某位中出現(xiàn),則回送的某位中出現(xiàn),則回送1,否則回送,否則回送0。假如:。假如: check(3256,2)=1 check(1725,3)=0 編出完整的程序。編出完整的程序。數(shù)組元素作為函數(shù)參數(shù)時數(shù)組元素作為函數(shù)參數(shù)時,效果與簡單變效果與簡單變量相似量相似,是實際參數(shù)向形式參數(shù)單向順序是實際參數(shù)

6、向形式參數(shù)單向順序的值傳遞。的值傳遞。(2 2)數(shù)組名作為函數(shù)實參)數(shù)組名作為函數(shù)實參數(shù)組名作為函數(shù)參數(shù)時數(shù)組名作為函數(shù)參數(shù)時, ,形參形參與實參都表示的是與實參都表示的是地址參數(shù)地址參數(shù). .實參向形參傳遞地址實參向形參傳遞地址. . 變量作為函數(shù)參數(shù)時變量作為函數(shù)參數(shù)時,數(shù)據(jù)傳遞數(shù)據(jù)傳遞是單向值傳遞,形參與實參分是單向值傳遞,形參與實參分別占據(jù)不同的內(nèi)存單元。別占據(jù)不同的內(nèi)存單元。形參形參 x實參實參a3 3形參數(shù)組形參數(shù)組 x實參數(shù)組實參數(shù)組a2001 2001傳送地址傳送地址的實質(zhì)是使的實質(zhì)是使主調(diào)函主調(diào)函數(shù)和被調(diào)函數(shù)在數(shù)和被調(diào)函數(shù)在相同的內(nèi)存相同的內(nèi)存單元單元上進行數(shù)據(jù)操作上進行數(shù)據(jù)

7、操作. .a1ff10 a0a2a3a4ff10/&a0ff18/&a2ff1c/&a3ff20/&a4float average(a)float a5; int k; float s=0 ; for (k=0;k5;k+) s=s+ak ; s=s / 5 ; return s ; main( )float n5, f ; int i; for (i=0;i5;i+) scanf(“%f ” , &ni); f=average(n); printf(“average=%gn”, f ); ff10 n0 n1 n2 n3 n4n62108 a for

8、(i=0;i5;i+) scanf(“%f ” , &ni); f=average(n); float average(a)float a5;fi0 1 2 3 4 5k=int k; float s=0 ; 4s=for (k=0;k5;k+) s=s+ak ; 1 10 2 12 3 22 4 30 5 6s=6 ; f=average(n); 4return s ; printf(“average=%gn”, f ); 6ff14/&a1ff14/&a1 例例:向一個數(shù)組輸入向一個數(shù)組輸入5個數(shù)個數(shù),求其平均值求其平均值下面的例題也是主調(diào)函數(shù)與被調(diào)函數(shù)在相同的地址

9、單元上下面的例題也是主調(diào)函數(shù)與被調(diào)函數(shù)在相同的地址單元上,對數(shù)據(jù)進對數(shù)據(jù)進行操作行操作. 通過對通過對sort( )函數(shù)的定義和函數(shù)的定義和 main( )函數(shù)對函數(shù)對sort( )函數(shù)的調(diào)用函數(shù)的調(diào)用,完成一完成一維數(shù)組的排序維數(shù)組的排序.main( ) int x5 , i ; for (i=0 ; i5 ; i+) scanf(“%d”,&xi) ; sort (x) ; for (i=0 ; i5 ; i+) printf(“%8d”,xi) ;void sort (a )int a5; int i , j , t ,min ; for (i=0 ; i4 ; i+) min=

10、i; for (j=i+1 ; jaj) min=j; t=ai;ai=amin;amin=t; 3 5 1 9 7 axX0 x X1xX2x X3x X4x x1 3 5 7 9 為了提高自定義函數(shù)的通用性為了提高自定義函數(shù)的通用性,在在定義函數(shù)定義函數(shù)時時,可用可用變量變量表示表示形參形參是一維數(shù)組的是一維數(shù)組的長度長度.也就是可用兩個也就是可用兩個形參來說明形參來說明一維數(shù)組一維數(shù)組,一個表一個表示示首地址首地址; 一個表示一個表示元素個數(shù)元素個數(shù). 下面的程序是求數(shù)組中最大值的下面的程序是求數(shù)組中最大值的例題例題:main( )static int a5=1,6,4,9,3;stat

11、ic int b6=3,1,6,8,4,7; printf(“max=%dn”,max(a,5) ) ;printf(“max=%dn”,max(b,6) ) ;int max (x ,n)int x , n ; int i , t =x 0 ; for (i=1 ; in ; i+) if ( t x i ) t=xi ; return t ; 在第一次調(diào)用時在第一次調(diào)用時, max(a,5), 使使x與與a地址相同地址相同 , n=5 元素個數(shù)為元素個數(shù)為5, 返回值為返回值為9. 在第二次調(diào)用時在第二次調(diào)用時, max(b,6), 使使x與與b地址相同地址相同 , n=6 元素個數(shù)為元素

12、個數(shù)為6, 返回值為返回值為8.一、一、 局部變量局部變量一、局部變量一、局部變量f1( ) int x ; . . . . . .main( ) float x; main函數(shù)內(nèi)定義函數(shù)內(nèi)定義的局的局(或內(nèi)或內(nèi))部變量部變量x只能在只能在main函函數(shù)內(nèi)使用數(shù)內(nèi)使用.f2(x)int x ; int y,z ; if (x) . f1函數(shù)內(nèi)定義函數(shù)內(nèi)定義的局部變量的局部變量x只能在只能在f1函數(shù)函數(shù)內(nèi)使用內(nèi)使用.f2函數(shù)內(nèi)說明的函數(shù)內(nèi)說明的x,定義的定義的y和和z只能只能在在f2函數(shù)內(nèi)使用函數(shù)內(nèi)使用.全局變量全局變量x x, ,a a在在f1f1、mainmain、f2f2函數(shù)中都有效函數(shù)中

13、都有效; ;全局變量全局變量b b在在f2f2中有效中有效. .全局變量全局變量a a在在f1f1函數(shù)中與局部變量函數(shù)中與局部變量a a同名同名, ,在在f1f1函數(shù)中全局變量函數(shù)中全局變量a a無效無效. .main( )int i=1, j=1; for ( ; i=9; i+) for(j=1; j=9; j+) printf(“%d*%d=%2d ”, i,j,i*j); printf(“n“); main( )register int i=1, j=1; for ( ; i=9; i+) for(j=1; jy ? x : y ; return (z) ; FileA.c /* Fi

14、leC.prj工程源文件中的內(nèi)容工程源文件中的內(nèi)容 */ FileB.c (編輯編輯、設(shè)置設(shè)置、編譯編譯、運行運行、輸入二個整數(shù)輸入二個整數(shù)、查看運行結(jié)果查看運行結(jié)果、取消設(shè)置、取消設(shè)置 )在在Turbo C主菜單中選主菜單中選Project項下的項下的Project name項項,并在并在對話框總中輸入工程文件名對話框總中輸入工程文件名: fileC.prj回車回車FileA.c文件文件FileB.c文件文件FileC.prj也可在一源程序文件中使用也可在一源程序文件中使用#include 命令包含其它源程序文件命令包含其它源程序文件.#include “FileB.c” /* FileD.c 源文件中的內(nèi)容源文件中的內(nèi)容 */main( ) int a ,b , c ; scanf(“%d%d” , &a, &b) ; c=max(a , b) ; printf(“max=%dn” , c ) ;請注意比較請注意比較: 多個源多個源程序文程序文件結(jié)合件結(jié)合通過一個工程通過一個工程(*.prj)將它們將它們(*.c)結(jié)合在一起結(jié)合在一起通過一個源程序文件通過一個源程序文件(*.c)包含其它包含其它源程序文件源程序文件FileD.c僅比僅比FileA.c多一條包含命令多一條包含命令作業(yè)

溫馨提示

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

評論

0/150

提交評論