有參有返函數(shù)是C語(yǔ)言中的一種函數(shù)類型,即在定義函數(shù)時(shí)有規(guī)定參數(shù),并且有返回值的函數(shù),我們稱之為有參函數(shù)。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出彭水苗族土家族免費(fèi)做網(wǎng)站回饋大家。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int max(int a,int b)
{
int c;
c = (ab)?a:b;
return c;
}
main()
{
int x,y,z;
x=3;
y=5;
z=max(x,y);
printf("%d",z);
getch();
}
其中,定義了參數(shù)a,b和 return 后跟的返回值c,這種C語(yǔ)言中的函數(shù)就叫做有參有返函數(shù)。當(dāng)然與之相對(duì)的還有無參無返函數(shù)。
c語(yǔ)言中標(biāo)準(zhǔn)函數(shù)指由標(biāo)準(zhǔn)頭文件定義和實(shí)現(xiàn)的函數(shù),即“系統(tǒng)自帶的”,用戶函數(shù)是由程序員自己定義實(shí)現(xiàn)的。
無參函數(shù)就是函數(shù)沒有定義參數(shù),有參函數(shù)就是函數(shù)定義了參數(shù)。
無參數(shù)函數(shù)的函數(shù)名后面的括號(hào)里是空的,沒有參數(shù)列表。有時(shí),也在括號(hào)里面形式地寫上void,表示沒有參數(shù)。如 int fun1() 、 char fun2或 void fun3()等。這里的int,char或void是函數(shù)的類型,表示相應(yīng)的函數(shù)分別返回int型結(jié)果,char型結(jié)果或不需要返回結(jié)果,不要弄混。C語(yǔ)言函數(shù)中,參數(shù)相當(dāng)自變量,返回值相當(dāng)于應(yīng)變量。一個(gè)參數(shù)相當(dāng)于一元函數(shù),兩個(gè)就相當(dāng)于二元函數(shù)等等,返回量只能有一個(gè)。沒有參數(shù),即0個(gè)參數(shù),是一個(gè)特例,這是與數(shù)學(xué)上的不同。比如,要從某個(gè)設(shè)備上讀一個(gè)數(shù)回來,讀來的數(shù)是返回值,但是可以沒有參數(shù),就是說,從默認(rèn)設(shè)備讀的情況;如果同樣的設(shè)備有好幾個(gè),那么從哪一個(gè)設(shè)備讀,或者要連續(xù)多少個(gè)數(shù),就可以作為函數(shù)的參數(shù)了。帶參數(shù)的函數(shù),功能更加強(qiáng)大,也靈活。與此相反,有的函數(shù)有參數(shù)但是沒有返回值,比如,將一個(gè)數(shù)據(jù)從某個(gè)設(shè)備發(fā)送出去,如果你不關(guān)心發(fā)送能否成功(默認(rèn)肯定能成功),那么就沒有返回值了。函數(shù)的調(diào)用是一級(jí)調(diào)用一級(jí),可以嵌套。甚至可以自己調(diào)用自己(遞歸)。定義的C函數(shù)都是用來被調(diào)用的,所以都是被調(diào)函數(shù)。但是某些函數(shù)又調(diào)用了其它函數(shù),所以,就是相對(duì)的主調(diào)函數(shù)了。主調(diào)用和被調(diào),就類似于 父與子,子與孫,...,是相對(duì)的。main()主函數(shù),是一份程序的入口點(diǎn)。你找不到它的主了,其實(shí),只有編譯器提供的啟動(dòng)代碼最后調(diào)用了它。
函數(shù)定義包括有參函數(shù)和無參函數(shù),無參函數(shù)為:
類型標(biāo)示符
函數(shù)名()
{
聲明語(yǔ)句
語(yǔ)句部分
}
無參函數(shù):
類型標(biāo)示符
函數(shù)名(形式參數(shù)列表)
{
聲明部分
語(yǔ)句部分
}
例如:
int
max(int
x,int
y)
{
int
z;
z=xy?x:y;
return(z);
}
從參數(shù)角度分類:1.有參函數(shù):函數(shù)有形參,可以是一個(gè),或者多個(gè),參數(shù)的類型隨便,完全取決于函數(shù)的功能。2.無參函數(shù):函數(shù)沒有參數(shù),在形參列表的位置寫一個(gè)viod或什么都不寫。
每個(gè)C程序都至少有一個(gè)函數(shù),即主函數(shù)main(),如果程序的任務(wù)比較簡(jiǎn)單,全部的代碼都寫在main()函數(shù)中,但是,在實(shí)際開發(fā)中,程序的任務(wù)往往比較復(fù)雜,如果全部的代碼都寫在main()函數(shù)中,main()函數(shù)將非常龐大臃腫,結(jié)構(gòu)復(fù)雜,代碼重復(fù)。
詳細(xì)信息:
我們可以根據(jù)程序的邏輯和任務(wù)的分工把代碼劃分到不同的自定義函數(shù)中,main()更關(guān)心業(yè)務(wù)邏輯和處理流程,需要執(zhí)行具體任務(wù)的時(shí)候,調(diào)用這些自定義的函數(shù)就可以了。
為了方使理解,我們把函數(shù)分為兩種:一種是庫(kù)函數(shù),一種是自定義函數(shù)。庫(kù)函數(shù)是C語(yǔ)言提供的,或系統(tǒng)提供的,實(shí)現(xiàn)了某些基本的功能,例如scanf、printf,在程序中可以直接使用。
自定義函數(shù)是程序員為了完成某項(xiàng)任務(wù)而編寫的函數(shù),目的是為了實(shí)現(xiàn)某項(xiàng)的功能或讓主程序更簡(jiǎn)潔。程序員在使用自定義函數(shù)之前,必須先聲明和定義。
void
funtion1(void)
{
printf("funtion1是無參函數(shù)\n");
}
void
funtion2(int
x)
{
int
y;
y=x;
printf("funtion2是有參函數(shù)\n");
printf("參數(shù)的値是
%d",y);
}
mani()
{
funtion1();
funtion2(8);
}
這里所謂的有參和無參的參是指函數(shù)的參數(shù),也就是上例中的funtion(int
x)括號(hào)中的參數(shù)x
,該參數(shù)的類型是int型。funtion2(int
x)被調(diào)用時(shí)的形式如funtion2(8),也就是x=8,然后把參數(shù)値8傳進(jìn)函數(shù)funtion2,y=8;所以,主函數(shù)main()的運(yùn)行結(jié)果是,
funtion1是無參函數(shù)
funtion2是有參函數(shù)
參數(shù)的値是8