C語言函數 函數的聲明 C語言的頭文件 #include的用法 形參和實參 函數的返回值

C語言函數

一、是什么?

是指編程中對一塊功能代碼的封裝,可以理解一個程序片段

二、有什么用?

可以封裝代碼,方便調用,提高復用性

三、怎么用?

定義: ?返回值類型 ?函數名(形參類型 參數名1....){代碼塊 ? 返回值}

調用: ?函數名(實參1,實參2....);

四、什么時候用?

當需要取封裝一段代碼實現一個對應的功能時候

五、有什么特點?

1.返回值類型不定義,默認是int,如果不需要具體返回值類型,用void,return可以省略.

2.是否要定義參數 看是否有未知內容參與運算,調用時參數必須對應,參數傳遞的是

3.return可以有多個,但是如果執行到return 就不會再執行后面的代碼,函數執行結束.

4.函數不調用不執行,執行順序看調用順序,

5.函數必須定義才能調用,但不能重復定義,不能嵌套定義.不能自己調用自己(死遞歸)

6.C語言中不允許作嵌套的函數定義 ,但是可以嵌套函數調用

函數的聲明

一、是什么?

是對編譯器的一個說明,用于告知系統在本函數中所調用的函數是什么類型.

如:定義的函數的返回值類型是什么,參數類型是什么.

二、有什么用?

可以告訴編譯器我將定義什么函數,從而讓別的函數能方便調用

三、怎么用?

把函數去掉{},拷貝到聲明區域(函數里或外)就可以.

四、什么時候用?

當需要定義函數的時候

五、有什么特點?

1.僅聲明可以不創建函數,但要調用必須定義函數

2.聲明可以只有參數類型,省略參數名如:int add(int);

3.函數使用前應該聲明,不聲明的話默認為返回值為int類型來處理,很可能出錯

4.聲明區域可以在其他函數里或者函數外.只要放在本函數調用之前就可以

5.函數的返回值是什么類型就要用什么類型的變量去接

6.當被調函數的函數定義出現在主調函數之前時,在主調函數中也可以不對被調函數再作說明而 直接調用。

C語言的頭文件

一、是什么?

是C語言中以.h結尾的文件.如:stdio.h

二、有什么用?

用于聲明(描述)一個函數,把多個代碼文件(如:a.c.....b.c等)中的函數,聲明在這個文件中,以便于使用已經封裝好的函數

三、怎么用?

定義: ?新建一個以.h結尾的文件,把需要用到的函數的聲明直接放在里面.

引用:自定義的頭文件:#include "頭文件名.h"

編譯器類庫里的頭文件:#include<頭文件名.h>

四、什么時候用?

當程序需要由多個c文件組成時

五、有什么特點?

1.在頭文件中僅作聲明,不做具體實現

2.在頭文件有聲明只能確保編譯成功成.o文件,但不確保能鏈接成功

3.自定義的頭文件引用時必須要有路徑

#include的用法

一、是什么?

是C語言中的一個預處理指令

二、有什么用?

用于把一個文件的內容拷貝到所在位置

三、怎么用?

引用:自定義的文件:#include "文件路徑和名稱"

編譯器類庫里的文件:#include<文件名>

四、什么時候用?

當程序需要用到別的文件時

五、有什么特點?

1.可以定義在函數內也可以在函數外

include可以包含頭文件,也可以包含文本文件。include不一定非要寫在第一行

2.必須包含路徑.省略或./表示當前路徑 ? /開頭表示絕對路徑 ?../表示上一層路徑

3.以#開頭,后面不能加分號

include 語句之后不需要加 ";"(因為#include它使一個預處理指令,不是一個語句)

3.必須定義在要使用之前,否則可以編譯通過生成.o文件,但不能鏈接成功

4.#include " " 包含的是一個用戶定義的文件,可以是頭文件,也可是普通文件

1、#include " "在當前文件所在的路徑下查找 2、如果上面沒有找,到編譯器include路徑查找 3、如果編譯器include路徑下沒有找到,系統的include路徑下查找 4、如果上面三個都沒有找到就報錯了。

#include <>包含一個系統(編譯器自帶)的頭文件1、編譯器的include路徑下查找2、如果沒有找到就系統include路徑下查找3、如果都沒有找到就報錯

形參和實參

定義函數的時候,函數名后面小括號中的參數,簡稱形參形式參數是什么樣類型的數據,那么實際參數也必須是什么樣的類型

函數內部不可以定義與函數形參同名的變量,因為形參與函數的代碼是一個代碼塊

調用函數的時候,函數名后面小括號中的參數,簡稱實參

發生函數調用時,主調函數把實參的值傳送給被調函數的形參從而實現主 調函數向被調函數的數據傳送。

參數的傳遞過程:

1.形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因 此,形參只有在函數內部有效。函數調用結束返回主調函數后則不能再使用該形參變量。

2.實參可以是常量、變量、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。

3.實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配”的錯誤。

函數的返回值

函數的值只能通過return語句返回主調函數。

return語句的一般形式為:return表達式;

或者為:return (表達式);

return的功能是計算表達式的值,并返回給主調函數!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容