欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

第7章 函數(shù)及其應用

上傳人:痛*** 文檔編號:239299143 上傳時間:2024-01-23 格式:PPT 頁數(shù):59 大?。?88.50KB
收藏 版權申訴 舉報 下載
第7章 函數(shù)及其應用_第1頁
第1頁 / 共59頁
第7章 函數(shù)及其應用_第2頁
第2頁 / 共59頁
第7章 函數(shù)及其應用_第3頁
第3頁 / 共59頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第7章 函數(shù)及其應用》由會員分享,可在線閱讀,更多相關《第7章 函數(shù)及其應用(59頁珍藏版)》請在裝配圖網上搜索。

1、第第7 7章章 函數(shù)及其應用函數(shù)及其應用第第7章章 函數(shù)及其應用函數(shù)及其應用學習目標學習目標掌握函數(shù)的編寫及調用方法,領會模塊化程序設計方法。掌握函數(shù)的編寫及調用方法,領會模塊化程序設計方法。學習內容學習內容函數(shù)的定義、調用及聲明,函數(shù)間參數(shù)的傳遞方法,模塊化程序設計函數(shù)的定義、調用及聲明,函數(shù)間參數(shù)的傳遞方法,模塊化程序設計方法。方法。下一頁下一頁返返 回回第第7章章 函數(shù)及其應用函數(shù)及其應用7.1 一個一個C程序實例程序實例7.2 函數(shù)的定義和調用函數(shù)的定義和調用7.3 變量的進一步討論變量的進一步討論7.4 函數(shù)應用實例函數(shù)應用實例7.5 本章小結本章小結7.6 實訓實訓上一頁上一頁返返

2、 回回7.1 一個一個C程序實例程序實例【例例7-1】用調用函數(shù)的方式計算整數(shù)的階乘。用調用函數(shù)的方式計算整數(shù)的階乘?!境绦虼a程序代碼】#include stdio.hlong fac(int n)/*fac()是自定義函數(shù),用于計算是自定義函數(shù),用于計算n的階乘的階乘*/int i;long f=1;for(i=1;iy?x:y;return z;void main()int a,b,c,max;printf(enter a,b,c:);下一頁下一頁返返 回回上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義和調用scanf(%d,%d,%d,&a,&b,&c);max=mymax(mymax

3、(a,b),c);/*函數(shù)嵌套調用函數(shù)嵌套調用*/printf(max=%dnn,max);程序輸出結果為:程序輸出結果為:程序中函數(shù)程序中函數(shù)mymax()的功能是從兩個數(shù)中返回較大數(shù)。為了使用函數(shù)的功能是從兩個數(shù)中返回較大數(shù)。為了使用函數(shù)mymax()找出找出3個數(shù)中的最大數(shù),程序采用了個數(shù)中的最大數(shù),程序采用了2次調用,即先調用函數(shù)次調用,即先調用函數(shù)mymax()找出找出2個數(shù)中的大數(shù),然后再用這個大數(shù)和第個數(shù)中的大數(shù),然后再用這個大數(shù)和第3個數(shù)作實數(shù),調用函個數(shù)作實數(shù),調用函數(shù)數(shù)mymax()找出最大數(shù)。找出最大數(shù)。下一頁下一頁返返 回回上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義

4、和調用7.2.3 函數(shù)的聲明函數(shù)的聲明函數(shù)的使用原則是先定義后使用,也就是說,函數(shù)的定義位置原則上函數(shù)的使用原則是先定義后使用,也就是說,函數(shù)的定義位置原則上應出現(xiàn)在函數(shù)調用位置之前,例應出現(xiàn)在函數(shù)調用位置之前,例7-1和例和例7-2遵循的就是這個原則。但遵循的就是這個原則。但是,如果在調用函數(shù)前對被調函數(shù)進行聲明,那么調用函數(shù)和被調函是,如果在調用函數(shù)前對被調函數(shù)進行聲明,那么調用函數(shù)和被調函數(shù)的位置就可以隨意安排。數(shù)的位置就可以隨意安排。函數(shù)聲明方法:函數(shù)聲明方法:函數(shù)值類型函數(shù)值類型 函數(shù)名函數(shù)名(形參列表形參列表);例例7-2中函數(shù)位置按以下形式安排,程序也能正常執(zhí)行。中函數(shù)位置按以下

