什么是函數(shù)?
我們之前說過, #include , 就像是一個(gè)"工具箱",而工具箱中的"工具",就是函數(shù),也就是程序的模塊化。
比如說:printf 就是其中的一個(gè)函數(shù),功能是輸出。
C語言中的函數(shù),除了其本身提供的大量的庫函數(shù)之外,我們也可以自己定義函數(shù)。
也就是根據(jù)自己的需要,打造自己需要的工具。
定義函數(shù)的一般格式
返回值類型 函數(shù)名(參數(shù)類型 參數(shù)1,參數(shù)類型 參數(shù)2......)
{
函數(shù)內(nèi)代碼;
return 返回值; //若無返回值,不寫這一句
}
- 返回值類型:指這個(gè)函數(shù)最后得出結(jié)果后,返回給主函數(shù)的值是什么類型。
- 例如:int 類型。 當(dāng)然,也可以不設(shè)置返回值,返回為空,也就是void
- 函數(shù)名:指這個(gè)函數(shù)的名字,由你自己起名。
- 參數(shù):指執(zhí)行這個(gè)函數(shù),所需要傳入的數(shù)據(jù)。
- 參數(shù)類型:指傳入?yún)?shù)的類型,如 int 型。
自定義函數(shù),例1:A+B
我們寫一個(gè)函數(shù),功能是計(jì)算兩個(gè)數(shù)的和,函數(shù)返回值是兩個(gè)數(shù)的和。
就是下面這樣
int Add(int a,int b)
{
return a+b;
}
- a 和 b 就是參數(shù),它的值是你在調(diào)用函數(shù)時(shí)輸入的值。
- return 就是返回的意思,返回值是 a+b,也就是兩數(shù)之和。
調(diào)用函數(shù)
也就是使用我們定義出來的函數(shù),就用我們剛剛定義的函數(shù)來說明:
#include
int Add(int a,int b)
{
return a+b;
}
int main()
{
int c;
c=Add(3,6);
printf("%d",c);
return 0;
}
程序的輸出結(jié)果:
9
我們在主函數(shù)內(nèi)調(diào)用函數(shù)時(shí),格式是:
函數(shù)名(參數(shù)1,參數(shù)2...)
- 在調(diào)用函數(shù)時(shí),不需要像定義函數(shù)時(shí)一樣,寫出參數(shù)的類型,但需要保證參數(shù)的位置相互對應(yīng)。
- Add(3,6) ,3 對應(yīng)的就是函數(shù)中的 a,6 對應(yīng)的就是函數(shù)中的 b。 可以理解為給 a 賦值為 3,給 b 賦值為 6。 這個(gè)過程我們叫 "傳參"。
- 在函數(shù)中,我們定義了一個(gè) int 型的數(shù)據(jù) c ,用來儲存函數(shù)返回的值,也就是兩數(shù)相加的和。
- 用單等號 = ,也就是賦值符,將函數(shù)的返回值賦值給了參數(shù) c 。
- 最后,我們使用庫函數(shù) printf 輸出 c ,也就是輸出了兩數(shù)之和。
我們再把程序改進(jìn)一下,讓計(jì)算的數(shù)據(jù)由 “黑色窗口” 輸入。
#include
int Add(int a,int b)
{
return a+b;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=Add(a,b);
printf("%d",c);
return 0;
}
- 這里我們需要注意的一點(diǎn),函數(shù)中的參數(shù)名,跟主函數(shù)中的參數(shù)名是互不影響的,它們雖然名字相同,都是a和b,但卻獨(dú)立工作。 我們稱這樣的變量為"局部變量"。
-
C語言
+關(guān)注
關(guān)注
180文章
7605瀏覽量
136934 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4332瀏覽量
62666 -
Printf
+關(guān)注
關(guān)注
0文章
83瀏覽量
13672 -
調(diào)用函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
2337
發(fā)布評論請先 登錄
相關(guān)推薦
評論