0.展示PTA總分

1.本章學習總結
- 函數的功能:
- 接收數據。
- 對接收的數據進行處理。
- 將數據處理的結果返回或者不返回。
- 函數的聲明
- 如果函數的定義在函數的調用的后邊則要進行函數聲明,如果函數的定義在函數調用之前則不用聲明。
- 函數聲明如下:
int max(int a,int b);
- 函數的定義
函數類型 函數名稱 (形式參數)
{
語句1;
語句2;
……
}
- 函數的調用
函數名 (實際參數表)
- 函數調用通常用於賦值語句和輸出函數的實參。
- 一個函數調用另一個函數所具備的條件
- 首先被調用的函數必須是已經存在的函數。
- 如果使用自己定義的函數,而且該函數與使用它的函數在同一文件中,一般還應該在主調函數中對被調函數做聲明。
- 如果已在所有函數定義之前,在函數的外部已經做了聲明,則在各個主調函數中不必過多對所調用函數做聲明。
- 需要注意的地方
- 函數不可以嵌套定義,但是可以嵌套調用。
- 函數名必須是由字母、數字、下划線組成,但只能由字母開頭。
- 函數的類型和參數類型可以是其他類型,比如float,double型等,函數的類型還可以是void型,這種類型的函數不需要return語句返回值。
- 庫函數由系統提供,包含相應的頭文件,即可調用,比如printf函數和scanf函數,在包含了stdio.h頭文件后就可以使用,而自定義函數是我們自己創造的函數。
- 形參和實參
- 實參可以是常量、變量或者表達式。
- 形參必須是變量,用於接受實參傳遞過來的值。
- 實參和形參必須一一對應,兩者數量相同,類型盡量一致。
- 實參變量對形參變量的數據傳遞是“值傳遞”,即單向傳遞,只有實參傳遞給形參,而不能形參傳遞給實參。
- 在定義函數中指定的形參,在未出現函數調用時,不占用內存中的儲存單元,只有發生調用時,才會分配內存。
- 函數的返回值
- 函數類型為void,表示不返回結果。
- 函數的返回值通過函數中的return語句獲取。
- 如果函數值的類型和return語句中的表達式不一樣,則以函數類型為准。
- 在不返回結果的函數定義中,void不能省略,否則函數類型被默認為int。
- 局部變量
- 定義在函數內部的變量稱為局部變量,其有效范圍局限於所在函數內部。
- 使用局部變量可以避免各個函數之間的變量相互干擾。
- 作用於復合語句中的局部變量,其有效范圍被局限於復合語句內,一般用作小范圍內的臨時變量。
- 全局變量
- 定義在函數外而不屬於任何函數的變量稱為全局變量。
- 一般情況下把全局變量定義在程序的最前面,即第一個函數前面。
- 當某函數的局部變量與全局變量同名時,在該函數中全局變量不起作用,而由局部變量起作用。
- 全局變量的作用范圍是從定義開始到程序所在文件的結束,它對作用范圍內所有的函數都起作用。
- 全局變量雖然可以用於多個函數之間的數據交流,但一般情況下,應盡量使用局部變量和函數參數。
1.2本章學習體會及代碼量學習體會
1.2.1學習體會
- 學習了本章函數,更讓我深入了解到學習C語言主要是靠自己的邏輯思維通過一些關鍵字,語法和庫函數來組織或構造一個完整的函數,所以鍛煉我們的抽象邏輯思維能力特別重要,要想提高自己的編程能力,以我目前的代碼量是遠遠不夠的,還需要堅持反復勤加練習。
- 這兩周代碼量為1200行左右。
2.綜合作業
2.本次作業的函數關系圖
3.函數功能及全局變量介紹

-
Welcome()函數

-
IntoMemu()函數

-
GetCalculation()函數


-
主函數

3.1全局變量

3.2ListMenu()函數
4.運行結果截圖,測試用例

5.大作業總結
- 我感覺這次大作業對我來說很復雜,因為我完全沒有思路,真的不會寫,寫的時候完全不知道要做什么,感覺無從下手,特別地絕望,肯定是我水平不夠,沒有一點編程基礎。造函數的時候思路很混亂,制造了幾個函數后面卻不知道有什么用,感覺沒有一點邏輯思維。然后,我花了大量時間卻未能完成本次作業,效率非常低,質量也很差,也說明了我的基礎真的很差,代碼量遠遠不夠。通過這次大作業我也明白了自己編程的薄弱,更需要花更多的時間來學習。![]
