1-9 函式


阿瑟 發表



寫著寫著竟然忘了寫基本的函式 (Function) 了, 在這邊先跟大家說聲抱歉.

*注意: C++所有語法大小寫有差. 如果您在執行時發現中文無法顯示請自行將程式修改成英文.

*注意: 如果您執行程式後, 程式視窗會自動關閉的話, 請至MS-DOS模式重新執行程式, 或是在void main()最底端加上system("PAUSE");來暫停程式.



void main() 是每一隻C++程式必有的函式. 而函式是什麼呢? 其實原理跟數學的函數是沒有什麼不同的, 函數輸入不同的參數就會吐出不同的結果, 程式中的函式則是可以選擇是否要有參數.

函式主要分為兩種, 一種是void函式 (void function), 另一種則是回傳函式 (return function). void函式本身的作用就是執行程式碼, 而回傳函式除了執行程式碼以外, 還會回傳一個數值.

先來看個void函式的範例:



#include <iostream.h>
#include <stdlib.h>

void output_three();

void main()
{
   output_three();

   system("PAUSE");

}  

void output_three()
{
   cout << "輸出一個3" << endl;
}


編譯並且執行這隻程式.

如果執行無誤的話您應該會在螢幕上看到 "輸出一個3" 的字樣.

來討論一下這隻程式的原始碼:

最前面的void output_three();, 這個叫做函式藍圖 (function prototype), 主要的作用是宣告這個函式.

在void main()主函式中的output_three();, 這個叫做 函式呼叫 (function call), 作用當然就是呼叫執行這個函式囉.

後面的void output_three, 這個叫做函式標頭 (function header), 標頭必須與藍圖對應. 而之後的 {} 中的就是要執行的程式碼了.

其他的部分應該不難懂, 這就是一個基本的void函式.




接著來看個回傳函式的範例:



#include <iostream.h>
#include <stdlib.h>

int output_three();

void main()
{
   cout << "輸出一個" << output_three() << endl;;

   system("PAUSE");

}  

int output_three()
{
   return 3;
}


如果執行無誤的話你應該會看到與剛剛完全一樣的輸出.

在這個範例中你會發現output_three前面的void被小弟改成int了. 這個int代表的是回傳數值的資料型態, 在這個範例中回船的資料型態是3.

由於回傳函式回傳的是一個數值, 其操作方式與變數並無不同, 小弟在這個範例中利用 cout << 來輸出回傳數值. 也就成了您所看到的輸出了.




如果函式只是跑一般的程式碼的話, 那多沒意思, 來點輸入吧!

在這個新的範例小弟加上了參數:



#include <iostream.h>
#include <stdlib.h>

int output_three(int x);

void main()
{
   int number;
   cout << "輸入一個整數: ";
   cin >> number;
   cout << "輸出一個" << output_three(number) << endl;

   system("PAUSE");

}  

int output_three(int x)
{
   return x;
}


語法講解:

第一個int output_three(int x);是藍圖, 其中的int x就是所謂的參數.
cout << "輸出一個" << output_three(number) << endl;, 這個函式呼叫把 number 傳遞至 output_three() 中.

output_three()函式執行後會將參數回傳回去, 因此你在畫面上看到的字樣會隨著你的輸入不同而改變.

如果您想要使用多個參數, 只要在每個參數中加上逗號分隔即可, 如: int x, double y

其他的組合就讓大家去嘗試了, 記得多練習喔.

最後更新日期: 5/30/2003 1:00:45 PM