5、形式安排,程序也能正常執(zhí)行。#include stdio.h#include math.hfloat area(float a,float b,float c);/*函數(shù)聲明函數(shù)聲明*/main()下一頁下一頁返返 回回上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義和調用float x,y,z,sf;printf(請輸入三邊請輸入三邊:);scanf(%f,%f,%f,&x,&y,&z);sf=area(x,y,z);/*調用函數(shù)調用函數(shù)*/printf(三邊為三邊為%5.2f,%5.2f,%5.2f的三角形面積等于的三角形面積等于%5.2fn,x,y,z,sf);float area(flo

6、at a,float b,float c)/*定義函數(shù)定義函數(shù)*/float h,s;h=0.5*(a+b+c);s=(sqrt(h*(h-a)*(h-b)*(h-c);return(s);下一頁下一頁返返 回回上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義和調用提示:提示:(1)函數(shù)聲明與函數(shù)定義的區(qū)別在于,函數(shù)聲明是通過語句來完成,)函數(shù)聲明與函數(shù)定義的區(qū)別在于,函數(shù)聲明是通過語句來完成,沒有函數(shù)體,作用類似于變量說明。沒有函數(shù)體,作用類似于變量說明。(2)當函數(shù)值類型是默認類型()當函數(shù)值類型是默認類型(int型)時,不論被調函數(shù)與調用函型)時,不論被調函數(shù)與調用函數(shù)位置如何安排,函數(shù)聲

7、明都可以忽略。但是能夠堅持函數(shù)聲明是一數(shù)位置如何安排,函數(shù)聲明都可以忽略。但是能夠堅持函數(shù)聲明是一個好的編程習慣。個好的編程習慣。下一頁下一頁返返 回回上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義和調用7.2.4 函數(shù)間的數(shù)據(jù)傳遞函數(shù)間的數(shù)據(jù)傳遞函數(shù)是用來實現(xiàn)具體功能的模塊,所以它必然要和程序中的其他模塊函數(shù)是用來實現(xiàn)具體功能的模塊,所以它必然要和程序中的其他模塊交換數(shù)據(jù)。一個函數(shù)可以從函數(shù)之外獲得數(shù)據(jù),并可以向其調用者返交換數(shù)據(jù)。一個函數(shù)可以從函數(shù)之外獲得數(shù)據(jù),并可以向其調用者返回數(shù)據(jù),這些數(shù)據(jù)主要是通過函數(shù)的參數(shù)和函數(shù)返回值來傳遞的。回數(shù)據(jù),這些數(shù)據(jù)主要是通過函數(shù)的參數(shù)和函數(shù)返回值來傳遞

8、的。C語言中,常見的參數(shù)傳遞方式有語言中,常見的參數(shù)傳遞方式有2種:值傳遞和地址傳遞。本節(jié)介紹種:值傳遞和地址傳遞。本節(jié)介紹值傳遞方式,地址傳遞將在第九章介紹。值傳遞方式,地址傳遞將在第九章介紹。值傳遞的特點是函數(shù)調用時實參僅僅將其值賦給形參。當實參為變量值傳遞的特點是函數(shù)調用時實參僅僅將其值賦給形參。當實參為變量時,實參變量和形參變量在存儲空間上是分開的,因此函數(shù)中對形參時,實參變量和形參變量在存儲空間上是分開的,因此函數(shù)中對形參變量值的任何修改都不會影響到相應的實參變量,前面介紹的實例中變量值的任何修改都不會影響到相應的實參變量,前面介紹的實例中均采用這種方式進行參數(shù)傳遞。均采用這種方式進

