C 基礎入門(六) 函式

2021-10-22 20:52:45 字數 3703 閱讀 6191

c++系列內容的學習目錄→

\rightarrow

→c++學習系列內容彙總。

函式是一組一起執行乙個任務的語句。每個 c++ 程式都至少有乙個函式,即主函式main(),所有簡單的程式都可以定義其他額外的函式。

函式宣告告訴編譯器函式的名稱、返回型別和引數。函式定義提供了函式的實際主體。

c++ 標準庫提供了大量的程式可以呼叫的內建函式。例如,函式strcat()用來連線兩個字串,函式memcpy()用來複製記憶體到另乙個位置。

函式還有很多叫法,比如方法、子例程或程式,等等。

函式的作用:將一段經常使用的**封裝起來,減少重複**。

乙個較大的程式,一般分為若干個程式塊,每個模組實現特定的功能。

函式的定義一般主要有5個步驟:

返回值型別

函式名參數列列

函式體語句

return 表示式

函式的語法:

返回值型別 函式名 (引數列表)

在 c++ 中,函式由乙個函式頭和乙個函式體組成。下面列出乙個函式的所有組成部分:

練習案例:定義乙個加法函式,實現兩個數相加。

練習案例的**如下所示。

#include

using

namespace std;

//函式的定義

//語法:

//返回值型別 函式名(引數列表)

//加法函式,實現兩個整型相加,並且將相加的結果進行返回

intadd

(int num1,

int num2)

intmain()

函式的呼叫功能:使用定義好的函式。

函式的呼叫語法:函式名(引數)

例項如下所示。

#include

using

namespace std;

//定義加法函式

intadd

(int num1,

int num2)

//函式定義的時候,num1和num2並沒有真實資料,只是乙個形式上的引數,簡稱形參

intmain()

c = 30

所謂值傳遞,就是函式呼叫時實參將數值傳入給形參。值傳遞時,如果形參發生任何改變,並不會影響實參。

例項如下所示。

#include

using

namespace std;

//值傳遞

//定義函式,實現兩個數字進行交換的函式

//如果函式不需要返回值,宣告的時候可以寫void

void

swap

(int num1,

int num2)

intmain()

a = 10

b = 20

交換前:

num1 = 10

num2 = 20

交換後:

num1 = 20

num2 = 10

a = 10

b = 20

值傳遞圖示如下。

常見的函式樣式有4種:

無參無返

有參無返

無參有返

有參有返

例項如下所示。

#include

using

namespace std;

//函式常見樣式

//1.無參無返

void

test01()

//2.有參無返

void

test02

(int a)

//3.無參有返

inttest03()

//4.有參有返

inttest04

(int a)

intmain()

this is test01!

this is test02, a = 100!

this is test03!

num1 = 1000

this is test04, a = 10000!

num2 = 10000

函式的宣告作用:告訴編譯器函式名稱及如何呼叫函式。函式的實際主體可以單獨定義。

函式的宣告可以多次,但是函式的定義只能有一次。

例項如下所示。

#include

using

namespace std;

//函式的宣告

//比較函式,實現兩個整型數字進行比較,返回較大的值

//函式的宣告:提前告訴編譯器函式的存在

intmax

(int a,

int b)

;int

main()

//函式的定義

intmax

(int a,

int b)

//函式的定義在main()函式之後,一定要在之前進行宣告,否則會報錯

函式的分檔案編寫的作用:讓**結構更加清晰。

函式分檔案編寫一般有4個步驟

建立字尾名為.h的標頭檔案 ;

建立字尾名為.cpp的原始檔;

在標頭檔案中寫函式的宣告;

在原始檔中寫函式的定義。

例項如下所示。

#include

using

namespace std;

//函式的宣告

void

swap

(int a,

int b)

;

#include

"swap.h"

//函式的定義

void

swap

(int a,

int b)

#include

using

namespace std;

#include

"swap.h"

//函式的分檔案編寫

//實現兩個數字之間進行交換的函式

//1.建立.h字尾名的標頭檔案

//2.建立.cpp字尾名的原始檔

//3.在標頭檔案中寫函式的宣告

//4.在原始檔中寫函式的定義

C 基礎入門詳細筆記(六)

c 基礎入門詳細筆記 一 c 基礎入門詳細筆記 二 c 基礎入門詳細筆記 三 c 基礎入門詳細筆記 四 c 基礎入門詳細筆記 五 c 基礎入門詳細筆記 六 目錄 十 建構函式 1 建構函式定義 1.1 特點 1.2 作用 1.3 建構函式的種類 2 帶參構造 2.1 定義 十 一 棧記憶體與堆記憶體...

C 入門基礎 函式過載

在生活中我們也會遇到 函式過載 你鼓起勇氣捧起鮮花向你心儀已久的女神表白,你將花用雙手遞給女神,含情脈脈對女神說 我喜歡上你了!這時女神大呼流氓反手乙個耳光就跑走了,周圍圍觀的群眾紛紛豎起大拇指直呼內行,而這時的你還不知道自己說錯了什麼話,會被女神直呼流氓。生活中的 函式過載 就是一詞多義,在c 中...

html入門基礎(六)

外盒尺寸計算 元素空間尺寸 element空間高度 content height padding border margin element 空間寬度 content width padding border margin 內盒尺寸計算 元素實際大小 element height content h...