




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5講程序的組織結(jié)構(gòu)一、函數(shù)二、標(biāo)準(zhǔn)函數(shù)三、自定義函數(shù)四、函數(shù)與數(shù)組應(yīng)用舉例五、遞歸算法與遞歸函數(shù)六、變量的作用域、可見性和生存期一、函數(shù)程序設(shè)計方法:理解問題想出策略自頂向下逐步求精如學(xué)生“基本情況管理”基本情況管理輸入查詢統(tǒng)計輸出設(shè)計子模塊的好處變復(fù)雜問題為多個簡單問題,再逐個解決。(軟件工程師的經(jīng)典思路)重用性……用一個或多個函數(shù)實現(xiàn)每個模塊函數(shù)的一般形式?函數(shù)類型函數(shù)名(參數(shù)){
函數(shù)體;}關(guān)鍵點函數(shù)的功能函數(shù)的參數(shù)函數(shù)的類型,即返回值類型程序語言:三種基本結(jié)構(gòu)+一個獨立體結(jié)構(gòu)化程序設(shè)計:模塊劃分要注意功能,也要注意數(shù)據(jù)兩個方面二、標(biāo)準(zhǔn)函數(shù)系統(tǒng)給程序員提供了很多庫函數(shù),形成標(biāo)準(zhǔn)函數(shù)庫用時只需包含這些庫函數(shù),就可以直接用它們,如:#include<stdio.h>
或:#include“stdlib.h”這些后綴為.h的文件稱為頭文件頭文件包含的函數(shù)種類math.h數(shù)學(xué)相關(guān)的函數(shù)ctype.h字符處理相關(guān)的函數(shù)string.h字符串處理相關(guān)的函數(shù)stdio.h輸入輸出相關(guān)的函數(shù)stdlib.h內(nèi)存動態(tài)分配,隨機數(shù)等……找書,瀏覽C語言庫函數(shù)學(xué)習(xí)[P126,例5-1],數(shù)學(xué)有關(guān)函數(shù)學(xué)習(xí)[P128,例5-2],隨機數(shù)函數(shù)三、自定義函數(shù)/*功能,參數(shù),返回值及其他*/函數(shù)類型函數(shù)名(參數(shù)){
函數(shù)體;}函數(shù)功能定義明確、準(zhǔn)確,寫在注釋中設(shè)計參數(shù)個數(shù)和數(shù)據(jù)類型也可以沒有參數(shù)設(shè)計返回值的意義和類型也可以沒有返回值,類型為:void函數(shù)名命名規(guī)則與變量命名規(guī)則相同編寫函數(shù)/*計算整型數(shù)x、y的和。x、y為兩個加數(shù),返回值為和*/intadd(intx,inty){ intd; d=x+y; returnd;}intmain(){ intm=0,n=0;inta;a=add(m,n); …;return0;}函數(shù)名,功能參數(shù)返回值利用返回值編寫函數(shù)intadd(intx,inty){ intd; d=x+y; returnd;}intmain(){ intm=0,n=0;inta;printf(“%d”,add(m,n)); …;return0;}編寫函數(shù)/*不利用返回值*/intadd(intx,inty){ intd; d=x+y;
printf(“%d”,d);
returnd;}intmain(){ intm=0,n=0;inta;add(m,n); …;return0;}例:選舉問題主模塊:定義必要的數(shù)據(jù)結(jié)構(gòu),規(guī)劃程序流程輸入模塊:定義函數(shù)功能、名字;參數(shù)和返回值;其它。處理模塊:同理輸出模塊:同理例:選舉問題/*求n個整型數(shù)的最大值。參數(shù)…,返回值…。*/intmax(intvalue[],intn){ inti,maxValue,selected; maxValue=value[0]; for(i=1;i<n;i++) { if(value[i]>maxValue){ maxValue=value[i];selected=i;}} returnselected;}例:選舉問題/**/voidoutput(intselected){ printf("當(dāng)選者是第%d位。\n",selected+1);
return;}/**/voidinput(intvalue[],intn){ inti; printf("請輸入%d個整型數(shù):",n); for(i=0;i<n;i++) {
scanf("%d",&value[i]);}}函數(shù)的調(diào)用<函數(shù)名>(<實參表>);函數(shù)返回值的利用例:撲選舉干問題#d劃ef澆in咽e須NU術(shù)M排5in淘tma絞in糾(){in見tn妥=呼NU脖M態(tài);in菜tda戲ta劃[駛NU終M喚];in掙tMy臭Se冬le捉ct戴ed;in妥pu稍t(暖da冠ta,胸n)友;My立Se核le邪ct斑ed=ma奶x(則da便ta,漸n)怠;ou太tp無ut什(My糞Se敞le她ct私ed);re嚇tu愚r(nóng)n雞0患;}主模饞塊輸入絹模塊處理礦模塊輸出辭模塊函數(shù)奶調(diào)用廊執(zhí)行鋤過程保存熱:返回呢地址真,當(dāng)泛前現(xiàn)窩場恢復(fù)疤:返回爸地址姜,主砌調(diào)函算數(shù)當(dāng)累前現(xiàn)慶場ma鍛in滅()調(diào)fu暗n(轎)結(jié)束fu樂n(階)返回in林tma堅in暫(){…籃;fu而n1匯()永;…程;re尼t(yī)u踩rn灶0爐;}fu謊n1饅(){…殖;fu給n2行()印;…極;}fu紫n2皺(){…醋;}函數(shù)慕參數(shù)應(yīng)的傳膊遞vo旋idou所tp壞ut轎(in免ts){pr壤in屢tf榜("巨%d采\n",膊s琴)罩;}函數(shù)期原型唯的參沈數(shù),更如:in稱ts是函盒數(shù)的桂形式忽參數(shù)現(xiàn),簡群稱:形參余。函數(shù)涼調(diào)用算時,談形參濫才真趕正有殊了存慰儲空蒸間,隱并被忍賦值劈燕,調(diào)拉用時堪傳得環(huán)參數(shù)斧叫:實參。實參春賦值敏給形愧參in海tn幣=團(tuán)NU規(guī)M尺;in能tda到ta乞[漿NU付M杜];in蹲tm;in寒pu谷t(如da馳ta,掉n)唐;m=ma棍x(茅da肚ta,映n)坡;ou蔽tp矩ut慨(響m籍);ms55實參雖賦值塞給形扁參s剛=偷m;數(shù)組往做函蠅數(shù)參茶數(shù)in六tn卡=化NU私M晃;in渡tda肢ta器[超NU愁M木];in慈tm;in連pu跟t(回da秘ta,甘n)輸;m=ma棒x(最da泥ta,租n)診;ou喚tp協(xié)ut嬸(啦m齊);5da與tava濱lu解e數(shù)組倡名是他數(shù)組雄首地荷址實參稻賦值慶給形貌參va辰lu懸e挎=鎖da趕ta;4…9形參函數(shù)咱參數(shù)雁傳遞遇例:斧求和in胸t滋ad艱d(桶in織t貢x,麻i艇nt吐y方){in風(fēng)t哲d;d數(shù)=譽x+輛y結(jié);re執(zhí)tu米rn面d港;}in踢tma姻in聞(){in慢ta,堵b;pr扎in故tf("請輸乏入兩運個整段型的怕加數(shù)陡:\n");sc谷an舅f(("鬧%d饅%d",獲&a,專&b);pr恐in樓tf("兩數(shù)檔之和植為:%d蔬",ad摩d(仇a,封b));re半tu倘rn葵0展;}axx穩(wěn)=莫a;y=怒b;by實參及可以敘是表妙達(dá)式灘,形補參不岸可以藍(lán)。自學(xué)P1界35起~1梨38學(xué)習(xí)[P穩(wěn)13優(yōu)7,例5-災(zāi)4],數(shù)特列求嶺和四、怨函數(shù)押與數(shù)窯組應(yīng)聰用舉生例P1閘38計算四最長依文本享行冒泡茫排序五、銀遞歸泊算法管與遞陣歸函差數(shù)遞歸虜問題雪:子番問題狼的結(jié)旱構(gòu)與機原問鑰題相伸同如:回求n!豬(n飼>1拴)n!弄=(n袋-1甘)!派*n(n怪-1啄)!字=(n女-2免)!*圈(n捆-1貢)…1!勝=園1遞歸庸算法減用于喇解決輩遞歸霧問題機,不窗用于絞軟件奮結(jié)構(gòu)呼設(shè)計談。遞歸爐函數(shù)返與遞瘡歸調(diào)早用函數(shù)叛中直蘇接或董間接遣的調(diào)迎用自途身,獸這樣殖函數(shù)狐叫遞纏歸函共數(shù),猴調(diào)用田稱為示遞歸悄調(diào)用寺。理解具的關(guān)仔鍵在染函數(shù)糕調(diào)用純過程vo穩(wěn)id韻f千un敲1(圣){…圓;fu躲n1衛(wèi)()兼;…蘋;}vo夸id岡f啊un碼1(刮){…邊;fu沈n2雹()走;…搜;}vo炒id舒f撕un訂2(糕){…輸;fu被n1剝()獎;…孤;}求階濱乘函清數(shù)//計算n!(n笑>1襲),返司回值敗為階督乘的糾值lo急ngfa濃ct填or句ia殘l(移in侵tn){if夫(木1躁==覺n勇)re只tu閘rn城1吵;el搖sere聽tu碧rn艱n偉*鞭f答ac蜜to產(chǎn)ri真al散(n廁-1抓)吳;}in蝕tma笛in閥(){in萌tva換r;pr鞭in貨tf("請輸蹦入一緞個正怨整數(shù)妖:")如;sc洗an蔬f(如"%冤d",敗&va竊r);pr僵in真tf沫("濁\n帽%d!值=帶%l膛d\盡n"嗽,va癢r,腿fa徒ct莫or衣ia黎l(狠va潛r))帶;re侵tu看rn懶0據(jù);}調(diào)試皮體會悔遞歸稍函數(shù)鼻的調(diào)歐用過店程編寫渴遞歸乏函數(shù)繳的關(guān)粒鍵找出達(dá)遞歸尖問題北的相著同部疑分遞歸裝結(jié)束興的條擋件自學(xué)Ha方no匯i問題其:P1營44n個不摔同數(shù)憑據(jù)的結(jié)全排盒列問顫題共有n!中挨排列勸形式如:12鉤313模221排323餅131悔232境1每個嗎數(shù)都射輪流巾做第檢一個樸數(shù),卵在加哭上其額余數(shù)柿的全戲排列其余棟數(shù)仍好然是辯這個章規(guī)律剩一陜個數(shù)堡時,樹遞歸逼結(jié)束學(xué)習(xí)[P詳14幼7,例5-塔7]用遞燭歸實甲現(xiàn)二倘分查仙找二分掏查找稱是一承個遞兇歸過紛程[P狠14鼓9,例5-累8]學(xué)習(xí)畜時注調(diào)意遞歸舟函數(shù)敘的應(yīng)孤用技揪巧自頂侵向下暈的結(jié)瘋構(gòu)化痛程序秩設(shè)計六、摔變量都的作猾用域刻、可業(yè)見性籍和生駛存期變量堂的作成用域塊作能用域復(fù)合舒語句釘中定鄭義的桑變量坊,作冬用范迷圍只艇在復(fù)層合語杰句函數(shù)藍(lán)作用釀域函數(shù)貞中定招義的娃變量演,是剝形參的涌作用似范圍文件愈作用點域文件憂中定姜義的謙變量烈,作愉用范質(zhì)圍為黎整個殖文件文件住外作判用域一個裳文件撇中定以義的扔變量伙,在球另一爸個文憑件中贊使用局部腎變量全局罵變量fi促le為1.未cp私p:ex紐奉te束rnin卸tg;矛//暢g定義土于其剛他文恥件,匙現(xiàn)作冰用域謙擴展敬到fi文le甲1in蘆ts;//鄉(xiāng)豐s作用業(yè)域:fi螺le孔1文件己中各周個函諒數(shù)in嫂tf1積(i稿nt懲a此)巴/*函數(shù)f1掩*/{in做tb;……{in暈tc;}壯//災(zāi)c作用汽域:援僅限襲于復(fù)宮合語節(jié)句}倒/狠/a,乒b作用咬域:第僅限聾于函秧數(shù)f1顫()ma刮in材(){in占tm,鑒n;……}喉/富*m窄,n作用酸域:掌僅限其于函因數(shù)ma賢in獵()*/可見挪性可見抹性一啟般規(guī)秀則標(biāo)識趨符要陰先聲嚇明,縣再使等用同一鎖作用塔域中進(jìn)的不翁能聲劉明同御名標(biāo)慘識符在沒鉆有包至含關(guān)盲系的售不同揚作用涼域中斜,可暖聲明不同名柜標(biāo)識蔽符有包窩含關(guān)揉系的胖不同曉作用卸域中敬,如主聲明愛了同統(tǒng)名標(biāo)填識符售,則暈外層枝標(biāo)識督符在閑內(nèi)層穩(wěn)不可騎見文件攝作用做域類作巷用域塊作印用域作用閃域關(guān)企系fi樸le增1.皂cp錢p:in覺ta;in椒tf1奔(i苦nt高a召){……{in挺ta;}}ma據(jù)in柿(){in減ta;f1校(a堤);……}用全僵局變恰量,追還是吩局部舉變量拾?如:峰選舉肝程序in孟tda臟ta普[綢NU張M危];in果tma銳in眠(){in抵tn遭=桑NU塊M行;in秤tMy洗Se構(gòu)le壓ct借ed;in徒pu勁t(腐);My倒Se測le恥ct擾ed=螺ma給x(鏟);ou愿tp芬ut個()任;re灑tu傘rn赤0冤;}vo象id姿i籠np款ut展(利){in社ti美;pr戀in緣瑞tf("請輸貸入%d個整孔型數(shù)擠:",執(zhí)n)媽;fo振r(豬i駱=0芹;溪i<傳NU搞M;票i桶++泄){sc孤an晴f(轉(zhuǎn)"%某d",盡&da輩ta尋[i])午;}}生存絹期變量梯從誕數(shù)生到衡結(jié)束喉的時搶間叫菠生存漲期自動扭變量--怠-動態(tài)援生存恩期聲明做時分勾配存閃儲空頭間,送該標(biāo)土識符可作用謀域結(jié)闖束時怒收回生存飯期
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豫章師范學(xué)院《油畫靜物技法與表現(xiàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 珠海格力職業(yè)學(xué)院《藏文文法上》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧石化職業(yè)技術(shù)學(xué)院《語文學(xué)科教育論》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安歐亞學(xué)院《數(shù)據(jù)分析與可視化》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京工業(yè)大學(xué)《建筑防火設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安科技大學(xué)高新學(xué)院《汽車發(fā)展史》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧工程技術(shù)大學(xué)《資產(chǎn)評估學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川航天職業(yè)技術(shù)學(xué)院《嵌入式系統(tǒng)設(shè)計與開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥信息技術(shù)職業(yè)學(xué)院《建筑類專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 南華大學(xué)船山學(xué)院《素描半身帶手及全身像實踐教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 穩(wěn)定性冠心病診斷與治療指南
- DL-T5704-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工質(zhì)量驗收規(guī)程
- JT-T-610-2004公路隧道火災(zāi)報警系統(tǒng)技術(shù)條件
- 初中英語比較級和最高級專項練習(xí)題含答案
- 大壩安全監(jiān)測系統(tǒng)驗收規(guī)范
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 校園超市經(jīng)營投標(biāo)方案(技術(shù)方案)
- 康復(fù)醫(yī)院建筑設(shè)計標(biāo)準(zhǔn)
- 社會穩(wěn)定風(fēng)險評估 投標(biāo)方案(技術(shù)方案)
- 高層建筑火災(zāi)撲救面臨問題及對策
- JC-T 738-2004水泥強度快速檢驗方法
評論
0/150
提交評論