9、行參數(shù)傳遞。下一頁下一頁返返 回回上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義和調用【例例7-5】交換兩個變量的值。交換兩個變量的值?!境绦虼a程序代碼】#include stdio.hvoid swap(int x,int y);/*函數(shù)聲明函數(shù)聲明*/void main()int a=10,b=20;printf(a=%d,b=%dn,a,b);swap(a,b);printf(a=%d,b=%dnn,a,b);void swap(int x,int y)/*交換兩個參數(shù)變量的值交換兩個參數(shù)變量的值*/下一頁下一頁返返 回回上一頁上一頁上一頁上一頁7.2 函數(shù)的定義和調用函數(shù)的定義和調用

10、int z;z=x;x=y;y=z;printf(x=%d,y=%dn,x,y);程序輸出結果為:程序輸出結果為:小測驗小測驗從程序輸出結果來看,函數(shù)從程序輸出結果來看,函數(shù)swap()并沒有完成交換兩個變量值的任務,為什并沒有完成交換兩個變量值的任務,為什么呢?么呢?提示:值傳遞方式的好處是減少了調用函數(shù)和被調函數(shù)之間的數(shù)據(jù)依賴,增提示:值傳遞方式的好處是減少了調用函數(shù)和被調函數(shù)之間的數(shù)據(jù)依賴,增強了函數(shù)自身的獨立性。強了函數(shù)自身的獨立性。返返 回回7.3 變量的進一步討論變量的進一步討論一個變量在程序中的哪個函數(shù)中都能使用嗎?答案是否定的。一個變量在程序中的哪個函數(shù)中都能使用嗎?答案是否定

11、的。根據(jù)變量在程序中的使用范圍,可以將變量分為局部變量和全局變量。根據(jù)變量在程序中的使用范圍,可以將變量分為局部變量和全局變量。局部變量又稱為內部變量,是指在函數(shù)內部定義的變量,其有效范圍局部變量又稱為內部變量,是指在函數(shù)內部定義的變量,其有效范圍僅限于本函數(shù)內部。僅限于本函數(shù)內部。全局變量又稱為外部變量,是指在函數(shù)外部定義的變量。其有效范圍全局變量又稱為外部變量,是指在函數(shù)外部定義的變量。其有效范圍從定義變量的位置開始直到程序結束。從定義變量的位置開始直到程序結束?!纠?-6】局部變量和全局變量的使用。局部變量和全局變量的使用。#include stdio.hint x;/*定義定義x為全

