版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、函數(shù)定義和調(diào)用的格式第1頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一函數(shù)的定義函數(shù)定義的格式類型修飾符 函數(shù)名(形式參數(shù)表)函數(shù)體例:double sqare(double n)return n*n;參數(shù)有參函數(shù)各參數(shù)用逗號(hào)分隔,與變量說(shuō)明方法相同無(wú)參函數(shù)“形式參數(shù)表”可以為空,也可用void返回值有返回值函數(shù)1、“類型修飾符”說(shuō)明返回值的類型,為 Int 時(shí)可以 省略,但不提倡2、“函數(shù)體”中最后一語(yǔ)句應(yīng)為: Return 表達(dá)式;3、函數(shù)的返回值應(yīng)與“類型修飾符”的說(shuō)明一致, 兼容的轉(zhuǎn)換,不兼容的發(fā)生編譯錯(cuò)誤無(wú)返回值函數(shù)1、“類型修飾符”必須為Void2、“函數(shù)體”中最后語(yǔ)句可
2、以為:Return; 也可不用第2頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一函數(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);作為語(yǔ)句1、可以沒(méi)有返回值,有,也被舍棄不用2、調(diào)用語(yǔ)句后加語(yǔ)句結(jié)束符構(gòu)成表達(dá)式語(yǔ)句3、例:Hi(); sqare(5.0);函數(shù)的遞歸調(diào)用函數(shù)直接或間接地調(diào)用自身第3頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一函數(shù)原形與頭文件三種格式函數(shù)定義類型修飾符 函數(shù)名(形式參數(shù)表)函數(shù)體函數(shù)
3、原形類型修飾符 函數(shù)名(形式參數(shù)表);函數(shù)調(diào)用函數(shù)名(實(shí)在參數(shù)表)一項(xiàng)原則:在調(diào)用函數(shù)時(shí),函數(shù)必須經(jīng)過(guò)定義或原形說(shuō)明頭文件將C+應(yīng)用程序中各個(gè)程序文件里面要調(diào)用的用戶自定義函數(shù)的原形說(shuō)明放在一個(gè)頭文件中,在有函數(shù)調(diào)用的程序文件中包含這個(gè)頭文件即可第4頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一多文件應(yīng)用系統(tǒng)第一個(gè)文件:描述函數(shù)的頭文件第二個(gè)文件:定義函數(shù)的程序文件第三個(gè)文件:調(diào)用函數(shù)的主程序文件第5頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一參數(shù)傳遞傳值把實(shí)參表達(dá)式的值作為一個(gè)副本傳遞給形參變量,函數(shù)調(diào)用不會(huì)改變實(shí)參的值一維數(shù)組參數(shù)1、在定義一個(gè)一維數(shù)組參數(shù)時(shí),可以不限
4、定數(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ù)組說(shuō)明:對(duì)于數(shù)組參數(shù),形參數(shù)組是對(duì)應(yīng)的實(shí)參數(shù)組的代表,而不是它的副本,因此,對(duì)形參數(shù)組的任何改變實(shí)際上就是對(duì)實(shí)參數(shù)組的改變第6頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一可選參數(shù)在說(shuō)明一個(gè)函數(shù)時(shí),可以為形式參數(shù)表中的最后若干個(gè)參數(shù)設(shè)定默認(rèn)值,從而把這些參數(shù)設(shè)定為可選參數(shù)在調(diào)用這個(gè)函數(shù)時(shí),如果沒(méi)有給出對(duì)
5、應(yīng)于可選參數(shù)的實(shí)參,系統(tǒng)就自動(dòng)以設(shè)定的默認(rèn)值作為實(shí)參傳遞給這個(gè)函數(shù)在調(diào)用具有可選參數(shù)的函數(shù)時(shí),被省略的只能是最后的連續(xù)的若干個(gè)可選參數(shù)(即不能間隔省略)可選參數(shù)的說(shuō)明格式如下:類型修飾符 變量名=默認(rèn)值(常量表達(dá)式)可選參數(shù)應(yīng)該在函數(shù)原形中說(shuō)明第7頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一內(nèi)聯(lián)函數(shù)內(nèi)聯(lián)函數(shù):在一般函數(shù)定義前面加上保留字inline,該函數(shù)即被說(shuō)明為內(nèi)聯(lián)函數(shù),例:inline int add2(int n)return n+2;內(nèi)聯(lián)展開:程序執(zhí)行時(shí),C+有可能直接調(diào)用函數(shù)體代碼來(lái)替代對(duì)函數(shù)的調(diào)用函數(shù)說(shuō)明:內(nèi)聯(lián)函數(shù)的說(shuō)明也應(yīng)放置在頭文件中第8頁(yè),共15頁(yè),2022年,
6、5月20日,9點(diǎn)28分,星期一函數(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è),2022年,5月20日,9點(diǎn)28分,星期一函數(shù)的作用域全局作用域:不但在定義函數(shù)的文件中可以調(diào)用,而且在同一應(yīng)用系統(tǒng)的
7、其他程序文件中也可調(diào)用文件作用域:說(shuō)明為static的函數(shù)只能被同一文件中的函數(shù)調(diào)用,例:static long add(long a,long b)return a+b;第10頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一全局變量全局變量:定義于函數(shù)外部的變量稱為全局變量靜態(tài)生存期:全局變量在應(yīng)用程序運(yùn)行的整個(gè)期間都有效,如果在定義時(shí)未初始化,則自動(dòng)初始化為0文件作用域:全局變量定義時(shí)使用static修飾,則只允許同一文件中的函數(shù)訪問(wèn)該變量跨文件作用域:全局變量定義時(shí)未使用static修飾,則還允許同一系統(tǒng)的其他程序文件中的函數(shù)訪問(wèn)該變量外部說(shuō)明:extern int a 應(yīng)用場(chǎng)合
8、 跨文件作用域的全局變量被其他程序文件中的函數(shù)訪問(wèn) 變量的聲明在函數(shù)聲明之后,稱之為“變量的原形”第11頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一局部變量局部變量:定義于函數(shù)內(nèi)部的變量塊作用域:局部變量只允許定義該變量的塊中的語(yǔ)句訪問(wèn),“塊”一般指復(fù)合語(yǔ)句,復(fù)合語(yǔ)句中位于變量定義之前的語(yǔ)句也不能訪問(wèn)該變量局部變量的存儲(chǔ)類型: 自動(dòng)變量:其生存期從變量定義開始,到所在塊運(yùn)行結(jié)束時(shí)為止,用auto修飾或省略之 寄存器變量:也是自動(dòng)變量的一種,但它是存儲(chǔ)于寄存器中的,只有適合于單個(gè)寄存器存放的變量才可聲明為寄存器變量,用register修飾 靜態(tài)變量:用static修飾的局部變量具有靜
9、態(tài)生存期,存在于應(yīng)用程序的整個(gè)運(yùn)行期間第12頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一函數(shù)模板(一)函數(shù)模板:一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的原代碼除了因所針對(duì)的數(shù)據(jù)類型不同而有所差異外,其基本結(jié)構(gòu)相同。定義格式:template 函數(shù)定義 例: template / T被稱之為虛擬類型 T Max(T x,T y) return (xy? x:y); 函數(shù)模板的實(shí)例化:編譯系統(tǒng)根據(jù)每次調(diào)用的實(shí)在參數(shù)的情況生成適當(dāng)?shù)恼{(diào)用代碼,并生成相應(yīng)版本的函數(shù)定義,例:couty? x:y); 第13頁(yè),共15頁(yè),2022年,5月20日,9點(diǎn)28分,星期一函數(shù)模板(二)函數(shù)模板的強(qiáng)制實(shí)例化:在函數(shù)調(diào)用格式中插入模板的實(shí)參表,例:coutMax(3,5.0); 將生成如下實(shí)例:int Max(int x,int y)return(xy?x:y;)/5.0為double型,強(qiáng)制轉(zhuǎn)換為int型若與模板的某個(gè)實(shí)例原形相同的函數(shù)定義已經(jīng)存在,則函數(shù)定義優(yōu)先函數(shù)模板的形參表中可以有多個(gè)參數(shù),例:templateT1 Max(T1 x,T2 y)return x(T1)y? x:(T1)y; /只要可以比較大小,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度嬰幼兒游泳館加盟服務(wù)合同4篇
- 二零二五年度實(shí)木地板翻新與保養(yǎng)服務(wù)合同4篇
- 2025年代理協(xié)議示范文本-辦公文具代理合同
- 2025版別墅區(qū)物業(yè)委托經(jīng)營(yíng)管理服務(wù)標(biāo)準(zhǔn)范本3篇
- 二零二五年度公司股權(quán)激勵(lì)計(jì)劃后續(xù)管理與跟蹤合同2篇
- 2025年中國(guó)雙面羊絨大衣行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略咨詢報(bào)告
- 2025年度海洋科學(xué)研究中心研究員聘用合同
- 2025年度交通行業(yè)短期運(yùn)輸司機(jī)勞動(dòng)合同
- 二零二五年度消防安全員消防技術(shù)咨詢服務(wù)聘用合同
- 二零二五年度農(nóng)業(yè)科技推廣勞務(wù)合同執(zhí)行與效果評(píng)估
- 第三單元名著導(dǎo)讀《經(jīng)典常談》知識(shí)清單 統(tǒng)編版語(yǔ)文八年級(jí)下冊(cè)
- 第十七章-阿法芙·I·梅勒斯的轉(zhuǎn)變理論
- 焊接機(jī)器人在汽車制造中應(yīng)用案例分析報(bào)告
- 合成生物學(xué)在生物技術(shù)中的應(yīng)用
- 中醫(yī)門診病歷
- 廣西華銀鋁業(yè)財(cái)務(wù)分析報(bào)告
- 無(wú)違法犯罪記錄證明申請(qǐng)表(個(gè)人)
- 大學(xué)生勞動(dòng)教育PPT完整全套教學(xué)課件
- 繼電保護(hù)原理應(yīng)用及配置課件
- 《殺死一只知更鳥》讀書分享PPT
- 蓋洛普Q12解讀和實(shí)施完整版
評(píng)論
0/150
提交評(píng)論