
函數語言程式設計 - 函式型別
函式有兩種型別:
- 預定義函式
- 使用者自定義函式
在本章中,我們將詳細討論函式。
預定義函式
這些是內置於語言中用於執行操作的函式,並存儲在標準函式庫中。
例如 - C++ 中的 'Strcat' 和 Haskell 中的 'concat' 用於連線兩個字串,C++ 中的 'strlen' 和 Python 中的 'len' 用於計算字串長度。
C++ 中列印字串長度的程式
以下程式展示瞭如何使用 C++ 列印字串的長度:
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; int main() { char str[20] = "Hello World"; int len; len = strlen(str); cout<<"String length is: "<<len; return 0; }
它將產生以下輸出:
String length is: 11
Python 中列印字串長度的程式
以下程式展示瞭如何使用 Python(一種函數語言程式設計語言)列印字串的長度:
str = "Hello World"; print("String length is: ", len(str))
它將產生以下輸出:
('String length is: ', 11)
使用者自定義函式
使用者自定義函式由使用者定義,用於執行特定的任務。定義函式有四種不同的模式:
- 無引數無返回值的函式
- 無引數但有返回值的函式
- 有引數但無返回值的函式
- 有引數有返回值的函式
無引數無返回值的函式
以下程式展示瞭如何在C++中定義一個無引數無返回值的函式:
#include <iostream> using namespace std; void function1() { cout <<"Hello World"; } int main() { function1(); return 0; }
它將產生以下輸出:
Hello World
以下程式展示瞭如何在Python中定義一個類似的函式(無引數無返回值):
def function1(): print ("Hello World") function1()
它將產生以下輸出:
Hello World
無引數但有返回值的函式
以下程式展示瞭如何在C++中定義一個無引數但有返回值的函式:
#include <iostream> using namespace std; string function1() { return("Hello World"); } int main() { cout<<function1(); return 0; }
它將產生以下輸出:
Hello World
以下程式展示瞭如何在Python中定義一個類似的函式(無引數但有返回值):
def function1(): return "Hello World" res = function1() print(res)
它將產生以下輸出:
Hello World
有引數但無返回值的函式
以下程式展示瞭如何在C++中定義一個有引數但無返回值的函式:
#include <iostream> using namespace std; void function1(int x, int y) { int c; c = x+y; cout<<"Sum is: "<<c; } int main() { function1(4,5); return 0; }
它將產生以下輸出:
Sum is: 9
以下程式展示瞭如何在Python中定義一個類似的函式:
def function1(x,y): c = x + y print("Sum is:",c) function1(4,5)
它將產生以下輸出:
('Sum is:', 9)
有引數有返回值的函式
以下程式展示瞭如何在 C++ 中定義一個無引數但有返回值的函式:
#include <iostream> using namespace std; int function1(int x, int y) { int c; c = x + y; return c; } int main() { int res; res = function1(4,5); cout<<"Sum is: "<<res; return 0; }
它將產生以下輸出:
Sum is: 9
以下程式展示瞭如何在Python中定義一個類似的函式(有引數有返回值):
def function1(x,y): c = x + y return c res = function1(4,5) print("Sum is ",res)
它將產生以下輸出:
('Sum is ', 9)
廣告