九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > PPT文檔下載  

合工大計(jì)算機(jī)學(xué)院 程序設(shè)計(jì) 04第四章 函數(shù).ppt

  • 資源ID:12720748       資源大小:304.31KB        全文頁(yè)數(shù):29頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

合工大計(jì)算機(jī)學(xué)院 程序設(shè)計(jì) 04第四章 函數(shù).ppt

第四章函數(shù),函數(shù)的聲明與調(diào)用參數(shù)傳遞方式標(biāo)識(shí)符的作用域變量的生存期遞歸程序設(shè)計(jì)C+語(yǔ)言常用庫(kù)函數(shù),4.1C+語(yǔ)言的函數(shù)一、函數(shù)的建立與使用,函數(shù)的建立函數(shù)聲明:定義函數(shù)的名字、執(zhí)行的語(yǔ)句序列、傳遞和使用的數(shù)據(jù)參數(shù)、返回值等;函數(shù)的使用函數(shù)調(diào)用:指明函數(shù)去“做什么”;函數(shù)調(diào)用的控制流程:如右圖,函數(shù)調(diào)用程序(主調(diào)函數(shù)),調(diào)用F,調(diào)用F,被調(diào)用函數(shù)F,例1:,#includefloatmax(floatx,floaty)floatz;/求兩個(gè)數(shù)的最大值if(x>=y)z=x;elsez=y;returnz;intmain()floati,j,k;/用戶輸入的三個(gè)數(shù)floattemp;/臨時(shí)最大者cout>i>>j>>k;/用戶輸入三個(gè)數(shù)/找出最大數(shù)存放在temp中temp=max(i,j);/main()是主調(diào)函數(shù),max()是被調(diào)函數(shù)temp=max(temp,k);/輸出找到的最大數(shù)cout<<"Themaximumnumberis"<<temp<y?x:y;若函數(shù)定義時(shí)沒(méi)有說(shuō)明函數(shù)類(lèi)型,則缺省認(rèn)為函數(shù)返回類(lèi)型是intmain()若函數(shù)無(wú)返回值,則應(yīng)明確定義函數(shù)類(lèi)型為voidvoidhandle(),函數(shù)名是標(biāo)識(shí)符函數(shù)名后一定要有一對(duì)圓括號(hào)(),這是函數(shù)的標(biāo)志,使函數(shù)與其他標(biāo)識(shí)符名區(qū)分開(kāi)來(lái)形式參數(shù)用于接收從主調(diào)函數(shù)傳給這個(gè)函數(shù)的數(shù)據(jù)一般形式:(數(shù)據(jù)類(lèi)型變量1,數(shù)據(jù)類(lèi)型變量2,)形參個(gè)數(shù)不受限制函數(shù)體聲明部分:用于聲明在函數(shù)中使用到的變量語(yǔ)句部分:在函數(shù)中用于實(shí)現(xiàn)某項(xiàng)任務(wù)的語(yǔ)句序列空函數(shù):函數(shù)體為空(沒(méi)有語(yǔ)句,但不能省略),二、函數(shù)調(diào)用,函數(shù)調(diào)用的一般形式:當(dāng)作表達(dá)式使用函數(shù)名(實(shí)際參數(shù)表)實(shí)際參數(shù)出現(xiàn)在函數(shù)調(diào)用表達(dá)式中,是函數(shù)調(diào)用時(shí),實(shí)際使用的參數(shù)一般形式:(表達(dá)式1,表達(dá)式2,)實(shí)際參數(shù)表是用逗號(hào)分隔的表達(dá)式列表,其中每一個(gè)表達(dá)式稱(chēng)為實(shí)際參數(shù),有時(shí)也簡(jiǎn)稱(chēng)為實(shí)參。在函數(shù)調(diào)用時(shí),需要將實(shí)際參數(shù)的值傳送給對(duì)應(yīng)位置的形式參數(shù)實(shí)際參數(shù)與形式參數(shù)必須一一對(duì)應(yīng),位置、個(gè)數(shù)以及數(shù)據(jù)類(lèi)型都匹配例:p82程序4.1.1,2.函數(shù)調(diào)用表達(dá)式,函數(shù)調(diào)用作為一個(gè)表達(dá)式,其類(lèi)型是函數(shù)返回值的類(lèi)型函數(shù)調(diào)用可用于任何表達(dá)式可以出現(xiàn)的地方例1:if(max(i,j)i>>j>>k;temp=max(i,j);temp=max(temp,k);cout=y)z=x;elsez=y;returnz;,floatmax(floatx,floaty);,函數(shù)原型:floatmax(floatx,floaty);floatmax(float,float);floatmax(floatt,floatk);,4.3參數(shù)傳遞,一、參數(shù)傳遞方式主調(diào)函數(shù)與被調(diào)函數(shù)的數(shù)據(jù)交換:由參數(shù)傳遞與返回值實(shí)現(xiàn)按值調(diào)用:?jiǎn)雾?xiàng)的參數(shù)傳遞按引用調(diào)用:雙向的參數(shù)傳遞二、按值調(diào)用(傳值,按拷貝調(diào)用)單向的,實(shí)際參數(shù)>形式參數(shù),傳遞的是參數(shù)的值例:p91程序4.3.1#includecout<<"iis"<<i<<"n"intsquare(intx)cout<<"jis"<<j<<"n"/求一個(gè)整數(shù)的平方return0;x=x*x;returnx;intmain()inti,j;i=8;j=square(i);,8,64,64,64,三、缺省參數(shù),C+語(yǔ)言允許在函數(shù)原型或函數(shù)定義中為形式參數(shù)指定缺省值,具有缺省值的形式參數(shù)稱(chēng)缺省形參用初值表達(dá)式定義缺省值缺省行參必須從右邊開(kāi)始定義intfunc(inta,floatb,intc=0);若在函數(shù)調(diào)用時(shí)指定了形式參數(shù)對(duì)應(yīng)的實(shí)際參數(shù),則形式參數(shù)使用實(shí)際參數(shù)的值,否則未指定相應(yīng)的實(shí)際參數(shù)則形式參數(shù)使用缺省值。,例2:,#include#include/給出函數(shù)原型doubledistance(doublex1,doubley1,doublex2=0,doubley2=0);intmain()cout<<"(1,2)to(0,0)is"<<distance(1,2)<<"n"cout<<"(-1.5,2)to(1.5,-2)is"<<distance(-1.5,2,1.5,-2)<<"n"return0;/計(jì)算兩點(diǎn)之間的距離doubledistance(doublex1,doubley1,doublex2,doubley2)doublex,y;x=x2-x1;y=y2-y1;returnsqrt(x*x)+(y*y);,4.4生存期與作用域一、變量的兩個(gè)性質(zhì),生存期:(從時(shí)間角度考慮)變量的生存期是指在程序運(yùn)行過(guò)程中變量占存儲(chǔ)空間的時(shí)限作用域:(從空間角度考慮)指在變量占用存儲(chǔ)空間的時(shí)間內(nèi)變量的名字能被引用的區(qū)域,即變量名作用的有效范圍。在變量的作用域中變量必然存在在變量的生存期中變量不一定有效,二、全局變量和局部變量,局部變量:在一個(gè)塊語(yǔ)句內(nèi)部定義的變量作用域:本塊語(yǔ)句中。塊語(yǔ)句嵌套時(shí),內(nèi)層的同名變量有效,而外層的同名變量被屏蔽。不同函數(shù)中使用同名變量,代表不同對(duì)象,互不相干例:voidfunc(intx)形式參數(shù)x的作用域inty=x+1;外層變量y的作用域inty=x+2;內(nèi)層變量y的作用域intz=x+3;內(nèi)層變量z的作用域y=y*y;z=z*z;cout<<x<<”<<y<<”<<z<<”n”;intz=x+4;外層變量z的作用域y=y+y;z=z+z;cout<<x<<”<<y<<”<<z<<”n”;,生存期:局部變量是當(dāng)程序的控制流程進(jìn)入定義該變量的塊語(yǔ)句時(shí),才為其分配一塊臨時(shí)的存儲(chǔ)空間,當(dāng)程序的控制流程退出該程序塊時(shí),臨時(shí)占用的存儲(chǔ)空間被釋放。初始化:無(wú)顯式初始化式,其初值是一個(gè)不確定的值。顯示初始化時(shí),每次流程進(jìn)入塊函數(shù)時(shí),分配內(nèi)存空間,都重新對(duì)局部變量初始化,2.全局變量:在函數(shù)之外定義的變量,作用域:從定義變量開(kāi)始到本源程序文件結(jié)束。生存期:全局變量在整個(gè)程序的運(yùn)行期中都存在初始化:無(wú)顯式初始化式,其初值會(huì)被清0。顯示初始化時(shí),對(duì)全局變量的初始化在編譯時(shí)一次完成。同名的全局變量與局部變量:在局部變量的作用域內(nèi),全局變量被屏蔽,直接使用該名字,用的是局部變量,但可用:作用域運(yùn)算符引用同名全局變量,例:,inty=8;voidfunc(intx)inty=x+1;:y=:y*y;cout<<y<<”<<:y<<”n”;intmain()func(3);cout<<y<<”n”;return0;,三、變量的存儲(chǔ)類(lèi)別,1.存儲(chǔ)方式從生存期(時(shí)間)來(lái)分,有兩種存儲(chǔ)方式靜態(tài)存儲(chǔ)方式:在程序運(yùn)行期間占用固定存儲(chǔ)空間動(dòng)態(tài)存儲(chǔ)方式:運(yùn)行時(shí),根據(jù)需要?jiǎng)討B(tài)分配存儲(chǔ)空間內(nèi)存中,供用戶使用的存儲(chǔ)空間:變量的定義:數(shù)據(jù)存儲(chǔ)類(lèi)別數(shù)據(jù)類(lèi)型變量名(=初值);,程序區(qū),靜態(tài)存儲(chǔ)區(qū),動(dòng)態(tài)存儲(chǔ)區(qū),2.數(shù)據(jù)存儲(chǔ)類(lèi)別,例:,#includevoidgrow()intage=30;age=age+1;cout<<"Myageis"<<age<<"n"return;intmain()for(inti=1;i<=3;i=i+1)grow();return0;age不是靜態(tài)變量的運(yùn)行結(jié)果:age是靜態(tài)局部變量的運(yùn)行結(jié)果:Myageis31Myageis31Myageis31Myageis32Myageis31Myageis33,static,4.5遞歸程序設(shè)計(jì),在函數(shù)定義中,一個(gè)函數(shù)直接或間接地調(diào)用自己,稱(chēng)遞歸調(diào)用,這類(lèi)函數(shù)為遞歸函數(shù)。1)直接遞歸2)間接遞歸f(intx)f1()f2()f(x-1);f2();f1();遞歸調(diào)用是無(wú)終止的自身調(diào)用,因此在遞歸函數(shù)中應(yīng)該用if語(yǔ)句或其它分支語(yǔ)句,判斷當(dāng)某些條件成立時(shí)結(jié)束遞歸調(diào)用,例:,/功能:使用遞歸程序計(jì)算Fibonacci序列。#includeintfibonacci(intn)intresult;if(n<2)result=1;elseresult=fibonacci(n-1)+fibonacci(n-2);returnresult;intmain()intloop;/循環(huán)變量/輸出Fibonacci序列的前6個(gè)數(shù)for(loop=0;loop<=5;loop=loop+1)cout<<fibonacci(loop)<<""cout<<"n"return0;,intfibonacci(intn)intresult,i,pre1,pre2;result=1;i=2;pre2=1;while(i<=n)pre1=pre2;pre2=result;result=pre1+pre2;i+;returnresult;,設(shè)n為5,則有:F(5)=F(3)+F(4)=F(1)+F(2)+F(2)+F(3)=F(1)+F(0)+F(1)+F(0)+F(1)+F(1)+F(2)=F(1)+F(0)+F(1)+F(0)+F(1)+F(1)+F(0)+F(1)=1+1+1+1+1+1+1+1=8,分析如下:,例:梵塔問(wèn)題,盤(pán)按由小到大的順序標(biāo)上號(hào)碼1n。開(kāi)始時(shí)n個(gè)盤(pán)全套在A柱上,且小的放在大的上面,如圖4.6.1所示。游戲要求按下列規(guī)則將所有的盤(pán)從A柱移到C柱,在移動(dòng)過(guò)程中可以借助另一個(gè)B柱。規(guī)則1:每次只能移動(dòng)柱最上面的一個(gè)盤(pán);規(guī)則2:任何盤(pán)都不得放在比它小的盤(pán)上。ABC12n,遞歸思路:把A上的n個(gè)盤(pán)運(yùn)到C上先把n-1個(gè)盤(pán)從A搬到B,借助C把A上剩下的最大的一個(gè)盤(pán)搬到C再把n-1個(gè)盤(pán)從B搬到C,借助A當(dāng)n=1時(shí),直接從A搬到C即可,程序,#include/將disk_num個(gè)盤(pán)從from柱移到to柱,可以借助aux柱voidmove_tower(intdisk_num,charfrom,charto,charaux)if(disk_num=1)/僅有一個(gè)盤(pán)時(shí),直接從from柱移到to柱cout<<"Movedisk1from"<<from<<"to"<<to<<"n"else/將disk_num-1個(gè)盤(pán)從from柱移到aux柱,借助于to柱move_tower(disk_num-1,from,aux,to);/將最下的盤(pán)從from柱移到to柱cout<<"Movedisk"<<disk_num<<"from"<<from<<"to"<<to<<"n"/將disk_num-1個(gè)盤(pán)從aux柱移到to柱,借助于from柱move_tower(disk_num-1,aux,to,from);return;intmain()move_tower(4,A,C,B);return0;,

注意事項(xiàng)

本文(合工大計(jì)算機(jī)學(xué)院 程序設(shè)計(jì) 04第四章 函數(shù).ppt)為本站會(huì)員(sh****n)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


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