實驗七 函式定義及呼叫總結

2022-07-18 10:30:13 字數 1962 閱讀 7119

一、本次課學習到的知識點:

1、函式的定義:函式是乙個完成特定工作的獨立程式模組,包括函式和自定義函式兩種。

2、以計算圓柱體體積為例,通過定義體積計算功能的函式和主函式呼叫的例子,引出函式定義的一般形式:函式首部加函式體,且在函式結尾處通過return 語句返回結果。

函式型別    函式名(形式參數列)   /*函式首部*/

函式實現過程                    /*函式體*/

return  表示式;

3、函式首部由函式型別,函式名和形式參數列組成,位於函式定義第一行。函式型別指函式結果返回的型別,一般與return語句中表示式的型別一致。形參表中給出函式計算所要用到的相關已知條件,以類似變數定義的形式給出。形參表中各個形參之間用逗號分隔,每個形參前面的型別必須分別寫明。函式的形參的數量可以是乙個,也可以是多個,或者沒有形參。

4、形參、實參及引數傳遞。形參只能用變數表示,在函式中起作用;實參可以是變數、常量或表示式,在主調函式中。實參與形參要個數一致,型別一致。引數傳遞時,實參把變數、常量的值或者表示式結果值傳遞給形參。

5、函式定義首部與宣告。二者形式相似,函式宣告的目的主要是說明函式的型別和引數的情況,以保證程式編譯時對函式呼叫是否正確做出判斷,宣告位置通常在主函式前面。而函式定義首部位於函式定義的第一行,與函式體連續書寫組成函式定義。

6、函式宣告是一條c語句,而函式定義時的函式首部不是語句,後面不能跟分號。如果在呼叫函式前,既不定義,也不宣告,程式編譯時會出錯。

二、實驗過程中遇到的問題及解決方法:

1、會發現程式編譯正確,結果卻不正確,卻不能發現問題在哪。

2、在練習5-1中,雖然老師講了正確做法,但我不知道自己編寫的**出現了問題。

題目:使用函式求1到n之和:輸入乙個正整數n,輸出1~n之和。要求定義和呼叫函式sum(n)求1~n之和。

#include#include

int sum(int

n);int main(void)

int sum(int

n)

三、實驗心得體會及本章學習總結

函式是c語言程式的基本組成單元,編寫每乙個程式都需要用到函式,如main()函式和priintf()、scanf()等函式。

本章介紹了函式的定義和使用,討論了變數與函式的關係。

函式首部三要素:函式型別,函式名,形式參數列。

函式的呼叫:任何c程式執行,首先從主函式main()開始,如果遇到某個函式呼叫,主函式被暫停執行,轉而執行相應的函式,該函式執行完後將返回主函式,然後再從原先暫停的位置繼續執行。

形參和實參必須一一對應,實參的值依次傳給形參。

函式宣告:c語言要求函式先定義後呼叫。如果自定義函式被放在主調函式的後面,就需要在函式呼叫前,加上函式原型宣告。

四、預習

1、在例題5-5中,pyramid()函式的功能是在螢幕上輸出數字金字塔,不做任何運算,也沒有運算結果,也不需要返回值。函式定義時,形參n決定了需要輸出的數字金字塔的層數。

2、區別:前面介紹的函式都是起計算或判斷作用,最終有乙個函式結果返回。在例題5-5中,呼叫函式的作用就是在螢幕上輸出數字金字塔,不是為了得到某個運算結果,而是要讓它產生某些作用。

3、不返回結果的函式定義:

void 函式名(形參表)

函式實現過程

函式型別為void,表示不返回結果,函式體中可以使用沒有表示式的return語句,也可以省略return。void型別的函式雖然不直接返回乙個值,但它的作用通常以螢幕輸出等方式體現。

在不返回結果的函式定義中,void不能省略,否則,函式型別被預設定義為int。

4、例5-5定義pyramid()函式時,省略了return語句,並不意味著函式不能返回。對於void型別的函式,如果省略了return語句,當函式中所用語句都執行完後,遇到最後的大括號即自動返回主調函式。

5、不返回結果的函式在定義、呼叫、引數傳遞、函式宣告上,思路完全與以前相同,只是函式型別變為void。它適用的場合主要是把一些確定的、相對獨立的程式功能封裝成函式。

實驗七 函式定義及呼叫總結

1.本次課學習到的知識點 1 函式是乙個完成特定工作的獨立程式模組,包括庫函式和自定義函式兩種。例如scanf printf 等為庫函式,由c語言系統提供定義,程式設計時只要直接呼叫即可 像fact 函式,需要自己定義,屬於自定義函式。2 函式首部由函式型別,函式名和形式參數列組成,位於函式定義第一...

實驗七 函式定義及呼叫總結

1.本次課學習到的知識點 1 函式定義的一般形式為 函式型別 函式名 形式參數列 函式首部 函式實現過程 函式體 return 表示式 2 函式部首後面不能加分號,它和函式體一起構成完整的函式定義 3 實際引數可以是常量 變數和表示式,函式形參必須是變數 2.實驗過程中遇到的問題及解決方法 1 不理...

實驗八 函式定義及呼叫總結

1.本次課學習到的知識點 1 void為不反回結果的函式,且void不能省略,否則預設為int,函式體中沒有表示式的return語句,也可省略return.2 不返回結果的函式在定義 呼叫 引數傳遞 函式宣告上,思路與以前相同,適用於把一些確定的 相對獨立的程式功能封裝成函式。3 區域性變數 定義在...