C++入門教程(11):調(diào)用函數(shù)

小古銀的官方網(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標(biāo)準(zhǔn)庫中??梢杂孟旅娴男问绞褂眠@個功能:

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++中的標(biāo)準(zhǔn)庫(包含C語言的函數(shù)庫)有很多非常有用的函數(shù)。

調(diào)用函數(shù)

C++標(biāo)準(zhǔn)庫中有很多非常有用的函數(shù),當(dāng)然,如果想提高水平不妨嘗試以下實現(xiàn)標(biāo)準(zhǔn)庫的功能。但是實際工程中,建議能使用標(biāo)準(zhǔn)庫就不要自己再寫一個。因為,你手寫一個需要時間,調(diào)用不需要;而且你不留意還會寫出bug;還有,標(biāo)準(zhǔn)庫里的東西編譯器都會有優(yōu)化,你寫的不一定會比標(biāo)準(zhǔn)庫里的快。

如果你調(diào)用的函數(shù)不是自己寫的,那你就需要知道函數(shù)怎么調(diào)用,函數(shù)需要的參數(shù)應(yīng)該怎么填。

例如標(biāo)準(zhǔn)庫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

對于標(biāo)準(zhǔn)庫里的函數(shù),可以參考我在第一篇教程中提到的兩個說明文檔,也可以在網(wǎng)上找資料。

注意:C++可以調(diào)用C語言的標(biāo)準(zhǔn)庫,但是C語言的標(biāo)準(zhǔn)庫在C++中是棄用的,即不推薦使用。如:C++標(biāo)準(zhǔn)庫cmath對應(yīng)C語言的標(biāo)準(zhǔn)庫是math.h。就是說,建議調(diào)用cmath而不是math.h

鞏固練習(xí)

  1. 從終端輸入一個數(shù),代表弧度,然后輸出這個弧度的cos、sin、tan的值??梢允褂?code>std::cos()、std::sin()、std::tan(),這三個函數(shù)都在cmath標(biāo)準(zhǔn)庫中。
  2. 從終端輸入一個數(shù),代表角度,然后使用std::cos()、std::sin()、std::tan()計算出這個角度對應(yīng)的值。
  3. 輸入一個數(shù),使用std::pow()函數(shù)求這個數(shù)的平方和立方。std::pow()函數(shù)在cmath標(biāo)準(zhǔn)庫中。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,243評論 0 38
  • 接著上節(jié) condition_varible ,本節(jié)主要介紹future的內(nèi)容,練習(xí)代碼地址。本文參考http:/...
    jorion閱讀 15,040評論 1 5
  • 接著上節(jié) atomic,本節(jié)主要介紹condition_varible的內(nèi)容,練習(xí)代碼地址。本文參考http://...
    jorion閱讀 8,639評論 0 7
  • 自上周開始左側(cè)胳臂肘 左膝蓋疼痛異常。坐久了站起來后膝蓋嘎巴嘎巴響不說,連路也不會走了,要活動10步后才能正常運動...
    似水流年72閱讀 402評論 1 2
  • 細(xì)雨密密的斜織著,微風(fēng)輕拂,時而,還有幾片落葉隨風(fēng)輕舞,它們在演繹著這個城市的夜的故事…… 路上的行人,三三兩兩,...
    那年那個夏天閱讀 191評論 0 0

友情鏈接更多精彩內(nèi)容