資源描述:
《《圖片形式的》PPT課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第7章函數(shù)本章內(nèi)容包括函數(shù)的基本概念和函數(shù)的定義方法;函數(shù)的調(diào)用、函數(shù)參數(shù)和函數(shù)的值;函數(shù)的嵌套調(diào)用;函數(shù)的遞歸調(diào)用;數(shù)組做函數(shù)參數(shù);變量的類型:全局變量和局部變量;靜態(tài)存儲(chǔ)變量和動(dòng)態(tài)存儲(chǔ)變量;函數(shù)的分類:外部函數(shù)和內(nèi)部函數(shù)。1.如果有兩個(gè)同學(xué)參加學(xué)生會(huì)主席的競(jìng)選,現(xiàn)已統(tǒng)計(jì)出兩個(gè)人的總得分,怎么確定誰當(dāng)選?(用函數(shù)來實(shí)現(xiàn))提出問題相關(guān)知識(shí)點(diǎn)7.1函數(shù)的定義、函數(shù)參數(shù)和函數(shù)的值7.2函數(shù)的調(diào)用7.1.1C語言對(duì)函數(shù)的規(guī)定1、一個(gè)源程序文件由一個(gè)或多個(gè)函數(shù)組成2、一個(gè)c程序由一個(gè)或多個(gè)源程序文件組成3、c程序的執(zhí)行從main函數(shù)開始到
2、main()函數(shù)結(jié)束4、所有函數(shù)都是平行的,函數(shù)不能嵌套定義5、函數(shù)按使用角度分:標(biāo)準(zhǔn)函數(shù)、自定義函數(shù),按形式分:無參函數(shù)、有參函數(shù)7.1.2函數(shù)定義的一般形式1、無參函數(shù)的定義形式類型說明符函數(shù)名(){聲明部分語句}3、可以有“空函數(shù)”類型說明符函數(shù)名(){}2、有參函數(shù)的定義形式類型說明符函數(shù)名(形參列表){聲明部分語句}現(xiàn)在我們?cè)囍鴮懗鰡栴}1的函數(shù)。(1)兩個(gè)數(shù)求最大值,定義兩個(gè)形參x,y,從x,y中找到最大者,最大者的類型即函數(shù)類型??傻煤瘮?shù)的首部:intmax(intx,inty)(2)寫出函數(shù)體,實(shí)現(xiàn)兩個(gè)數(shù)求最大值in
3、tmax(intx,inty){intz;z=x>y?x:y;/*z為x,y中得最大者*/return(z);}注意:return(z)的作用是將z的值作為函數(shù)值帶回主調(diào)函數(shù)中。即將最大值帶回說明:(1)形參列表樣式:intx,inty,注意:每個(gè)形參都有類型;(2)函數(shù)類型原則上要求與return后表達(dá)式類型一致,如不一致,表達(dá)式類型強(qiáng)制轉(zhuǎn)換成函數(shù)的類型;如果函數(shù)的確不需要返回值,設(shè)為void型;(3)return語句作用,一是:帶返回值到函數(shù)調(diào)用處;二是:將流程返回函數(shù)調(diào)用處;如果該函數(shù)沒有返回值,可以省略return,最后的
4、}也具有將流程返回調(diào)用處的功能。(4)如何確定一個(gè)函數(shù)是否需要返回值?想一想,我們真的將問題1完全解決了嗎?7.2函數(shù)的調(diào)用1、函數(shù)調(diào)用的一般形式:函數(shù)名(實(shí)參列表);回顧函數(shù)定義的一般形式:函數(shù)類型函數(shù)名(形參列表)2、C程序的一般結(jié)構(gòu):main(){語句函數(shù)名(實(shí)參列表);/*函數(shù)調(diào)用*/語句}函數(shù)類型函數(shù)名(形參列表)/*函數(shù)定義*/{函數(shù)體return語句}1.如果有兩個(gè)同學(xué)參加學(xué)生會(huì)主席的競(jìng)選,現(xiàn)已統(tǒng)計(jì)出兩個(gè)人的總得分,怎么確定誰當(dāng)選?(用函數(shù)來實(shí)現(xiàn))解決問題例7.1求兩個(gè)數(shù)的最大值。main(){inta,b,c;a=
5、12;b=34;c=max(a,b);/*函數(shù)調(diào)用*/printf(“max=%d”,c);}intmax(intx,inty)/*函數(shù)定義*/{intz;z=x>y?x:y;return(z);}分析例7.1的執(zhí)行過程ab1234xy1234主函數(shù)開始執(zhí)行,定義變量a,b,c,a,b賦初值主函數(shù)執(zhí)行下述語句時(shí),c=max(a,b);傳值給被調(diào)用函數(shù)intmax(intx,inty)被調(diào)用函數(shù)開始執(zhí)行,定義變量z,z存放最大值cz主函數(shù)執(zhí)行下述語句z=x>y?x:y;34被調(diào)用函數(shù)執(zhí)行下述語句時(shí),return(z);帶返回值z(mì)
6、給主函數(shù)c=max(a,b);34注意被調(diào)函數(shù)執(zhí)行完12x34y34z主函數(shù)繼續(xù)執(zhí)行,輸出最大值。printf(“max=%d”,c);2.設(shè)某班50人,寫一程序統(tǒng)計(jì)某一單科成績(jī)各分?jǐn)?shù)段的分布人數(shù),每人的成績(jī)隨機(jī)輸入,并要求按下面格式輸出統(tǒng)計(jì)結(jié)果(“*”表示實(shí)際分布人數(shù))。0—59*60—84**85—100*****問題的深化算法思想:(1)定義一個(gè)輸出n個(gè)“*”的函數(shù)。(2)在main函數(shù)中統(tǒng)計(jì)各分?jǐn)?shù)段的人數(shù),分別用n1,n2,n3來存放(3)在函數(shù)調(diào)用時(shí),n1作實(shí)參,傳給形參n,輸出0—59的分布人數(shù),n2作實(shí)參,傳給形
7、參n,輸出60—84的分布人數(shù),n3作實(shí)參,傳給形參n,輸出85—100的分布人數(shù)。例7.2成績(jī)分布情況(為簡(jiǎn)化問題,我們輸入10個(gè)成績(jī))#includevoidstar(intn){inti;for(i=0;i=0&&score<=59)n1++;elseif(score>=6
8、0&&score<=84)n2++;elseif(score>=85&&score<=100)n3++;}printf("0--59");star(n1);printf(“60--84");star(n2);printf(“85—100");sta