文档详情

return(運算式).ppt

发布:2017-01-16约7.72千字共20页下载文档
文本预览下载声明
Function (函數) Function (函數) Function 即是副程式(sub-program,或 subroutine) 為何要使用 function ? 避免重複寫相同的程式碼, 節省coding 時間 可重複使用該程式碼 增加程式的可讀性與可維護性, 降低主程式之複雜性 開發較大應用程式時, 可分割成數個不同功能的function, 由不同的程式設計師分工完成 符合結構化語言之特性 尚有一些程式語言, 將副程式分為兩類 : 副程式 : 處理指定功能之程序過程 函數式 : 負責計值運算並傳回結果 Function語法規則 語法規則 : function_type function_name (parameter, parameter…) { parameters declarations; statements; } 例: char func(p1, p2) { int p1; char p2; statements; } 函數與主程式間之架構 合法之架構 錯誤之架構 範例一 比較使用者所輸入兩整數之大小 void larger_value(a,b) int a, b; { if(a b) printf(\2: The larger value is %d \n, b); else if(a b) printf(\2: The larger value is %d \n, a); else printf(\2: Two values are equal. \n); } void main() { int i, j; printf(\1: Please input 2 values. \n == ); scanf(%d %d, i, j); larger_value(i,j); } Function注意事項 函數名稱依照識別字的規則命名. 每個函數各自獨立, 可相互呼叫. 所有函數語法地位一律平等. 參數列式呼叫函數時需要與主程式間作資料或位置的傳遞, 若無資料需要傳遞時, 則可省略參數列, 但不可省略小括號. 若函數須傳回數值時, 則敘述中必有一條傳回敘述, 語法規則為 : return (運算式) return 為關鍵字 運算式可為常數, 變數或算數運算式 return 除了可把函數內的值傳回呼叫程式外, 同時具有令函數結束, 返回呼叫程式之功能. 範例二 輸入一數值 n, 求出 1 至 n 的連乘 (示範函數傳回數值給呼叫程式) void main() { long fact(void); long f; f = fact(); printf(The factorial = %ld \n, f); } long fact(void) { int i,n; long f=1; printf(Enter one value : ); scanf(%d, n); for( i=1; i= n; i++) f *= i; return(f); } 範例三 輸入一數值 n, 求出 1 至 n 的連乘 (示範由呼叫程式傳遞一數值給函數, 函數計算後將結果傳回給呼叫程式) void main() { int n; long f; long fact(int); printf(Enter one value : ); scanf(%d, n); f = fact(n); printf(The factorial of %d = % ld \n, n, f); } long fact( int n) { int i; long f = 1; for (i =1; i = n; i++) f *= i; return (f); } 範例四 – (共2頁) 計算輸入之三個整數的 gcd 與 lcm. void main() { int gcd(int, int); int lcm(int, int); int a, b, c; printf(Enter three integer values : ); scanf(%d %d %d, a, b, c); printf(The gcd of %d %d %d is %d \n, a, b, c, gcd(gcd(a,b), c)); printf(The lcm of %d %d %d is %d \n, a, b, c, lcm
显示全部
相似文档