C博客作業03--函數


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.大作業總結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM