freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第6章過(guò)程封裝--函數(shù)(已修改)

2025-10-09 15:49 本頁(yè)面
 

【正文】 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 1 第 6章 過(guò)程封裝--函數(shù) ? 函數(shù) ? 自己編寫(xiě)函數(shù) ? 函數(shù)的使用 ? 數(shù)組作為參數(shù) ? 帶默認(rèn)值的函數(shù) ? 內(nèi)聯(lián)函數(shù) ? 重載函數(shù) ? 函數(shù)模版 ? 變量的作用域 ? 變量的存儲(chǔ)類別 ? 遞歸函數(shù) ? 基于遞歸的算法 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 2 函數(shù)的用途 ? 函數(shù)是程序設(shè)計(jì)語(yǔ)言中最重要的部分,是模塊化設(shè)計(jì)的主要工具。每一個(gè) C++程序都要用到函數(shù)。 ? 即使你自己不定義新的函數(shù) , 在每一個(gè)完整的C++程序中都必須有一個(gè) main() 函數(shù)。 ? 在 C++語(yǔ)言中,字符處理、字符串處理和數(shù)學(xué)計(jì)算都是用函數(shù)的方式提供的。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 3 第 6章 過(guò)程封裝--函數(shù) ? 函數(shù) ? 自己編寫(xiě)函數(shù) ? 函數(shù)的使用 ? 數(shù)組作為參數(shù) ? 帶默認(rèn)值的函數(shù) ? 內(nèi)聯(lián)函數(shù) ? 重載函數(shù) ? 函數(shù)模版 ? 變量的作用域 ? 變量的存儲(chǔ)類別 ? 遞歸函數(shù) ? 基于遞歸的算法 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 4 如何寫(xiě)一個(gè)函數(shù) ? 函數(shù)定義 ? 函數(shù)的返回值:返回值類型應(yīng)與定義中的類型標(biāo)識(shí)符一致。 C++的函數(shù)只能有一個(gè)返回值。 ? 表示一個(gè)函數(shù)沒(méi)有返回值,類型標(biāo)識(shí)符用 void。沒(méi)有返回值的函數(shù)也稱為過(guò)程 類型標(biāo)識(shí)符 函數(shù)名 ( 形式參數(shù)表 ) { 變量定義部分 語(yǔ)句部分 } return 返回值; 或 return( 返回值 ) ; eg. int max(int a, int b) {if (ab) return(a) else return(b)。 } 函數(shù)體 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 5 函數(shù)的命名 ? 函數(shù)名是一個(gè)標(biāo)識(shí)符,符合標(biāo)識(shí)符命名規(guī)范 ? 函數(shù)名要有意義 ? 函數(shù)名一般是一個(gè)動(dòng)詞短語(yǔ),表示函數(shù)的行為 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 6 函數(shù)舉例 — 無(wú)參數(shù)、無(wú)返回值的函數(shù) ? 打印一個(gè)由五行組成的三角形 * *** ***** ******* ********* void printstar() { cout ― *\n‖。 cout ― ***\n‖。 cout ― *****\n‖。 cout ― ********\n‖。 cout ―**********\n‖。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 7 函數(shù)舉例 — 有參數(shù)、無(wú)返回值的函數(shù) ? 打印一個(gè)由 n行組成的三角形 void printstar(int numOfLine) { int i , j。 for (i = 1。 i = numOfLine。 ++i) { cout endl。 for (j = 1。 j = numOfLine i。 ++j) cout ? ?。 for (j = 1。 j = 2 * i 1。 ++j) cout “*”。 } } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 8 函數(shù)舉例 — 無(wú)參數(shù)、有返回值的函數(shù) ? 從終端獲取一個(gè) 1 – 10之間的整型數(shù) int getInput() { int num。 while (true) { cin num。 if (num = 1 amp。amp。 num = 10) return num。 } } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 9 函數(shù)舉例 — 有參數(shù)、有返回值的函數(shù) ? 計(jì)算 n! int p(int n) { int s=1, i。 if (n 0) return(0)。 for (i = 1。 i = n。 ++i) s *= i。 return(s)。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 10 函數(shù)舉例 — 返回布爾量的函數(shù) ? 判斷某一年是否為潤(rùn)年的函數(shù) bool IsLeapYear(int year) { bool leapyear。 leapyear = (((year %4 == 0) amp。amp。(year % 100 != 0)) || (year % 400 == 0)。 return (leapyear)。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 11 第 6章 過(guò)程封裝--函數(shù) ? 函數(shù) ? 自己編寫(xiě)函數(shù) ? 函數(shù)的使用 ? 數(shù)組作為參數(shù) ? 帶默認(rèn)值的函數(shù) ? 內(nèi)聯(lián)函數(shù) ? 重載函數(shù) ? 函數(shù)模版 ? 變量的作用域 ? 變量的存儲(chǔ)類別 ? 遞歸函數(shù) ? 基于遞歸的算法 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 12 函數(shù)的聲明 ? 所有函數(shù)在使用前必須被聲明,以便讓編譯器知道用戶的用法是否正確。 ? 函數(shù)聲明包括下列內(nèi)容: ? 函數(shù)名 ? 函數(shù)的參數(shù)類型 ? 函數(shù)的返回類型 ? 函數(shù)的聲明被稱為函數(shù)的原型,它的形式為: 返回類型 函數(shù)名(參數(shù)表); 參數(shù)表中的每個(gè)參數(shù)說(shuō)明可以是類型,也可以是類型后面再接一個(gè)參數(shù)名。如: int max(int, int)。 int max(int a, int b)。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 13 函數(shù)說(shuō)明規(guī)則 ? 庫(kù)函數(shù)在調(diào)用前需要# include相應(yīng)的頭文件。 ? 自定義的函數(shù)在調(diào)用時(shí)需要進(jìn)行函數(shù)原型說(shuō)明。 ? 函數(shù)原型說(shuō)明與函數(shù)首部寫(xiě)法上需要保持一致,即函數(shù)類型、函數(shù)名、參數(shù)個(gè)數(shù)和參數(shù)順序必須相同。 ? 如果被調(diào)函數(shù)的定義在主調(diào)函數(shù)之前,可以不必加聲明。 ? 如果在所有函數(shù)定義之前,在函數(shù)外部已經(jīng)做了函數(shù)聲明,則在主調(diào)函數(shù)中無(wú)須再作聲明。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 14 函數(shù)調(diào)用 include int max(int a, int b)。 main() { int x, y。 cin x y。 cout max(x + 5, y 3)。 } int max(int a, int b) { if (a b) return(a)。 else return(b)。 } 函數(shù)原型說(shuō)明 函數(shù)調(diào)用 函數(shù)實(shí)現(xiàn) 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 15 函數(shù)調(diào)用 include int max(int a, int b) { if (a b) return(a)。 else return(b)。 } main() { int x, y。 cin x y。 cout max(x + 5, y 3)。 } 函數(shù)調(diào)用 函數(shù)實(shí)現(xiàn),無(wú)須函數(shù)聲明 建議用前一種方式?。? 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 16 函數(shù)調(diào)用 ? 函數(shù)調(diào)用形式 函數(shù)名(實(shí)際參數(shù)表) eg. max( x, y); ? 注意: ? 形式參數(shù)和實(shí)際參數(shù)的個(gè)數(shù)、排列次序、類型要完全相同。 ? 實(shí)際參數(shù)可以是常量、變量、表達(dá)式,甚至是另一個(gè)函數(shù)調(diào)用 ? 傳遞方式:值傳遞 ? 值傳遞: 函數(shù)獲得了主調(diào)程序參數(shù)變量值的拷貝。被調(diào)程序可以改變這些拷貝,但這對(duì)主調(diào)程序的環(huán)境沒(méi)有影響。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 17 函數(shù)調(diào)用 ? 調(diào)用方式 1. 作為語(yǔ)句: printstar()。 2. 作為表達(dá)式的一部分 如要計(jì)算 5!+4!+7! x=p(5) + p(4) + p(7) 3. 作為函數(shù)的參數(shù) Printstar( p(5) + p(4) + p(7))。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 18 函數(shù)執(zhí)行過(guò)程 ? 在主程序中計(jì)算每個(gè)實(shí)際參數(shù)值 ? 用實(shí)際參數(shù)值初始化形式參數(shù) ? 依次執(zhí)行函數(shù)體的每個(gè)語(yǔ)句,直到遇見(jiàn) return語(yǔ)句或函數(shù)體結(jié)束 ? 計(jì)算 return后面的表達(dá)式的值,用表達(dá)式的值構(gòu)造一個(gè)臨時(shí)變量 ? 回到調(diào)用函數(shù),用臨時(shí)變量置換函數(shù)調(diào)用,繼續(xù)主程序的執(zhí)行 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 19 函數(shù)執(zhí)行過(guò)程 int p( int )。 int max( int a, int b ) main() { int x, y。 cin x y。 cout max(x, y)。} int p( int n ) { int s =1, i。 if (n 0) return(0)。 for (i=1。i=n。 ++i) s*=i。 return(s)。 } int max( int a, int b ) { int n1, n2。 n1=p(a)。 n2=p(b)。 return (n1n2? n1: n2)。 } main x(2) y(3) main x(2) y(3) max a(2) b(3) n1 n2 main x(2) y(3) max a(2) b(3) n1 n2 p n(2) s i main x(2) y(3) max a(2) b(3) n1(2) n2 p n(3) s i main x(2) y(3) max a(2) b(3) n1(2) n2(6) main x(2) y(3) 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 20 第 6章 過(guò)程封裝--函數(shù) ? 函數(shù) ? 自己編寫(xiě)函數(shù) ? 函數(shù)的使用 ? 數(shù)組作為參數(shù) ? 帶默認(rèn)值的函數(shù) ? 內(nèi)聯(lián)函數(shù) ? 重載函數(shù) ? 函數(shù)模板 ? 變量的作用域 ? 變量的存儲(chǔ)類別 ? 遞歸函數(shù) ? 基于遞歸的算法 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 21 數(shù)組作為函數(shù)的參數(shù) ? 設(shè)計(jì)一函數(shù),統(tǒng)計(jì) 10位同學(xué)的平均成績(jī) ? 設(shè)計(jì)考慮:如何傳遞參數(shù) ?參數(shù)是 10位同學(xué)的考試成績(jī),可以用 10個(gè)整型數(shù)來(lái)表示。所以有 10個(gè)整型的形式參數(shù) ?一組同類數(shù)據(jù)可以用一個(gè)數(shù)組來(lái)描述,所以參數(shù)也可以是一個(gè) 10個(gè)元素的整型數(shù)組 ?第二種方法更加簡(jiǎn)練 ?返回值是平均成績(jī) 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 22 統(tǒng)計(jì)函數(shù)的實(shí)現(xiàn) int average(int array[10]) { int i, sum = 0。 for (i = 0。 i 10。 ++i) sum += array[i]。 return sum / 10。 } 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 23 average函數(shù)的使用 int main() { int i, score[10]。 cout 請(qǐng)輸入 10個(gè)成績(jī): endl。 for ( i = 0。 i 10。 i++) cin score[i]。 cout 平均成績(jī)是: average(score) endl。 return 0。 } 注意:形式參數(shù)是數(shù)組,實(shí)際參數(shù)也是一個(gè)數(shù)組 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 24 一個(gè)有趣的現(xiàn)象 ? 在函數(shù) average的 return語(yǔ)句前增加一個(gè)對(duì)array[3]賦值的語(yǔ)句,如 array[3] = 90。 ? 在 main函數(shù)的 average函數(shù)調(diào)用后,即return語(yǔ)句前增加一個(gè)輸出 score[3]的語(yǔ)句 ? 結(jié)果是什么??? ? 你會(huì)發(fā)現(xiàn)輸出的值 90而不是 80。 《 程序設(shè)計(jì) 》 程序設(shè)計(jì) 25 數(shù)組參數(shù)的傳遞機(jī)制
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1