![lesson13程序的組織結(jié)構(gòu)函數(shù)調(diào)用_第1頁](http://file4.renrendoc.com/view11/M03/07/22/wKhkGWWyf2yAfydpAAD3nHqu1ho161.jpg)
![lesson13程序的組織結(jié)構(gòu)函數(shù)調(diào)用_第2頁](http://file4.renrendoc.com/view11/M03/07/22/wKhkGWWyf2yAfydpAAD3nHqu1ho1612.jpg)
![lesson13程序的組織結(jié)構(gòu)函數(shù)調(diào)用_第3頁](http://file4.renrendoc.com/view11/M03/07/22/wKhkGWWyf2yAfydpAAD3nHqu1ho1613.jpg)
![lesson13程序的組織結(jié)構(gòu)函數(shù)調(diào)用_第4頁](http://file4.renrendoc.com/view11/M03/07/22/wKhkGWWyf2yAfydpAAD3nHqu1ho1614.jpg)
![lesson13程序的組織結(jié)構(gòu)函數(shù)調(diào)用_第5頁](http://file4.renrendoc.com/view11/M03/07/22/wKhkGWWyf2yAfydpAAD3nHqu1ho1615.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造Lesson13程序的組織構(gòu)造2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造學(xué)習(xí)目的:31學(xué)會(huì)運(yùn)用構(gòu)造化程序設(shè)計(jì)方法編寫程序2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)調(diào)用2函數(shù)編寫原那么1、將比較復(fù)雜的問題分解成小問題〔函數(shù)〕,以簡(jiǎn)化程序設(shè)計(jì)2、將經(jīng)常用的、公共的功能定義成函數(shù),以在程序中重用2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)調(diào)用2練習(xí)1:從鍵盤輸入一個(gè)數(shù)n,輸出他的一切質(zhì)因子,例如輸入30輸出235要求:1、定義一個(gè)函數(shù)isPrime(intx)。函數(shù)的功能:假設(shè)x是質(zhì)數(shù),前往1,否那么前往02、在主函數(shù)中,從2循環(huán)到n/2,將是n的因子,并且是質(zhì)數(shù)的輸出2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3例3:輸出乘法口訣表。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3例3:輸出乘法口訣表。分析:它是一個(gè)9行9列的二維表格,加上一個(gè)行標(biāo)題和一個(gè)列標(biāo)題,顯示出來應(yīng)該是10行10列。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3問題分析行與行之間采用假設(shè)干個(gè)“=〞或“-〞字符表示表格之間的線段,為此,可以定義一個(gè)函數(shù),專門用來延續(xù)地顯示假設(shè)干個(gè)字符,以防止在每次需求顯示線段的時(shí)候,都反復(fù)地書寫相應(yīng)的語句序列。(重用)2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>voiddrawLine(intn,charch);/*延續(xù)顯示n個(gè)ch字符*/intmain(){inti,j;printf("\n9.9table\n"); /*顯示表名*/drawLine(30,'='); /*顯示每列的標(biāo)題*/printf("\n123456789");drawLine(30,'=');for(i=1;i<=9;i++){ /*顯示每行的內(nèi)容*/printf("\n%3d",i);for(j=1;j<=9;j++)printf("%3d",i*j);if(i<9)drawLine(30,'-');else drawLine(30,'=');}return0;}lesson13_03.c2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造voiddrawLine(intn,charch)/*延續(xù)顯示n個(gè)ch字符*/{inti;putchar('\n');/*換行*/for(i=1;i<=n;i++)putchar(ch);/*延續(xù)顯示n個(gè)字符ch*/return;}2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3從鍵盤輸入圖形的行數(shù),按照如下規(guī)那么輸出圖形,例如行數(shù)等于5的圖形如下:*************************課堂練習(xí)2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3提示:1、定義函數(shù)printSpace(intn),輸出n個(gè)空格2、定義函數(shù)printStar(intn),輸出n個(gè)*號(hào)3、在主函數(shù)根據(jù)圖形的行數(shù)循環(huán),調(diào)用前面的函數(shù)輸出圖形的每一行2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)調(diào)用2函數(shù)調(diào)用的普通方式:函數(shù)名(實(shí)參列表);方式參數(shù)(形參):定義函數(shù)時(shí)寫在函數(shù)名后括號(hào)內(nèi)的變量,形參前必需有數(shù)據(jù)類型intfun(intn)實(shí)踐參數(shù)〔實(shí)參〕:調(diào)用函數(shù)時(shí)寫在函數(shù)名后括號(hào)內(nèi)的變量,實(shí)參僅寫變量名sum+=fun(i)2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)調(diào)用2參數(shù)的傳送當(dāng)函數(shù)沒有執(zhí)行時(shí),參數(shù)此時(shí)并不存在,只是用來闡明在調(diào)用這個(gè)函數(shù)時(shí)需求在這個(gè)位置向函數(shù)提供的數(shù)據(jù)類型。在調(diào)用函數(shù)之后,參數(shù)傳送需求閱歷兩個(gè)根本步驟:首先,根據(jù)方式參數(shù)的聲明格式,為每一個(gè)方式參數(shù)分配存儲(chǔ)空間;然后再將真實(shí)參數(shù)的值賦給對(duì)應(yīng)的方式參數(shù)。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)調(diào)用2c=max(a,b);max(intx,inty){intz;z=x>y?x:y;return(z);}intmax(intx,inty);intmain(){inta,b,c;scanf("%d,%d",&a,&b);c=max(a,b);printf("Maxis%d",c);return0;}intmax(intx,inty){intz;z=x>y?x:y;return(z);}形參實(shí)參例1:函數(shù)執(zhí)行過程lesson13_01.c2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)調(diào)用2例2:參數(shù)傳送,分析程序結(jié)果#include<stdio.h>intmain(){intx=7,y=11;printf("x=%d,y=%d\n",x,y);printf("swapped:\n");swap(x,y);printf("x=%d,y=%d\n",x,y);}swap(inta,intb){inttemp;temp=a;a=b;b=temp;}711x:y:調(diào)用前:調(diào)用終了:711x:y:調(diào)用:711a:b:711x:y:swap:711x:y:117a:b:temp實(shí)參和形參是單向值傳送!普通地在函數(shù)體中修正形參的值是不會(huì)影響實(shí)參的!lesson13_02.c2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造分析如下程序的執(zhí)行結(jié)果#include<stdio.h>intfun(intn,ints);intmain(){intsum=0;fun(5,sum);printf("sum=%d",sum);}intfun(intn,ints){inti=0;for(i=1,s=0;i<=n;i++)s+=i;returns;}2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3例4:計(jì)算
要求準(zhǔn)確度到達(dá)10-6。
2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3問題分析在這個(gè)公式中,第i項(xiàng)的分子是xi;分母是i!。為了便于計(jì)算每一項(xiàng)的數(shù)值,設(shè)計(jì)了兩個(gè)函數(shù)power()和factorial()分別用來完成計(jì)算xi和i!的義務(wù)。另外,為了更好地表達(dá)模塊化的設(shè)計(jì)思緒,再設(shè)計(jì)一個(gè)函數(shù)e()用于計(jì)算ex。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造算法描畫2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>longpower(intx,inty);longfactorial(intn);doublee(intx);intmain(){intx;printf("\nEnterx:");scanf("%d",&x);printf("\ne^%d=%f",x,e(x));return0;}longpower(intx,inty) /*計(jì)算xy*/{longp=1;inti;for(i=1;i<=y;i++)p=p*x;returnp;}2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造longfactorial(intn) /*計(jì)算n!*/{inti;longf=1;for(i=2;i<=n;i++)f=f*i;returnf;}doublee(intx) /*計(jì)算ex*/{doubleresult=1.0,tmp;inti=1;do{tmp=power(x,i)*1.0/factorial(i);i++;result+=tmp;}while(tmp>=1E-6); /*精度的檢查*/returnresult;}2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3課堂練習(xí)4!nm*!!(n-m)計(jì)算下式,n和m從鍵盤輸入2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3例5:從鍵盤輸入一組文本行,求出最長(zhǎng)行并且輸出。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3函數(shù)運(yùn)用3問題分析從問題的求解要求可知,沒有必要保管輸入的一切文本行。只需保管曾經(jīng)輸入各行中的最長(zhǎng)行,以及剛輸入的當(dāng)前行。設(shè)計(jì)一個(gè)專門用于計(jì)算最長(zhǎng)文本行的函數(shù)voidreadline(charmaxline[])。其實(shí)現(xiàn)過程為:一邊輸入文本行保管于數(shù)組line、一邊與當(dāng)前最長(zhǎng)的文本行長(zhǎng)度進(jìn)展比較。假設(shè)新輸入的文本行更長(zhǎng),那么更新記錄最長(zhǎng)文本行的信息,最后得到的最長(zhǎng)文本行將經(jīng)過參數(shù)帶出去。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造算法描畫2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>#include<string.h>voidreadline(charmaxline[]);intmain(){charmaxline[80]="";readline(maxline); /*輸入并計(jì)算最長(zhǎng)行*/printf("\nThelongestlineis:\n");puts(maxline); /*輸出最長(zhǎng)行*/return0;}lesson13_05.c2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造voidreadline(charmaxline[]) /*輸入并計(jì)算最長(zhǎng)文本行*/{charline[80];intmaxlength,n;maxlength=0;/*初始化*/line[0]='\0';printf("\nEntertextlines:\n");do{gets(line);/*輸入文本行*/n=strlen(line);if(n>strlen(maxline)){/*與記錄的最長(zhǎng)文本行進(jìn)展比較*/maxlength=n;/*更新記錄最長(zhǎng)文本行的信息*/strcpy(maxline,line);}}while(n>0);return;}2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造編寫程序,將從鍵盤輸入的字符串兩頭的空格去掉后輸出。例如輸入的字符串是〞ABC〞,輸出〞ABC〞要求:1、定義函數(shù)trim(chars[]),函數(shù)的功能是將字符串兩頭的空格去掉2、在主函數(shù)中調(diào)用trim函數(shù)將從鍵盤輸入的字符串兩頭的空格去掉后輸出3課堂練習(xí)52024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3遞歸算法與遞歸函數(shù)6C言語允許函數(shù)1、嵌套調(diào)用,即在函數(shù)中可以調(diào)用其它的函數(shù)。2、遞歸調(diào)用,即在函數(shù)內(nèi)部直接地調(diào)用本人。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3遞歸算法與遞歸函數(shù)6f()調(diào)f調(diào)f2調(diào)f1f1()f2()intf(intx){inty,z;……z=f(y);…….return(2*z);}intf1(intx){inty,z;……z=f2(y);…….return(2*z);}intf2(intt){inta,c;……c=f1(a);…….return(3+c);}2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3遞歸算法與遞歸函數(shù)6例6:計(jì)算階乘的函數(shù)n!=n*(n-1)*(n-2)*…*2*1n!=n*(n-1)*(n-2)*…*2*1n!=n*(n-1)!1!=1遞歸關(guān)系終止條件算n!,必需算出(n-1)!;計(jì)算出(n-1)!,必需計(jì)算出(n-2)!;…;由此類推,直到推到1!=1,前往后即可依次計(jì)算出2!,3!,…,(n-1)!,n!。2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3遞歸算法與遞歸函數(shù)6當(dāng)求解一個(gè)問題時(shí),假設(shè)求解過程又用到本人那么可以運(yùn)用遞歸求解floatfac(intn){floatf;
returnf;}if(n==0||n==1)f=1;elsef=fac(n-1)*n;intmain(){floaty;intn;printf(“輸入:");scanf("%d",&n);y=fac(n);printf("%d!=%.0f",n,y);return0;}lesson13_06.c2024/1/25電氣與信息工程學(xué)院計(jì)算機(jī)系制造3遞歸算法與遞歸函數(shù)6main函數(shù)輸入m3y=fac(m)輸出y
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大型變壓器搬遷合同
- 學(xué)校教室裝修設(shè)計(jì)施工合同
- 產(chǎn)業(yè)園內(nèi)部裝修合同樣本
- 寵物醫(yī)院裝修內(nèi)部承包合同
- 客土噴播草坪施工方案
- 結(jié)構(gòu)樓板做錯(cuò)返工施工方案
- 員工合同員工合同范本
- 停車場(chǎng)物業(yè)維修合同范例
- 包山合同范例
- 公司組織架構(gòu)與管理體系制度
- 2024-2030年中國涂碳箔行業(yè)現(xiàn)狀調(diào)查與投資策略分析研究報(bào)告
- 2024-2030年中國派對(duì)用品行業(yè)供需規(guī)模調(diào)研及發(fā)展趨勢(shì)預(yù)測(cè)研究報(bào)告
- 2023-2024年度數(shù)字經(jīng)濟(jì)與驅(qū)動(dòng)發(fā)展公需科目答案(第5套)
- 工傷保險(xiǎn)代理委托書
- 職業(yè)分類表格
- 廣東省深圳高級(jí)中學(xué)2023-2024學(xué)年八年級(jí)下學(xué)期期中考試物理試卷
- 電網(wǎng)建設(shè)項(xiàng)目施工項(xiàng)目部環(huán)境保護(hù)和水土保持標(biāo)準(zhǔn)化管理手冊(cè)(變電工程分冊(cè))
- 口腔門診部設(shè)置可行性研究報(bào)告
- 新粵教版科學(xué)一年級(jí)下冊(cè)全冊(cè)優(yōu)質(zhì)課件(全冊(cè))
- 公司員工健康與安全手冊(cè)
評(píng)論
0/150
提交評(píng)論