小古銀的官方網(wǎng)站(完整教程):http://www.xiaoguyin.com/
C++入門教程視頻:https://www.bilibili.com/video/av20868986/
前言
函數(shù)又叫做功能研乒,就是將一個功能的一堆實現(xiàn)代碼封裝到一起侈玄,而它的作用就是通過簡單的一條語句就可以使用這個功能,而不需要知道代碼怎樣寫瀑焦。
舉個例子荆针,std::sqrt()
函數(shù)的功能是:求一個數(shù)的根敞嗡。std
是前面提到的命名空間,而sqrt
就是這個函數(shù)的名字航背,這個函數(shù)在cmath
標準庫中喉悴。可以用下面的形式使用這個功能:
std::sqrt(100);
像上面這樣使用函數(shù)的功能沃粗,就叫做調(diào)用函數(shù)粥惧。上面代碼中,100作為函數(shù)參數(shù)傳給函數(shù)最盅,讓函數(shù)來計算它的運算結(jié)果突雪。
std::sqrt()
函數(shù)是用來求根的起惕,所以會有計算結(jié)果,可以用下面代碼輸出計算結(jié)果:
std::cout << std::sqrt(100) << std::endl;
函數(shù)的計算結(jié)果叫做返回值咏删。當(dāng)然也可以用變量來保存返回值:
double root = std::sqrt(100);
而整個過程惹想,你都不需要考慮std::sqrt()
函數(shù)里面的代碼是怎樣寫的,這就是函數(shù)的作用督函。
C++中的標準庫(包含C語言的函數(shù)庫)有很多非常有用的函數(shù)嘀粱。
調(diào)用函數(shù)
C++標準庫中有很多非常有用的函數(shù),當(dāng)然辰狡,如果想提高水平不妨嘗試以下實現(xiàn)標準庫的功能锋叨。但是實際工程中,建議能使用標準庫就不要自己再寫一個宛篇。因為娃磺,你手寫一個需要時間,調(diào)用不需要叫倍;而且你不留意還會寫出bug偷卧;還有,標準庫里的東西編譯器都會有優(yōu)化吆倦,你寫的不一定會比標準庫里的快听诸。
如果你調(diào)用的函數(shù)不是自己寫的,那你就需要知道函數(shù)怎么調(diào)用蚕泽,函數(shù)需要的參數(shù)應(yīng)該怎么填晌梨。
例如標準庫cmath
中的函數(shù)std::abs()
,它是用來求絕對值的赛糟,它只有一個參數(shù)而且這個參數(shù)只能接收數(shù)值派任,它會將這個參數(shù)轉(zhuǎn)換成絕對值,然后通過返回值返回璧南。
#include <cmath> // std::abs
#include <iostream> // std::cout std::endl
int main(void)
{
std::cout << std::abs(-100) << std::endl;
return 0;
}
輸出結(jié)果:
100
對于標準庫里的函數(shù)掌逛,可以參考我在第一篇教程中提到的兩個說明文檔,也可以在網(wǎng)上找資料司倚。
注意:C++可以調(diào)用C語言的標準庫豆混,但是C語言的標準庫在C++中是棄用的,即不推薦使用动知。如:C++標準庫cmath
對應(yīng)C語言的標準庫是math.h
皿伺。就是說,建議調(diào)用cmath
而不是math.h
鞏固練習(xí)
- 從終端輸入一個數(shù)盒粮,代表弧度鸵鸥,然后輸出這個弧度的
cos
、sin
、tan
的值妒穴∷嗡埃可以使用std::cos()
、std::sin()
讼油、std::tan()
杰赛,這三個函數(shù)都在cmath
標準庫中。 - 從終端輸入一個數(shù)矮台,代表角度乏屯,然后使用
std::cos()
、std::sin()
瘦赫、std::tan()
計算出這個角度對應(yīng)的值辰晕。 - 輸入一個數(shù),使用
std::pow()
函數(shù)求這個數(shù)的平方和立方耸彪。std::pow()
函數(shù)在cmath
標準庫中伞芹。