函數【C語言程序設計】

接招看題022-一個函數調用的簡單例子。
在這裏插入圖片描述
知識補丁:記住
1.C語言程序的執行總是從main函數開始,完成對其他函數的調用後返回到main函數,最後由main函數結束程序。
2.一個C源程序必須有且僅有一個主函數
3**.在一個函數的函數體內**,不能再定義另一個函數,即不能嵌套定義。但是函數之間允許相互調用,也允許嵌套調用。習慣上把調用者稱爲主調函數。




接招看題023:演示實參,形參。
在這裏插入圖片描述
4.實參:在調用的時候,實際參數表裏給出的參數。該參數可以是常數,變量,表達式,其他構造類型的數據。
5.形參:是形式參數列表給出的參數。
什麼是形式參數列表?
這裏有必要介紹一下函數的分類了。
從函數的形式上看,函數可分爲兩類:
其一是無參函數:無參函數的形式如下:
類型標識符 函數名()
{聲明部分
語句部分
}
其二是有參函數:有參函數的形式如下:
類型標識符 函數名(形式參數列表
{聲明部分
語句部分
}
6.記住,實參的類型和數量以及順序必須與形參一致。
7.函數一般的調用的形式是什麼?
函數名(實際參數列列表)
對無參函數調用時爲無實際參數表。
實際參數表裏的參數可以是常數,變量,表達式,其他構造類型的數據。各實參之間用逗號隔開。
接招看題024:形式參數專項演練。比較兩個數中的最大數。
在這裏插入圖片描述
在這裏插入圖片描述
從上述兩個源程序中,我們可以獲得哪些信息?
1.在進行函數調用的時候,主調函數將賦予這些形式參數實際的值。形式參數既然是變量,當然必須給以類型說明。(還記得變量要先定義後使用嗎?)

2.在C程序中,一個函數的定義可以放在任意的位置。比如上面的兩個圖。上面第一個圖表示一個函數的定義(max函數)可以放在主函數main之前,下面第二個圖表示一個函數的定義(max函數)可以放在main函數之後。

3.分析程序:以第一個圖片爲例。現在我們可以從函數的定義,函數的說明,以及函數的調用,這三個角度來分析整個程序。從中進一步瞭解函數的特點。首先,程序的第1—6行是max函數的定義。進入主函數後,因爲要準備調用max函數,所以要先對max進行說明(程序的第9行)。注意,函數的定義和函數的說明不是一回事。可以看出,函數說明與函數定義中的函數頭部分相同,但是末尾要加分號。即函數的說明,是函數定義的末尾加個分號。
例如:函數的定義是這樣子的:
在這裏插入圖片描述
而函數的調用是這樣子的:
在這裏插入圖片描述
可以看出,兩者的末尾,差了一個分號而已。
接着上面繼續講。程序的第13行(即z=max(x,y))爲調用max函數。並把x,y中的值傳送給max的形參a,b.即把x,y,這兩個實參的值傳遞給a,b這兩個形參。(還記得實參的值傳遞給形參嗎?數量上保持一致。)。max函數執行的結果(a或b)將傳遞給變量z。最後由主函數輸出z的值。
什麼是主調函數?
前面講過,主調函數是調用者,調用者是主調函數。剛纔講函數的定義,函數的調用的差別的時候(還記得兩者差了一個分號嗎?),提到過函數的調用。因此,調用者是在這裏插入圖片描述
被調函數是在這裏插入圖片描述
它們之間交互的過程是:z=max(x,y)是調用者,把x,y中的值傳送給max的形參a,b.即把x,y,這兩個實參的值傳遞給a,b這兩個形參。max函數執行的結果(a或b)將傳遞給變量z。最後由主函數輸出z的值。
知識補丁:
親愛的讀者,讀到這裏,你有沒有發現,將一個程序進行這樣的分析,是不是你讀程序的時候,思路清晰了不少?至少比瞪着眼睛幹看着要強的多。所以,基礎的你,要多做這樣的練習哦,可以關注我的文章。
根據上文,請回憶以下問題:
它的形式是怎樣的?
它的功能又是如何?
8.調用函數有哪些方法?以下3種:
函數表達式:
函數語句:
函數實參:
9.逗號表達式與實參的聯繫是什麼?
明天繼續更。2018-10-13.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章