《零基础看得懂的C++入门教程 》——(6)自己动手写个函数
一、學(xué)習(xí)目標(biāo)
目錄
預(yù)備第一篇,使用軟件介紹在這一篇,C++與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》
想了解編譯原理和學(xué)習(xí)方法點(diǎn)這篇,學(xué)習(xí)方法和一些原理C++與C都是相同的《脫離學(xué)習(xí)誤區(qū)》
《零基礎(chǔ)看得懂的C++入門教程 》——(1)第一個(gè)C++程序就讓你知其所以然
《零基礎(chǔ)看得懂的C++入門教程 》——(2)什么是數(shù)據(jù)類型、變量?一看便會(huì)
《零基礎(chǔ)看得懂的C++入門教程 》——(3)表達(dá)式花樣挺多鴨
《零基礎(chǔ)看得懂的C++入門教程 》——(4)條件判斷原來如此
《零基礎(chǔ)看得懂的C++入門教程 》——(5) 容我套個(gè)娃 循環(huán)
推薦
1.《備受好評的看得懂的C語言入門教程》
歡迎大家關(guān)注公眾號,公眾號每滿1024及1024倍數(shù)則會(huì)抽獎(jiǎng)贈(zèng)送機(jī)械鍵盤一份+IT書籍2份喲~
二、了解C語言自定義函數(shù)的使用方法
在C++中函數(shù)是可以自定義的,根據(jù)自己的需求實(shí)現(xiàn)不同的函數(shù)方便在之后開發(fā)中使用。
2.1 了解自定義函數(shù)的使用方法
自定義函數(shù)由幾部分構(gòu)成,最簡單的函數(shù)有返回類型修飾符、函數(shù)名以及函數(shù)體。返回類型的修飾符為類型修飾符,如int、float、char等;返回類型修飾符一般放在函數(shù)名前,函數(shù)名的定義方式與變量名定義規(guī)范類似;自定義函數(shù)的函數(shù)體則是在一對花括號內(nèi)的代碼內(nèi)容。
我們先看一個(gè)示例:
#include<iostream> using namespace std; void func(){cout<<"這里是自定義函數(shù)"<<endl; }int main() {func(); }以上代碼中,自定義函數(shù)為:
void func(){cout<<"這里是自定義函數(shù)"<<endl; }在以上對于函數(shù)的描述中,我們得知最簡單的函數(shù)構(gòu)成為類型修飾符、函數(shù)名以及函數(shù)體。以上函數(shù)的類型修飾符為void,void表示當(dāng)前函數(shù)沒有返回值(什么是返回值接下來會(huì)說到)。函數(shù)名為func,函數(shù)名后接著一堆圓括號,圓括號后有一對花括號,花括號內(nèi)則是函數(shù)體。當(dāng)前函數(shù)體內(nèi)的內(nèi)容為輸出"這里是自定義函數(shù)"這一個(gè)提示。當(dāng)前函數(shù)的功能也就是顯示 "這里是自定義函數(shù)"這個(gè)內(nèi)容了。
在main中,調(diào)用了自定義函數(shù)func。之前我們已經(jīng)知道,函數(shù)使用方式為函數(shù)名后接一堆圓括號,所以代碼寫為 func();,用分號結(jié)束。調(diào)用后將會(huì)執(zhí)行函數(shù)中的代碼將會(huì)顯示 "這里是自定義函數(shù)"。
運(yùn)行結(jié)果如下:
細(xì)心的同學(xué)發(fā)現(xiàn),其實(shí)我們的main也是一個(gè)函數(shù),我們使用int修飾main函數(shù),不過main是系統(tǒng)函數(shù)表示當(dāng)前代碼的入口,我們所編寫的代碼將會(huì)從main函數(shù)第一條語句開始運(yùn)行。
2.2 了解有參函數(shù)的使用方法
有過C語言經(jīng)驗(yàn)的同學(xué)知道,我們經(jīng)常使用printf函數(shù),該函數(shù)我們傳入什么值將會(huì)在程序運(yùn)行時(shí)顯示什么值;所傳入的值稱為參數(shù);打個(gè)比方,洗衣機(jī)的功能是洗衣服,我們會(huì)丟衣服進(jìn)去,這個(gè)衣服就是參數(shù);再或者我們做飯的時(shí)候使用電飯鍋,電飯鍋需要的原料是米,這個(gè)米就是參數(shù);我們自定義的函數(shù)也可以實(shí)現(xiàn)這個(gè)功能。例如我想顯示變量a的值,只需要修改一下上一節(jié)的代碼即可實(shí)現(xiàn),代碼如下:
以上代碼在func函數(shù)的圓括號中添加了int a,int a表示func函數(shù)接收一個(gè)整數(shù)類型的變量a;在func函數(shù)中,使用printf函數(shù)輸出了變量a的值,在函數(shù)中使用的a變量在func(int a)中表示聲明,具體值需要在使用函數(shù)時(shí)傳入。使用函數(shù)傳參只需要函數(shù)名后接的圓括號中傳入值,則表示把值賦值給func圓括號中的變量a,如func(a); 則表示把外部的a變量值賦值給func函數(shù)的a變量。
在以上函數(shù)中,func(int a)的變量a與main函數(shù)的a是有區(qū)別的;就好比你們學(xué)校校長叫做小明,你們班有個(gè)學(xué)生叫做小明,在你們班級平常稱呼中,小明指的是你們班級的小明,并不是校長;函數(shù)也一樣,在函數(shù)中,使用的a單單值函數(shù)內(nèi)的a,func(int a)中的a,以及接下來函數(shù)內(nèi)使用的a只代表當(dāng)前函數(shù)。
結(jié)果如下:
當(dāng)然傳入的值也可以寫為具體的值,代碼如下:
#include<iostream> using namespace std; void func(int a){cout<<"傳入的值是:"<<a<<endl; }int main() {int a=10;func(99); }運(yùn)行結(jié)果如下:
2.2 了解有多個(gè)參函數(shù)的使用方法
以上了解了一個(gè)參數(shù)的自定義函數(shù),接下來了解多個(gè)參數(shù)的自定義參數(shù)使用方法。查看示例:
以上代碼中,func函數(shù)接收兩個(gè)參數(shù),一個(gè)是a,一個(gè)是b,兩個(gè)參數(shù)之間使用逗號間隔,func自定義函數(shù)中則會(huì)輸出兩個(gè)數(shù)相加的結(jié)果。在main函數(shù)中,定義了兩個(gè)變量一個(gè)為a1,一個(gè)為b1,使用func后傳入兩個(gè)變量,它們之間使用逗號間隔。
運(yùn)行結(jié)果如下:
2.2 了解自定義函數(shù)返回值
我們修改上一節(jié)示例,現(xiàn)在需求更換為只需要得到兩個(gè)值做加法運(yùn)算后的值,不需要在函數(shù)中輸出,只需要在外部輸出結(jié)果。代碼如下:
以上代碼中,void func 修改成了int func,void表示當(dāng)前函數(shù)無返回值,使用int 表示當(dāng)前函數(shù)將會(huì)返回一個(gè)整數(shù)值表示當(dāng)前函數(shù)最終的結(jié)果。
在函數(shù)體中定義了一個(gè)整數(shù)類型變量c,并且直接賦值為a+b的結(jié)果;最后使用return關(guān)鍵字表示把變量c的值給返回出去。在外部需要使用一個(gè)變量接收如 int c=func(a,b); ,這時(shí)變量c就得到了func函數(shù)返回的值。在以上代碼中使用cout查看c的結(jié)果。
運(yùn)行結(jié)果如下:
當(dāng)然也可以直接輸出函數(shù)的結(jié)果值:
#include<iostream> using namespace std; int func(int a,int b){int c=a+b ;return c; }int main() {int a=10,b=11;cout<<func(a,b)<<endl; }想要再簡便代碼一點(diǎn)也可以這樣:
#include<iostream> using namespace std; int func(int a,int b){return a+b; }int main() {int a=10,b=11;cout<<func(a,b)<<endl; }描述函數(shù)返回值的修飾符一定要與返回值類型一致,否則將會(huì)出現(xiàn)無法預(yù)料的結(jié)果或者直接報(bào)錯(cuò)。
以上代碼我使用void修飾了一個(gè)有返回值的函數(shù),編譯器直接報(bào)錯(cuò)提示我的函數(shù)是有返回值的但是用了void修飾。
三、總結(jié)
通過以上描述與講解,我們了解了以下幾點(diǎn)內(nèi)容:
總結(jié)
以上是生活随笔為你收集整理的《零基础看得懂的C++入门教程 》——(6)自己动手写个函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《零基础看得懂的C++入门教程 》——(
- 下一篇: 《零基础看得懂的C++入门教程 》——(