C++入門教程(11):調用函數

小古銀的官方網站(完整教程):http://www.xiaoguyin.com/
C++入門教程視頻:https://www.bilibili.com/vide...ios


前言

函數又叫作功能,就是將一個功能的一堆實現代碼封裝到一塊兒,而它的做用就是經過簡單的一條語句就可使用這個功能,而不須要知道代碼怎樣寫。ide

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

std::sqrt(100);

像上面這樣使用函數的功能,就叫作調用函數。上面代碼中,100做爲函數參數傳給函數,讓函數來計算它的運算結果。優化

std::sqrt()函數是用來求根的,因此會有計算結果,能夠用下面代碼輸出計算結果:網站

std::cout << std::sqrt(100) << std::endl;

函數的計算結果叫作返回值。固然也能夠用變量來保存返回值code

double root = std::sqrt(100);

而整個過程,你都不須要考慮std::sqrt()函數裏面的代碼是怎樣寫的,這就是函數的做用。視頻

C++中的標準庫(包含C語言的函數庫)有不少很是有用的函數。教程

調用函數

C++標準庫中有不少很是有用的函數,固然,若是想提升水平不妨嘗試如下實現標準庫的功能。可是實際工程中,建議能使用標準庫就不要本身再寫一個。由於,你手寫一個須要時間,調用不須要;並且你不留意還會寫出bug;還有,標準庫裏的東西編譯器都會有優化,你寫的不必定會比標準庫裏的快。文檔

若是你調用的函數不是本身寫的,那你就須要知道函數怎麼調用,函數須要的參數應該怎麼填。get

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

#include <cmath> // std::abs
#include <iostream> // std::cout std::endl

int main(void)
{
    std::cout << std::abs(-100) << std::endl;
    return 0;
}

輸出結果:

100

對於標準庫裏的函數,能夠參考我在第一篇教程中提到的兩個說明文檔,也能夠在網上找資料。

注意:C++能夠調用C語言的標準庫,可是C語言的標準庫在C++中是棄用的,即不推薦使用。如:C++標準庫cmath對應C語言的標準庫是math.h。就是說,建議調用cmath而不是math.h

鞏固練習

  1. 從終端輸入一個數,表明弧度,而後輸出這個弧度的cossintan的值。可使用std::cos()std::sin()std::tan(),這三個函數都在cmath標準庫中。
  2. 從終端輸入一個數,表明角度,而後使用std::cos()std::sin()std::tan()計算出這個角度對應的值。
  3. 輸入一個數,使用std::pow()函數求這個數的平方和立方。std::pow()函數在cmath標準庫中。
相關文章
相關標籤/搜索