C 入門教程(11) 呼叫函式

2021-09-13 19:44:10 字數 1888 閱讀 6481

小古銀的官方**(完整教程):

函式又叫做功能,就是將乙個功能的一堆實現**封裝到一起,而它的作用就是通過簡單的一條語句就可以使用這個功能,而不需要知道**怎樣寫。

舉個例子,std::sqrt()函式的功能是:求乙個數的根。std是前面提到的命名空間,而sqrt就是這個函式的名字,這個函式在cmath標準庫中。可以用下面的形式使用這個功能:

std::sqrt(100);
像上面這樣使用函式的功能,就叫做呼叫函式。上面**中,100作為函式引數傳給函式,讓函式來計算它的運算結果。

std::sqrt()函式是用來求根的,所以會有計算結果,可以用下面**輸出計算結果:

std::cout << std::sqrt(100) << std::endl;
函式的計算結果叫做返回值。當然也可以用變數來儲存返回值

double root = std::sqrt(100);
而整個過程,你都不需要考慮std::sqrt()函式裡面的**是怎樣寫的,這就是函式的作用。

c++中的標準庫(包含c語言的函式庫)有很多非常有用的函式。

c++標準庫中有很多非常有用的函式,當然,如果想提高水平不妨嘗試以下實現標準庫的功能。但是實際工程中,建議能使用標準庫就不要自己再寫乙個。因為,你手寫乙個需要時間,呼叫不需要;而且你不留意還會寫出bug;還有,標準庫里的東西編譯器都會有優化,你寫的不一定會比標準庫里的快。

如果你呼叫的函式不是自己寫的,那你就需要知道函式怎麼呼叫,函式需要的引數應該怎麼填。

例如標準庫cmath中的函式std::abs(),它是用來求絕對值的,它只有乙個引數而且這個引數只能接收數值,它會將這個引數轉換成絕對值,然後通過返回值返回。

#include // std::abs

#include // std::cout std::endl

int main(void)

輸出結果:

100
對於標準庫里的函式,可以參考我在第一篇教程中提到的兩個說明文件,也可以在網上找資料。

注意:c++可以呼叫c語言的標準庫,但是c語言的標準庫在c++中是棄用的,即不推薦使用。如:c++標準庫cmath對應c語言的標準庫是math.h。就是說,建議呼叫cmath而不是math.h

從終端輸入乙個數,代表弧度,然後輸出這個弧度的cossintan的值。可以使用std::cos()std::sin()std::tan(),這三個函式都在cmath標準庫中。

從終端輸入乙個數,代表角度,然後使用std::cos()std::sin()std::tan()計算出這個角度對應的值。

輸入乙個數,使用std::pow()函式求這個數的平方和立方。std::pow()函式在cmath標準庫中。

C 入門教程

c 是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c 擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c 就適應的問題規模而論,大小由之。c 不僅擁有計算機高效執行的實用性特徵,...

C 入門教程(十二) 定義函式

小古銀的官方 完整教程 補充知識 既然用過std abs 函式,那麼,現在就以它為例,實現乙個myabs 函式來實現求絕對值。返回值型別 函式名稱 引數型別 引數名稱,引數型別 引數名稱 根據這個格式實現myabs 函式 include int myabs int num else return v...

C 入門教程(12) 定義函式

小古銀的官方 完整教程 既然用過std abs 函式,那麼,現在就以它為例,實現乙個myabs 函式來實現求絕對值。返回值型別 函式名稱 引數型別 引數名稱,引數型別 引數名稱 根據這個格式實現myabs 函式 include int myabs int num else return value ...