計算機概論:C/C++程式設計
|
第6章 模組化的程式設計基礎:函式 |
|
|
授課教師:陳慶瀚 WWW : http://www.miat.ee.isu.edu.tw/cpp E-mail : pierre@isu.edu.tw |
|
6.1 什麼是函式
一個函式就是一個程式的子程式或者副程式(subprogram),它的作用通常是接收外部傳進來的資料,經過特定的處理,再傳回結果。儘管如此,一個函式也可以被設計成不接收外部傳進來的資料,也不傳資料出來,而只根據其內部的資料和狀態來處理。我們在前面4章所看到的main()函式。雖然我們可以設計將一些參數值傳入main()函式,也可以將程式執行完畢時傳回一個狀態的訊號,但為了程式書寫的簡潔性,必要時我們都把這些功能寫在main()函式裡了。 每一個函式都有一個專屬的名稱。當程式執行中遇到這個名稱時,就會跳至這個函式來執行,等到函式執行完畢後才返回主要程式的下面一行指令。這個過程稱為函式呼叫(function call)。 Figure 5.1 函式呼叫 函式的呼叫不限於主程式中,有時候,我們會在一個函式中呼叫另一個函式,這樣一層一層呼叫下去。C++語言並沒有限制我們最多可以呼叫函式的層數,但如果層數太多或者兩個函式間彼此相互呼叫,其階層式的結構就會變得複雜而不容易追蹤和管理,這樣就失去模組化設計的意義了。 一般使用者認知的函式有兩種,一種是內建的(built-in),一種是自行設計的(user-defined)
。內建的函式是C++語言本身就已具備(如亂數產生器函式random()或sin()函式),另外有一個軟體廠商也會提供一些較特殊的函式,譬如說Microsoft就為Windows環境的程式設計者提供了為數眾多的Windows
API函式庫(Library),裡面包函了上千種個式各樣功能的函式,這些函是都放在包含一個C++編譯器的程式開發工具,例如Visual
C++軟體。使用這些內建的函式,只要在程式的檔頭宣告引入函式庫,就可以在程式中進行函式呼叫。 至於自行設計的(User-defined)的函式,就需要自行宣告、定義,然後才能使用,這也就是本章的主旨。 |
||
計算機概論:C/C++程式設計 義守大學電機系 陳慶瀚 |