W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
到目前為止我們只使用了C++內(nèi)置的函數(shù),然而也可以添加新函數(shù)。實際上我們已經(jīng)見過一個函數(shù)定義了:main。main這個函數(shù)名很特殊,因為它表示程序開始執(zhí)行的地方,但main函數(shù)的語法形式和其它函數(shù)定義一樣:
void 函數(shù)名(參數(shù)列表) {
語句
}
你可以為自己的函數(shù)任意定義名稱,但不能命名為main或者其它C++關(guān)鍵字。參數(shù)列表指定了使用(或稱為調(diào)用)新函數(shù)所需要提供的信息(如果有的話)。
main函數(shù)定義中的空括號表示它不攜帶任何參數(shù)。我們首先要寫的幾個函數(shù)也是沒有參數(shù)的,語法形式如下:
void newLine() {
cout << endl;
}
此函數(shù)名為newLine,只有一個語句,用以輸出換行符,其中換行用特殊值endl表示。
在main函數(shù)中,我們可以像調(diào)用C++內(nèi)置函數(shù)一樣調(diào)用這個新函數(shù): void main () { cout << "First Line." << endl; newLine (); cout << "Second Line." << endl; }
這段程序輸出如下: First line.
Second line.
注意:輸出的兩行之間有多余的空行。我們要想在兩行之間出現(xiàn)更多的空行該怎么做呢?可以重復(fù)調(diào)用同一個函數(shù):
void main ()
{
cout << "First Line." << endl;
newLine ();
newLine ();
newLine ();
cout << "Second Line." << endl;
}
或者我們寫一個新函數(shù),命名為threeLine,作用是打印3個空行:
void threeLine ()
{
newLine (); newLine (); newLine ();
}
void main ()
{
cout << "First Line." << endl;
threeLine ();
cout << "Second Line." << endl;
}
對于這個程序,你應(yīng)該注意以下幾點:
你可以反復(fù)調(diào)用同一處理過程,事實上這種做法是非常普遍、實用的。
你可以讓一個函數(shù)調(diào)用另一函數(shù)。在本例中,main函數(shù)調(diào)用threeLine,threeLine又調(diào)用newLine。同樣,這也是普遍、實用的做法。
在threeLine這個函數(shù)中,我一行寫了三條語句,這符合語法規(guī)范(記住,空格和空行通常不改變程序的意義)。然而更好的方式通常是每條語句獨占一行,這樣程序更易讀,我是為了節(jié)約篇幅才破壞了這條規(guī)則。
為什么我們值得費力氣來創(chuàng)建這些新函數(shù)?到現(xiàn)在為止可能講的還不是很清楚。實際上原因有很多,本例只說明了兩點:
創(chuàng)建新函數(shù)使你有機(jī)會給一組語句起個名字。函數(shù)將一個復(fù)雜的計算過程隱藏在一個簡單指令背后,并使用英語單詞取代晦澀代碼,可以起到簡化程序的作用。試問,newLine和cout << endl,哪個更清晰呢?
創(chuàng)建新函數(shù)能夠去除重復(fù)代碼,使程序更短小。例如,連續(xù)打印九個空行的一種簡單做法是調(diào)用treeLine三次,那么連續(xù)打印27個空行你要怎么做呢?
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: