程式語言所用的函數(Functions)和數學上的函數有著很相似的觀念,但程式語言的函數比較複雜一點,需要了解底下知識:函數宣告、函數定義、函數呼叫。然而不是所有的程式語言都會有這三種觀念,因此本文會分別以C語言和Python語言來說明這三種觀念(
註:C語言也是有版本之分的,請參考 https://en.wikipedia.org/wiki/C_(programming_language)#History)。
函數宣告(Function declaration)
C語言語法如下:
C語言範例:
1
2
3
4
| int sum(int a, int b);
int add(int, int);
int min(int x, int y);
int max(int, int);
|
因為 Python 目前沒有 Function declaration 的語法,請直接使用 Function definition。
函數定義(Function definition)
C語言語法如下:
1
2
3
| 回傳型態 函數名稱( 參數列 ) {
函數主體
}
|
C語言範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| int sum(int a, int b) {
return a + b;
}
int add(int a, int b) {
return a + b;
}
int min(int x, int y) {
return x <= y ? x: y;
}
int max(int x, int y) {
return x >= y ? x: y;
}
|
Python語言語法如下:
1
2
3
4
| def 函數名稱( 參數列 ):
"函數說明"
程式碼
return [運算式(Expression)]
|
Python語言範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| def sum(a, b):
return a + b
def add(a, b):
return a + b
def min(x, y):
if x <= y:
return x
else:
return y
def max(x, y):
if x >= y:
return x
else:
return y
|
函數呼叫(Function call)
C語言語法如下:
C語言範例:
1
2
3
4
| int sumInt = sum(4, 5);
int addInt = add(9, 11);
int minInt = min(0, 123);
int maxInt = max(123, 0);
|
Python語言語法如下:
Python語言範例:
1
2
3
4
| sumInt = sum(4, 5)
addInt = add(9, 11)
minInt = min(0, 123)
maxInt = max(123, 0)
|
自訂函數範例
瞭解上述的語法後,就可以自訂函數了,底下提供C語言與Python語言的自訂函數範例。
C 語言範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| #include <stdio.h>
int sum(int a, int b);
int add(int, int);
int min(int x, int y);
int max(int, int);
int main(void) {
int sumInt = sum(4, 5);
int addInt = add(9, 11);
int minInt = min(0, 123);
int maxInt = max(123, 0);
printf("Sum:%d add:%d min:%d max:%d\n", sumInt, addInt, minInt, maxInt);
return 0;
}
int sum(int a, int b) {
return a + b;
}
int add(int a, int b) {
return a + b;
}
int min(int x, int y) {
return x <= y ? x: y;
}
int max(int x, int y) {
return x >= y ? x: y;
}
|
Python語言範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| def sum(a, b):
return a + b
def add(a, b):
return a + b
def min(x, y):
if x <= y:
return x
else:
return y
def max(x, y):
if x >= y:
return x
else:
return y
sumInt = sum(4, 5)
addInt = add(9, 11)
minInt = min(0, 123)
maxInt = max(123, 0)
print("Sum:", sumInt, "add:", addInt, "min:", minInt, "max:", maxInt)
|
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.
留言