《帶參帶返回值函數(shù)》由會員分享,可在線閱讀,更多相關(guān)《帶參帶返回值函數(shù)(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、帶參帶返回值函數(shù) 專業(yè)英語詞匯英文詞匯對應(yīng)的中文意義function函數(shù)arguments實際參數(shù)formal parameters形式參數(shù)return value返回值function prototype declaration函數(shù)原型聲明local variable 局部(定義在函數(shù)內(nèi)部的)變量 回顧與提問n 簡 單 回 顧 第 1學(xué) 期 的 主 要 內(nèi) 容n 回 顧 第 1學(xué) 期 計 算 器 案 例 的 主 要 內(nèi) 容 第1學(xué)期主要內(nèi)容l C語 言 程 序 結(jié) 構(gòu) ( 無 參 無 返 回 值 函 數(shù) 的 編 寫 )l 數(shù) 據(jù) 類 型 、 變 量 輸 入 /輸 出 、 運 算 符 int、
2、 float、 double、 char scanf、 printf、 (getchar、 putchar) 算 術(shù) 、 賦 值 、 關(guān) 系 、 邏 輯 運 算 符l 三 種 程 序 設(shè) 計 結(jié) 構(gòu) 順 序 、 選 擇 ( 分 支 ) 、 循 環(huán) 結(jié) 構(gòu) 第1學(xué)期計算器案例主要內(nèi)容l 用 無 參 無 返 回 值 的 函 數(shù) 實 現(xiàn)l 加 、 減 、 乘 運 算 -順 序 結(jié) 構(gòu)l 除 法 、 求 余 -分 支 結(jié) 構(gòu) ( 判 斷 除 數(shù) 是 否 為 0)l 累 加 、 階 乘 -循 環(huán) 結(jié) 構(gòu)l 主 函 數(shù) -switch語 句 的 應(yīng) 用 、 用 死 循 環(huán) 控 制 程序 反 復(fù) 執(zhí) 行 本
3、課內(nèi)容l 帶 參 數(shù) 有 返 回 值 函 數(shù) 函數(shù)的類型函 數(shù) 定 義 基 本 格 式 : 返 回 值 類 型 函 數(shù) 名 (參 數(shù) 類 型 參 數(shù) 名 )注 : 也 可 以 沒 有 參 數(shù) 或 有 兩 個 ( 以 上 ) 的 參 數(shù) , 兩 個 以 上 的 參 數(shù) 用 逗 號 分 隔 , 如 :返 回 值 類 型 函 數(shù) 名 (參 數(shù) 類 型 參 數(shù) 名 , 參 數(shù) 類 型 參 數(shù) 名 , 參數(shù) 類 型 參 數(shù) 名 )-這 是 有 三 個 參 數(shù) 的 函 數(shù)返 回 值 類 型 有 : void、 int、 double、 float、 char及 其 他 C語 言 中 可 以 使 用 的 類
4、 型 。如 果 是 void表 示 該 函 數(shù) 無 返 回 值 。 其 他 則 表 示 有 返 回 值 。 參數(shù) 類 型 即 是 數(shù) 據(jù) 類 型 、 參 數(shù) 名 即 是 變 量 名 , 只 是 叫 法 不 同 而已 。 函數(shù)的類型 由 返 回 值 和 參 數(shù) 是 否 有 可 構(gòu) 成 以 下 四 類 函 數(shù) : 實 際 編 程 中 , 各 種 類 型 都 可 能 遇 到 , 但 最 常 見 的 是 有 返 回 值帶 參 數(shù) 的 函 數(shù)類 型 函 數(shù) 原 型 舉 例( 1) 無 返 回 值 無 參 數(shù) 函 數(shù) void f1( );( 2) 無 返 回 值 帶 參 數(shù) 函 數(shù) void f2(ch
5、ar s );( 3) 有 返 回 值 無 參 數(shù) 函 數(shù) int f3( );( 4) 有 返 回 值 帶 參 數(shù) 函 數(shù) * double f4( int n ); 無返回值無參數(shù)函數(shù)的編寫思路與 在 main函 數(shù) 中 編 程 思 路 完 全 相 同 。例 如 : 計 算 器 中 的 除 法 函 數(shù)void divide( ) /第 一 步 : 定 義 變 量 ( 用 于 輸 入 運 算 數(shù) 和 保 存 結(jié) 果 )/第 二 步 : 從 鍵 盤 上 輸 入 兩 個 運 算 數(shù)/第 三 步 : 計 算 兩 個 數(shù) 的 除 法 ( 要 用 if語 句 考 慮 除 數(shù) 為 0的 特 殊 情 況
6、) /第 四 步 : 輸 出 計 算 結(jié) 果 無返回值無參數(shù)函數(shù)的調(diào)用假 設(shè) 在 main函 數(shù) 中 調(diào) 用 。 在 其 他 函 數(shù) 中 調(diào) 用 也 是 一樣 的 。main() divide( ); /函 數(shù) 調(diào) 用 語 句 ( 直 接 調(diào) 用 ) 有返回值有參數(shù)函數(shù)的編寫思路與 無 返 回 值 無 參 數(shù) 函 數(shù) 略 有 不 同 。返 回 值 的 數(shù) 據(jù) 類 型 函 數(shù) 名 ( 數(shù) 據(jù) 類 型 參 數(shù) 名 1 , 數(shù) 據(jù) 類 型 參 數(shù) 名 2) /函 數(shù) 的 功 能 代 碼 部 分 -略 有 不 同/返 回 結(jié) 果 值 -最 大 的 不 同 之 處 有返回值有參數(shù)函數(shù)的編寫例 1: 如
7、果 我 們 想 定 義 一 個 函 數(shù) , 要 求 該 函 數(shù) 能 夠 實 現(xiàn) 計 算 圓的 面 積 , 并 將 計 算 結(jié) 果 返 回 , 則 可 將 函 數(shù) 定 義 如 下 :double areaOfCircle( double radius ) /radius表 示 半 徑 /根 據(jù) radius計 算 圓 的 面 積/返 回 圓 的 面 積 有返回值有參數(shù)函數(shù)的編寫例 1: 如 果 我 們 想 定 義 一 個 函 數(shù) , 要 求 該 函 數(shù) 能 夠 實 現(xiàn) 計 算 圓的 面 積 , 并 將 計 算 結(jié) 果 返 回 , 則 可 將 函 數(shù) 定 義 如 下 :double areaOfC
8、ircle( double radius ) /radius表 示 半 徑 double area; /定 義 面 積 變 量/根 據(jù) radius計 算 圓 的 面 積area = 3.14 * radius * radius ;/返 回 圓 的 面 積return area; 有返回值有參數(shù)函數(shù)的編寫編 寫 中 注 意 的 問 題 :( 1) 不 允 許 再 次 定 義 與 參 數(shù) 名 相 同 的 變 量( 2) 參 數(shù) 的 值 是 不 需 要 在 函 數(shù) 中 輸 入 的 ( 因 為 是 在 調(diào) 用 的 時候 傳 遞 過 來 的 )( 3) 在 函 數(shù) 中 一 般 不 輸 出 結(jié) 果( 4
9、) 函 數(shù) 要 結(jié) 束 的 位 置 必 須 用 return語 句 返 回 正 確 的 值 。return 語 句 的 格 式 為 :return 表 達 式 ( 或 常 量 值 ) ;該 表 達 式 的 值 應(yīng) 該 與 返 回 值 的 類 型 一 致 , 否 則 程 序 就 存 在 缺陷 。 有返回值有參數(shù)函數(shù)的編寫練 習(xí) : 根 據(jù) 三 角 形 的 三 條 邊 來 計 算 其 面 積 , 并 將 面 積 返 回 。計 算 公 式 為 : ,其 中 s=(a+b+c)/2。函 數(shù) 定 義 如 下 :double areaOfTriangle( double a, double b, doub
10、le c) /a,b,c分 別 表 示 三 邊 /根 據(jù) 三 邊 計 算 三 角 形 面 積/返 回 三 角 形 面 積 )()( csbsassarea 有返回值有參數(shù)函數(shù)的調(diào)用假 設(shè) 在 main函 數(shù) 中 進 行 調(diào) 用 : 思 路 如 下( 1) 定 義 與 被 調(diào) 用 函 數(shù) 參 數(shù) 個 數(shù) 相 同 , 且 類 型 對 應(yīng) 相 同 的 變量( 2) 定 義 與 被 調(diào) 用 函 數(shù) 返 回 值 類 型 一 致 的 一 個 變 量 , 用 以 保存 調(diào) 用 后 的 結(jié) 果( 3) 為 每 個 實 際 參 數(shù) 賦 值( 4) 調(diào) 用 函 數(shù) , 并 保 存 函 數(shù) 返 回 的 結(jié) 果( 5
11、) 輸 出 結(jié) 果 ( 或 用 結(jié) 果 進 行 其 他 運 算 ) 有返回值有參數(shù)函數(shù)的調(diào)用假 設(shè) 在 main函 數(shù) 中 進 行 調(diào) 用 areaOfCircle :main( ) double r; double result; /定 義 變 量scanf( “ %lf” , /輸 入 實 際 參 數(shù) 的 值result = areaOfCircle( r ); /調(diào) 用 函 數(shù)printf(“ 面 積 為 : %lfn” , result );/輸 出 結(jié) 果 有返回值有參數(shù)函數(shù)的調(diào)用result = areaOfCircle( r ); /調(diào) 用 函 數(shù)main( ) /調(diào)用前的代碼r
12、esult = areaOfCircle( r ); /調(diào)用時/調(diào)用后的代碼 double areaOfCircle( double radius) /函數(shù)的主要功能代碼 return area; /使用return 語句返回結(jié)果值 課堂練習(xí) 用 帶 參 數(shù) 有 返 回 值 函 數(shù) 完 成 下 列 程 序 : 1、 編 寫 一 個 程 序 , 完 成 三 角 形 面 積 的 計 算 。 2、 編 寫 程 序 判 斷 兩 個 字 符 是 否 一 致 , 并 返 回 判 斷 結(jié) 果 。一 致 請 返 回 1, 不 一 致 返 回 0.函 數(shù) 定 義 如 下 :int isEqual( char c
13、h1, char ch2 ) /ch1,ch2表 示 兩 個字 符 , 返 回 值 用 整 型 /比 較 兩 個 字 符 是 否 一 樣 , 如 果 一 樣 結(jié) 果 記 為 整 數(shù) 1,否 則 結(jié) 果 記 為 整 數(shù) 0/返 回 結(jié) 果 更進一步 試 著 自 己 找 一 個 例 子 , 看 能 不 能 寫 成 帶 參 數(shù) 有返 回 值 的 函 數(shù) 來 解 決 , 并 編 程 實 現(xiàn) 之 。 本次課小結(jié) 函 數(shù) 類 型 帶 參 數(shù) 有 返 回 值 函 數(shù) 的 編 寫 、 調(diào) 用 作業(yè)1、用帶參數(shù)帶返回值的函數(shù)實現(xiàn)功能:從鍵盤上輸入一個整數(shù)n,計算n !.2、調(diào)用上面的程序,使之運行正確。并掌握調(diào)試過程。