1. 程式人生 > >第三章 函式預處理

第三章 函式預處理

一個程式必須有且只有一個main( )函式,C++從main( ) 函式開始執行

1.List item

使用者使用任一庫函式時,直接使用,不用定義,但在程式 中必須包含相應的標頭檔案。 如 #include等。

從函式的形式看,函式分兩類:
(1) 無參函式。呼叫函式時不必給出引數。
(2) 有參函式。在呼叫函式時,要給出引數。在主調函式 和被呼叫函式之間有資料傳遞。
3.
函式引數和函式的值
形式引數和實際引數 
定義函式時函式名後面括號中的變數名稱為 形式引數(formal parameter,簡稱形參)。 
形參是被調函式中的變數
在主調函式中呼叫一個函式時,函式名後面括 號中的引數(可以是一個表示式)稱為實際引數

(actual parameter,簡稱實參)。 實參是主調函式賦給被調函式的特定值。 
實參可以是常量、變數或複雜的表示式,不管是哪 種情況,在呼叫時實參必須是一個確定的值。
在這裡插入圖片描述

在這裡插入圖片描述
4.函式的返回值
函式的返回值通過return語句獲得。函式只能有唯一的 返回值。
函式返回值的型別就是函式的型別。
return語句可以是一個表示式,函式先計算表示式後再返 回值。
return語句還可以終止函式,並將控制返回到主調函式。
return 語句之後的程式碼是不能執行的程式碼。
一個函式中可以有一個以上的return語句,執行到哪一 個return語句,哪一個語句起作用。
函式的返回值是什麼


程式執行完後會將一個數(或是其他型別的值)返回給這個函式(相當於這個函式最後儲存了這個數,是這個數的代言人)
舉個列:
int A( ){
int a=2;
int b=4;
int c;
c=a+b;
return c;
}
主函式呼叫這個函式時:
void main( ){
cout<<A( );
}
就將return的那個值輸出來了;
倘若沒有return c這句,得出的結果不會輸出來;
A()這個函式執行後什麼也沒得到,其只是執行了
一個加法問題,留下的是“空氣”

如果函式的型別和return表示式中的型別不一致,則以 函式的型別為準。函式的型別決定返回值的型別。對數值 型資料,可以自動進行型別轉換。
5.
函式的呼叫
被調函式應出現在主調函式之前; 
如果被呼叫函數出現在主調函式之後,則函式必須在主調函式 之前進行宣告。
所有函式都是平行獨立的,無主次、相互包含之分。 函式可以巢狀呼叫,不可巢狀定義。

在這裡插入圖片描述
7.全域性變數與區域性變數重名
函式內部定義的區域性變數與全域性變數重名時,函式在使用該變數的時候會以區域性變數覆蓋全域性變數。也就是隻有區域性變數會起效果。在此定義域中賦值等操作時都不會使用到全域性變數。
8.區域性變數 
在一個函式內部定義的變數,它只在本函式範圍內 有效,也就是說只有在本函式內才能使用它們,在 此函式以外是不能使用這些變數的。