12、局變量為全局變量*/int fun1(int x)/*形參形參x為局部變量為局部變量*/下一頁下一頁返返 回回7.3 變量的進一步討論變量的進一步討論return x*x;int fun2(int y)int x;/*函數(shù)內部定義函數(shù)內部定義x為局部變量為局部變量*/x=y+5;return x*x;main()x=0;/*給全局變量給全局變量x賦值賦值*/printf(The result in fun1:%dn,fun1(5);printf(The result in fun2:%dn,fun2(5);printf(x=%dn,x);/*輸出全局變量輸出全局變量x*/下一頁下一頁返返 回回

13、上一頁上一頁7.3 變量的進一步討論變量的進一步討論程序輸出結果為:程序輸出結果為:程序說明:程序說明:本例中有本例中有3個變量個變量x:一個是全局變量:一個是全局變量x,一個是函數(shù),一個是函數(shù)fun1()的形參的形參x,第第3個是在函數(shù)個是在函數(shù)fun2()中定義的局部變量中定義的局部變量x,它們,它們3個雖然同名卻是不個雖然同名卻是不同的對象。雖然全局變量的有效范圍是整個程序,但是在局部變量的同的對象。雖然全局變量的有效范圍是整個程序,但是在局部變量的作用范圍內,同名全局變量暫時不起作用。作用范圍內,同名全局變量暫時不起作用。提示提示:為了使程序清晰易讀,程序中不同用途的變量最好不要使用相

14、同的變量為了使程序清晰易讀,程序中不同用途的變量最好不要使用相同的變量名,以免造成混亂。名,以免造成混亂。下一頁下一頁返返 回回上一頁上一頁7.3 變量的進一步討論變量的進一步討論程序中不論是形參程序中不論是形參x還是局部變量還是局部變量x,都是在函數(shù)執(zhí)行時為其分配存儲,都是在函數(shù)執(zhí)行時為其分配存儲單元,一旦函數(shù)執(zhí)行結束,所占內存空間即刻釋放,也就是說它們的單元,一旦函數(shù)執(zhí)行結束,所占內存空間即刻釋放,也就是說它們的生存期僅限于函數(shù)執(zhí)行期間,這種變量屬于動態(tài)存儲變量。生存期僅限于函數(shù)執(zhí)行期間,這種變量屬于動態(tài)存儲變量?!纠?-7】下面程序希望輸出下面程序希望輸出1n之間各數(shù)的階乘。之間各數(shù)的

15、階乘。#include stdio.hlong fun(int i)long f=1;/*定義定義f 為局部變量并賦初值為局部變量并賦初值1*/f=f*i;return f;下一頁下一頁返返 回回上一頁上一頁7.3 變量的進一步討論變量的進一步討論main()int n,m;printf(please enter n:);scanf(%d,&n);for(m=1;m0;i-)a+=sub2(i);/*函數(shù)調用函數(shù)調用*/return(a);int sub2(int n)/*函數(shù)定義函數(shù)定義*/return (n+1);程序分析:程序分析:程序中有程序中有3個函數(shù):個函數(shù):1個個main()函數(shù)

16、和函數(shù)和2個自定義函數(shù)。程序執(zhí)行時,主函數(shù)調個自定義函數(shù)。程序執(zhí)行時,主函數(shù)調用用sub1()函數(shù),函數(shù),sub1()函數(shù)又調用函數(shù)又調用sub2()函數(shù),函數(shù),sub2()函數(shù)執(zhí)行完后會返回函數(shù)執(zhí)行完后會返回sub1()函數(shù),函數(shù),sub1()函數(shù)會返回主函數(shù)。這種多層調用的關系稱為函數(shù)的嵌套調函數(shù)會返回主函數(shù)。這種多層調用的關系稱為函數(shù)的嵌套調用。用。圖圖7-1 是函數(shù)嵌套調用示意圖。是函數(shù)嵌套調用示意圖。小測驗小測驗寫出例寫出例7-8的輸出結果。的輸出結果。下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例【例例7-9】函數(shù)的遞歸調用。函數(shù)的遞歸調用。#include s

17、tdio.hint age(int n)int a;if (n=1)a=10;else a=age(n-1)+2;/*遞歸調用遞歸調用*/return(a);main()printf(age=%dn,age(5);下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例程序分析:程序分析:程序中主函數(shù)程序中主函數(shù)main()調用了函數(shù)調用了函數(shù)age(),而函數(shù),而函數(shù)age()在變量在變量n不等于不等于1時,又調用了時,又調用了age()函數(shù)自己,這種調用的關系就叫函數(shù)的遞歸調用。函數(shù)自己,這種調用的關系就叫函數(shù)的遞歸調用。圖圖7-2給出了給出了age()函數(shù)的遞歸過程。函數(shù)的遞歸

18、過程?!纠?-10】算術練習程序。讓計算機給小學生出算術練習程序。讓計算機給小學生出10道簡單的算術題道簡單的算術題(兩位整數(shù)范圍內,由隨機函數(shù)(兩位整數(shù)范圍內,由隨機函數(shù)rand()產生),學生輸入答案后,計產生),學生輸入答案后,計算機會自動判定是否正確,最后輸出學生的得分(每道題算機會自動判定是否正確,最后輸出學生的得分(每道題10分)。算分)。算術題有加、減、乘、除術題有加、減、乘、除4種。種?!揪幊趟悸肪幊趟悸贰勘绢}采用模塊化程序設計方法,本題采用模塊化程序設計方法,4種運算在種運算在4個子模塊(函數(shù))中完成,個子模塊(函數(shù))中完成,main()函數(shù)為主控程序,根據(jù)用戶的選擇,調用

19、相應的子模塊,其模塊結函數(shù)為主控程序,根據(jù)用戶的選擇,調用相應的子模塊,其模塊結構如構如圖圖7-3所示。所示。下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例【程序代碼程序代碼】#include stdio.h#include time.h#include stdlib.h void fun1();/*函數(shù)聲明函數(shù)聲明*/void fun2();/*函數(shù)聲明函數(shù)聲明*/void fun3();/*函數(shù)聲明函數(shù)聲明*/void fun4();/*函數(shù)聲明函數(shù)聲明*/main()/*主控函數(shù),顯示菜單主控函數(shù),顯示菜單*/int n;while(1)下一頁下一頁返返 回回上一頁上

20、一頁7.4 函數(shù)應用實例函數(shù)應用實例 printf(n=算術練習程序算術練習程序=n);printf(n 1.加加 法法 n);printf(n 2.減減 法法 n);printf(n 3.乘乘 法法 n);printf(n 4.除除 法法 n);printf(n 0.退退 出出 n);printf(n=n);下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例printf(請選擇請選擇(0-4):);scanf(%d,&n);switch (n)/*根據(jù)選擇調用相應的函數(shù)根據(jù)選擇調用相應的函數(shù)*/case 1:fun1();break;case 2:fun2();break;c

21、ase 3:fun3();break;case 4:fun4();break;case 0:exit(0);/*函數(shù)函數(shù)exit(0)用于正常退出程序用于正常退出程序*/void fun1()/*加法函數(shù)加法函數(shù)*/下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例 int i,a,b,m,k=0;for(i=0;i10;i+)a=10+rand()%90;b=10+rand()%90;printf(%d+%d=,a,b);scanf(%d,&m);if(m=(a+b)k+=10;printf(你的得分是你的得分是:%dn,k);void fun2()/*減法函數(shù)減法函數(shù)*/下

22、一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例 int i,a,b,m,k=0;for(i=0;i10;i+)a=10+rand()%90;b=10+rand()%90;printf(%d-%d=,a,b);scanf(%d,&m);if(m=(a-b)k+=10;printf(你的得分是你的得分是:%dn,k);下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例void fun3()/*乘法函數(shù)乘法函數(shù)*/int i,a,b,m,k=0;for(i=0;i10;i+)a=10+rand()%90;b=10+rand()%90;printf(%d*%d=,a,

23、b);scanf(%d,&m);if(m=(a*b)k+=10;printf(你的得分是你的得分是:%dn,k);下一頁下一頁返返 回回上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例下一頁下一頁返返 回回上一頁上一頁void fun4()/*除法函數(shù)除法函數(shù)*/int i,a,b,m,k=0;for(i=0;i10;i+)a=10+rand()%90;b=10+rand()%90;printf(%d/%d=,a,b);scanf(%d,&m);if(m=(a/b)k+=10;printf(你的得分是你的得分是:%dn,k);上一頁上一頁7.4 函數(shù)應用實例函數(shù)應用實例程序執(zhí)行后的主界面為:程序執(zhí)

24、行后的主界面為:選擇選擇1,做加法練習時,執(zhí)行過程為:選擇,做加法練習時,執(zhí)行過程為:選擇3,做乘法練習時,執(zhí)行過程為:,做乘法練習時,執(zhí)行過程為:返返 回回7.5 本章小結本章小結下一頁下一頁返返 回回1.編程時使用函數(shù)的好處有以下幾個方面:編程時使用函數(shù)的好處有以下幾個方面:(1)程序結構清晰,可讀性好。)程序結構清晰,可讀性好。(2)減少重復編碼的工作量。)減少重復編碼的工作量。(3)可多人共同編制一個大程序,縮短程序設計周期,提高程序)可多人共同編制一個大程序,縮短程序設計周期,提高程序設計和調試的效率。設計和調試的效率??梢哉f掌握好函數(shù)是學好可以說掌握好函數(shù)是學好C語言的關鍵之一。語

25、言的關鍵之一。2.函數(shù)的使用原則是先定義后使用。函數(shù)的使用原則是先定義后使用。3.函數(shù)定義。根據(jù)實際問題確定函數(shù)首部,編寫函數(shù)體。函數(shù)定義。根據(jù)實際問題確定函數(shù)首部,編寫函數(shù)體。對初學者來說,定義函數(shù)時,如何設置形參是一個難點??梢赃@對初學者來說,定義函數(shù)時,如何設置形參是一個難點。可以這樣考慮:形參是虛擬變量,它要從調用函數(shù)中得值,那么該函數(shù)是樣考慮:形參是虛擬變量,它要從調用函數(shù)中得值,那么該函數(shù)是否需要從調用函數(shù)中接受數(shù)據(jù),需要接受幾個什么類型的數(shù)據(jù),以否需要從調用函數(shù)中接受數(shù)據(jù),需要接受幾個什么類型的數(shù)據(jù),以此來確定有沒有必要設置形參,設置幾個形參。此來確定有沒有必要設置形參,設置幾個

26、形參。例如,有函數(shù)首部為:例如,有函數(shù)首部為:float dis(float m1,float m2,float d)表示將從調用函數(shù)中接受表示將從調用函數(shù)中接受3個個float類型的數(shù)據(jù)。類型的數(shù)據(jù)。上一頁上一頁7.5 本章小結本章小結4.函數(shù)調用時,實參與形參的個數(shù)應相同,類型應一致。實參與形參函數(shù)調用時,實參與形參的個數(shù)應相同,類型應一致。實參與形參按順序對應按順序對應,一一傳遞數(shù)據(jù)。一一傳遞數(shù)據(jù)。5.函數(shù)間數(shù)據(jù)傳遞方法有兩種:值傳遞和地址傳遞。當實參為常量、函數(shù)間數(shù)據(jù)傳遞方法有兩種:值傳遞和地址傳遞。當實參為常量、變量或表達式時均采用單向值傳遞,形參僅從實參得到值,形參值的變量或表達式

27、時均采用單向值傳遞,形參僅從實參得到值,形參值的變化對實參沒有影響。變化對實參沒有影響。6.函數(shù)聲明。原則上以下兩種情況可以不進行函數(shù)聲明:函數(shù)聲明。原則上以下兩種情況可以不進行函數(shù)聲明:(1)函數(shù)定義在前,調用函數(shù)在后。)函數(shù)定義在前,調用函數(shù)在后。(2)函數(shù)定義在后,但函數(shù)的類型是)函數(shù)定義在后,但函數(shù)的類型是int型。型。當調用在前,被調函數(shù)定義在后,且被調函數(shù)的類型不是當調用在前,被調函數(shù)定義在后,且被調函數(shù)的類型不是int型時,必型時,必須對被調函數(shù)進行聲明。須對被調函數(shù)進行聲明。7.函數(shù)可以嵌套調用和遞歸調用。函數(shù)可以嵌套調用和遞歸調用。8.變量。按照變量的作用范圍,變量分局部變量

28、和全局變量;按照變變量。按照變量的作用范圍,變量分局部變量和全局變量;按照變量的生存期,變量分靜態(tài)存儲變量和動態(tài)存儲變量。量的生存期,變量分靜態(tài)存儲變量和動態(tài)存儲變量。返返 回回7.6 實訓實訓 實訓實訓1 【實訓內容實訓內容】函數(shù)的定義和調用函數(shù)的定義和調用【實訓目的實訓目的】掌握函數(shù)的定義和調用方法掌握函數(shù)的定義和調用方法【實訓題目實訓題目】(1)下面程序希望計算兩個數(shù)的平均值,寫出程序的預期結果,并)下面程序希望計算兩個數(shù)的平均值,寫出程序的預期結果,并上機驗證。上機驗證。#include stdio.hdouble average(int,int);/*函數(shù)聲明函數(shù)聲明*/main()

29、int a,b;double v;a=10;b=11;下一頁下一頁返返 回回7.6 實訓實訓v=average(a,b);/*函數(shù)調用函數(shù)調用*/printf(%lfn,v);double average(int x,int y)/*函數(shù)定義函數(shù)定義*/double z;z=(x+y)/2;return(z);(2)下面程序的功能是計算兩個圓的周長之差,請把程序補充完整,)下面程序的功能是計算兩個圓的周長之差,請把程序補充完整,并上機驗證。并上機驗證。#include stdio.h ;下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓main()double r1,r2,len;r1=3.3

30、;r2=5.5;len=;printf(len=%lfn,len);double mylen(double r)double length;length=2*3.14159*r;下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓 實訓實訓2 【實訓內容實訓內容】函數(shù)間數(shù)據(jù)的傳遞函數(shù)間數(shù)據(jù)的傳遞【實訓目的實訓目的】掌握單向值傳遞方法掌握單向值傳遞方法【實訓題目實訓題目】分析下面程序的輸出結果,并上機驗證。分析下面程序的輸出結果,并上機驗證。#include stdio.hint f(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x+x-y*y;return(cp

31、);return(dp);下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓main()int a=4,b=3,c=5,d=6;f(a,b,c,d);printf(%d%dn,c,d);下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓 實訓實訓3 【實訓內容實訓內容】函數(shù)的編寫函數(shù)的編寫【實訓目的實訓目的】掌握函數(shù)的編寫方法掌握函數(shù)的編寫方法【實訓題目實訓題目】函數(shù)函數(shù)prime()是一個判斷整數(shù)是否為素數(shù)的函數(shù),調用是一個判斷整數(shù)是否為素數(shù)的函數(shù),調用該函數(shù)輸出該函數(shù)輸出1000以內的素數(shù),要求輸出每行以內的素數(shù),要求輸出每行10個數(shù)。主函數(shù)已經給出,個數(shù)。主函數(shù)已經給出,請編寫函數(shù)請編寫

