大一程設
東華大學
東華大學資管系
基本程式概念
資管經驗分享
目前大家學下來,我們總是在 main function 裡面完成我們想做的事,隨著遇到的題目變難,或是需求上升,程式碼會越來越冗長,然而這是一件不太有效率,而且妨礙閱讀的行為,如果今天事情很繁雜,我們還只能透過 main function 來處理一切事物,那真的太糟糕了,所以為了增加程式易讀性並且有效拆分細部功能以重複利用,今天我們要來講程式開發最重要的工具之一 - 函式 function。
在了解函式的用法之前,我們先了解他的長相,以及它的使用規則吧!
我們馬上來看看案例吧!
我們從函式解析、參數傳遞、函式呼叫三個面向來做解釋。
這邊先說明一個動詞,呼叫
在世界上的程式設計師,通常都會用呼叫這個動詞來形容我們要使用一個函式
在外國的話我們常聽到的叫做 call,類似下面這樣
we call our computeBMI function to compute our bmi
再說明另外一個動詞,回傳
回傳我們在英文常說 return,常用在函式回傳資料上
宣告什麼樣形態的 function,就要 return 什麼樣形態的變數(值)回來
*程式是一行一行往下執行的,所以當程式執行到第 15 行時呼叫函式,所以會跳到第三行,內容執行完後在第五行看到 return,所以把算好的 myBMI 這個 double 值進行回傳,這個回傳會再回到第 15 行,把這個 double 值指派給 main function 裡面的 myBMI
我們一樣用上面的例子來看。
有看出差異嗎,在 computeBMI 裡面我少掉宣告一個變數的步驟,直接把參數做運算後回傳,這樣的寫法可以省掉宣告一個變數的記憶體空間,也可以節省程式行數。
而第 14 行我也節省掉了原本的 myBMI 變數,因為函式回傳的是一個 double 值,因此我們可以直接拿來用,可以少掉一個指派動作。
看到這邊,大家應該可以很順利的聯想到其他六種基本型態的 function 長相,像 int 就會是這樣,其他種就省略了
而這邊要提一個比較特別的函式型別 - void。 void 在英文稱為虛無、空的,照著這個字面翻譯的意思,就是 void 型態的 function 沒有回傳值 (no return value),所以會像這樣
看個小例子
因為 void 沒有回傳值,所以程式執行到第九行跳到 say_something,第三行執行完之後回去繼續執行 main 裡的第 11 行,因此輸出會是
這邊做個小總結
學習函式的優點
學習函式的缺點
當然 function 的細節還不只這樣,但在這篇筆記我們只談你基本該知道的宣告方式,參數傳遞跟回傳值。
詳細 function 內容還有如下:
以上內容在接下來的筆記會逐漸被提到。