




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
函數(shù)定義和調(diào)用的格式第1頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)的定義函數(shù)定義的格式類型修飾符函數(shù)名(形式參數(shù)表){函數(shù)體}例:doublesqare(doublen){returnn*n;}參數(shù)有參函數(shù)各參數(shù)用逗號(hào)分隔,與變量說明方法相同無參函數(shù)“形式參數(shù)表”可以為空,也可用void返回值有返回值函數(shù)1、“類型修飾符”說明返回值的類型,為Int時(shí)可以
省略,但不提倡2、“函數(shù)體”中最后一語句應(yīng)為:Return表達(dá)式;3、函數(shù)的返回值應(yīng)與“類型修飾符”的說明一致,
兼容的轉(zhuǎn)換,不兼容的發(fā)生編譯錯(cuò)誤無返回值函數(shù)1、“類型修飾符”必須為Void2、“函數(shù)體”中最后語句可以為:Return;也可不用第2頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)調(diào)用函數(shù)調(diào)用格式函數(shù)名(實(shí)在參數(shù)表)實(shí)參與形參在數(shù)量、類型、次序上必須一致
類型不一致時(shí),兼容的轉(zhuǎn)換,不兼容的發(fā)生編譯錯(cuò)誤調(diào)用方法作為表達(dá)式1、必須是有返回值的函數(shù)2、例:result=sqare(5.0);作為語句1、可以沒有返回值,有,也被舍棄不用2、調(diào)用語句后加語句結(jié)束符構(gòu)成表達(dá)式語句3、例:Hi();sqare(5.0);函數(shù)的遞歸調(diào)用函數(shù)直接或間接地調(diào)用自身第3頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)原形與頭文件三種格式函數(shù)定義類型修飾符函數(shù)名(形式參數(shù)表){函數(shù)體}函數(shù)原形類型修飾符函數(shù)名(形式參數(shù)表);函數(shù)調(diào)用函數(shù)名(實(shí)在參數(shù)表)一項(xiàng)原則:在調(diào)用函數(shù)時(shí),函數(shù)必須經(jīng)過定義或原形說明頭文件將C++應(yīng)用程序中各個(gè)程序文件里面要調(diào)用的用戶自定義函數(shù)的原形說明放在一個(gè)頭文件中,在有函數(shù)調(diào)用的程序文件中包含這個(gè)頭文件即可第4頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月多文件應(yīng)用系統(tǒng)第一個(gè)文件:描述函數(shù)的頭文件第二個(gè)文件:定義函數(shù)的程序文件第三個(gè)文件:調(diào)用函數(shù)的主程序文件第5頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月參數(shù)傳遞傳值把實(shí)參表達(dá)式的值作為一個(gè)副本傳遞給形參變量,函數(shù)調(diào)用不會(huì)改變實(shí)參的值一維數(shù)組參數(shù)1、在定義一個(gè)一維數(shù)組參數(shù)時(shí),可以不限定數(shù)組元素的個(gè)數(shù)2、在調(diào)用具有數(shù)組參數(shù)的函數(shù)時(shí),須以單獨(dú)的數(shù)組名為實(shí)在參數(shù)二維數(shù)組參數(shù)1、在定義一個(gè)二(或三)維數(shù)組參數(shù)時(shí),其第一維可以不限定,但其余各維都須限定2、在調(diào)用具有數(shù)組參數(shù)的函數(shù)時(shí),須以單獨(dú)的數(shù)組名為實(shí)在參數(shù)3、僅用行下標(biāo)引用一個(gè)二維數(shù)組時(shí),實(shí)際上引用的是相應(yīng)行的那個(gè)一維數(shù)組說明:對(duì)于數(shù)組參數(shù),形參數(shù)組是對(duì)應(yīng)的實(shí)參數(shù)組的代表,而不是它的副本,因此,對(duì)形參數(shù)組的任何改變實(shí)際上就是對(duì)實(shí)參數(shù)組的改變第6頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月可選參數(shù)在說明一個(gè)函數(shù)時(shí),可以為形式參數(shù)表中的最后若干個(gè)參數(shù)設(shè)定默認(rèn)值,從而把這些參數(shù)設(shè)定為可選參數(shù)在調(diào)用這個(gè)函數(shù)時(shí),如果沒有給出對(duì)應(yīng)于可選參數(shù)的實(shí)參,系統(tǒng)就自動(dòng)以設(shè)定的默認(rèn)值作為實(shí)參傳遞給這個(gè)函數(shù)在調(diào)用具有可選參數(shù)的函數(shù)時(shí),被省略的只能是最后的連續(xù)的若干個(gè)可選參數(shù)(即不能間隔省略)可選參數(shù)的說明格式如下:類型修飾符變量名=默認(rèn)值(常量表達(dá)式)可選參數(shù)應(yīng)該在函數(shù)原形中說明第7頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月內(nèi)聯(lián)函數(shù)內(nèi)聯(lián)函數(shù):在一般函數(shù)定義前面加上保留字inline,該函數(shù)即被說明為內(nèi)聯(lián)函數(shù),例:
inlineintadd2(intn){returnn+2;}內(nèi)聯(lián)展開:程序執(zhí)行時(shí),C++有可能直接調(diào)用函數(shù)體代碼來替代對(duì)函數(shù)的調(diào)用函數(shù)說明:內(nèi)聯(lián)函數(shù)的說明也應(yīng)放置在頭文件中第8頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)重載與名字混成函數(shù)重載:允許定義同名的函數(shù),但重載的函數(shù)必須在參數(shù)的數(shù)量上或類型上與其他同名函數(shù)有所不同重載函數(shù)的調(diào)用:如果調(diào)用時(shí)所用的參數(shù)與所定義的各種情況均不相同,則編譯系統(tǒng)會(huì)選擇與其兼容的最相似的那個(gè)函數(shù),并完成必要的類型轉(zhuǎn)換,如果找不到兼容的函數(shù),則產(chǎn)生編譯錯(cuò)誤名字混成:編譯系統(tǒng)在處理重載函數(shù)時(shí)會(huì)形成不同的內(nèi)部名稱,這種方法稱為名字混成在重載函數(shù)時(shí)必須保證在逐個(gè)去掉可選參數(shù)后,仍然在參數(shù)個(gè)數(shù)上或類型上與同名函數(shù)有所不同第9頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)的作用域全局作用域:不但在定義函數(shù)的文件中可以調(diào)用,而且在同一應(yīng)用系統(tǒng)的其他程序文件中也可調(diào)用文件作用域:說明為static的函數(shù)只能被同一文件中的函數(shù)調(diào)用,例:
staticlongadd(longa,longb){returna+b;}第10頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月全局變量全局變量:定義于函數(shù)外部的變量稱為全局變量靜態(tài)生存期:全局變量在應(yīng)用程序運(yùn)行的整個(gè)期間都有效,如果在定義時(shí)未初始化,則自動(dòng)初始化為0文件作用域:全局變量定義時(shí)使用static修飾,則只允許同一文件中的函數(shù)訪問該變量跨文件作用域:全局變量定義時(shí)未使用static修飾,則還允許同一系統(tǒng)的其他程序文件中的函數(shù)訪問該變量外部說明:externinta應(yīng)用場(chǎng)合
①跨文件作用域的全局變量被其他程序文件中的函數(shù)訪問
②變量的聲明在函數(shù)聲明之后,稱之為“變量的原形”第11頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月局部變量局部變量:定義于函數(shù)內(nèi)部的變量塊作用域:局部變量只允許定義該變量的塊中的語句訪問,“塊”一般指復(fù)合語句,復(fù)合語句中位于變量定義之前的語句也不能訪問該變量局部變量的存儲(chǔ)類型:
①自動(dòng)變量:其生存期從變量定義開始,到所在塊運(yùn)行結(jié)束時(shí)為止,用auto修飾或省略之
②
寄存器變量:也是自動(dòng)變量的一種,但它是存儲(chǔ)于寄存器中的,只有適合于單個(gè)寄存器存放的變量才可聲明為寄存器變量,用register修飾
③靜態(tài)變量:用static修飾的局部變量具有靜態(tài)生存期,存在于應(yīng)用程序的整個(gè)運(yùn)行期間第12頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)模板(一)函數(shù)模板:一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的原代碼除了因所針對(duì)的數(shù)據(jù)類型不同而有所差異外,其基本結(jié)構(gòu)相同。定義格式:template<模板形參表>函數(shù)定義例:
template<classT>//T被稱之為虛擬類型TMax(Tx,Ty){return(x>y?x:y);}函數(shù)模板的實(shí)例化:編譯系統(tǒng)根據(jù)每次調(diào)用的實(shí)在參數(shù)的情況生成適當(dāng)?shù)恼{(diào)用代碼,并生成相應(yīng)版本的函數(shù)定義,例:cout<<Max(3,5);intMax(intx,inty){return(x>y?x:y);}第13頁(yè),課件共15頁(yè),創(chuàng)作于2023年2月函數(shù)模板(二)函數(shù)模板的強(qiáng)制實(shí)例化:在函數(shù)調(diào)用格式中插入模板的實(shí)參表,例:
cout<<Max<int>(3,5.0);將生成如下實(shí)例:
intMax(intx,inty){return(x>y?x:y;)}//5.0為double型,強(qiáng)制轉(zhuǎn)換為int型若與模板的某個(gè)實(shí)例原形相同的函數(shù)定義已經(jīng)存在,則函數(shù)定義優(yōu)先函數(shù)模板的形參表中可以有多個(gè)參數(shù),例:
template<classT1,classT2>
T1Max(T1x,T2y){
returnx>(T1)y?x:(T1)y;
}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 欣賞課《豐收的節(jié)日》(教學(xué)設(shè)計(jì))-五年級(jí)上冊(cè)人音版(2012)音樂
- 2023六年級(jí)英語下冊(cè) Unit 7 Summer holiday plans Period 2說課稿 譯林牛津版
- 2024-2025學(xué)年高中生物 專題1 傳統(tǒng)發(fā)酵技術(shù)的應(yīng)用 課題3 制作泡菜并檢測(cè)亞硝酸鹽含量說課稿2 新人教版選修1
- 第十五課 輕松網(wǎng)上行教學(xué)設(shè)計(jì)小學(xué)信息技術(shù)陜教版三年級(jí)下冊(cè)-陜教版
- 2025年區(qū)塊鏈技術(shù)的區(qū)塊鏈金融
- 2025新冠院感考試題及答案
- 2025定州教師考試題目及答案
- 2025年湖南省稅務(wù)系統(tǒng)遴選面試真題帶題目詳解含答案
- 2025年如何做好紡織品檢驗(yàn)員培訓(xùn)試題及答案
- 大數(shù)據(jù)分析師招聘筆試題及解答(某大型央企)2025年附答案
- 高空作業(yè)的安全協(xié)議書(2024版)
- 2024版標(biāo)準(zhǔn)工廠租賃合同模板
- 稅務(wù)盡職調(diào)查報(bào)告
- CIM登峰系列方冰制冰機(jī)技術(shù)服務(wù)手冊(cè)
- 石渣清運(yùn)施工方案
- 高速公路無人機(jī)施工方案
- 七田真1000圖記憶
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗(yàn)
- 運(yùn)營(yíng)管理指導(dǎo)手冊(cè)(運(yùn)營(yíng))
- 深靜脈血栓形成的診斷和治療指南第三版
- 春之聲圓舞曲-教學(xué)設(shè)計(jì)教案
評(píng)論
0/150
提交評(píng)論