32、函數(shù)prime()。int prime(int n)/*判斷參數(shù)判斷參數(shù)n是否為素數(shù)是否為素數(shù)*/void main()/*主函數(shù)主函數(shù)*/下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓int n;int c=0;/*統(tǒng)計素數(shù)個數(shù)統(tǒng)計素數(shù)個數(shù),用以控制輸出格式用以控制輸出格式*/printf(1000之間的素數(shù)如下之間的素數(shù)如下:n);for(n=2;n=1000;n+)if(prime(n)=1)/*函數(shù)調用函數(shù)調用*/printf(%6d,n);c+;if(c%10=0)printf(n);/*每行輸出每行輸出10個素數(shù)個素數(shù)*/下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓 實訓

33、實訓4 【實訓內容實訓內容】變量。變量。【實訓目的實訓目的】掌握局部變量和靜態(tài)變量的特性。掌握局部變量和靜態(tài)變量的特性?!緦嵱栴}目實訓題目】分析下面程序的輸出結果,然后上機驗證。分析下面程序的輸出結果,然后上機驗證。程序一程序一#include stdio.h#include math.hvoid fun1();void fun2();void main()int x=1;下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓 fun1();printf(%dn,x);void fun1()int x=2;fun2();printf(%dn,x);void fun2()int x=3;printf

34、(%dn,x);下一頁下一頁返返 回回上一頁上一頁7.6 實訓實訓程序二程序二#include stdio.h#include math.hvoid fun();void main()fun();fun();fun();void fun()int x=0;x=x+1;printf(%dn,x);下一頁下一頁返返 回回上一頁上一頁上一頁上一頁7.6 實訓實訓程序三程序三#include stdio.h#include math.hvoid fun();void main()fun();fun();fun();返返 回回void fun()static int x=0;x=x+1;printf(%dn,x);圖圖7-1 函數(shù)的嵌套調用函數(shù)的嵌套調用返返 回回圖圖7-2 age()函數(shù)的遞歸過程函數(shù)的遞歸過程返返 回回圖圖7-3 模塊化結構示意模塊化結構示意返返 回回

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!