C語言——函數(shù)

函數(shù)

函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語句。每個(gè) C 程序都至少有一個(gè)函數(shù),即主函數(shù) main() ,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù),函數(shù)是C源程序的基本模塊。

  • 函數(shù)聲明:告訴編譯器函數(shù)的名稱,返回類型和參數(shù)。
  • 函數(shù)定義:提供函數(shù)的實(shí)際主體。
函數(shù)聲明:
return_type function_name( parameter list );

函數(shù)定義形式:

return_type function_name(parameter list){
body of function
}
  • 返回類型(return_type):一個(gè)函數(shù)返回一個(gè)值,而這個(gè)是返回值的數(shù)據(jù)類型。void類型就是某些函數(shù)不需要返回值的體現(xiàn)。
  • 參數(shù)名稱(function_name):函數(shù)的名稱。
  • 參數(shù):調(diào)用函數(shù)時(shí)向函數(shù)傳遞的值。參數(shù)列表包含函數(shù)參數(shù)的數(shù)據(jù)類型,順序和數(shù)量。當(dāng)無參數(shù)時(shí),void或者不寫參數(shù)。
  • 參數(shù)主體:一組定義函數(shù)執(zhí)行任務(wù)的語句。
    下面舉個(gè)例子來具體說明一下:
//函數(shù)作用:求2個(gè)浮點(diǎn)數(shù)的和并返回整數(shù)結(jié)果
int sum(float a,float b){
//定義局部變量來接收結(jié)果
int result;
result = (int)(a + b);
//返回結(jié)果
return result;
//return (int)(a+b);
}

以上sum函數(shù)有2個(gè)浮點(diǎn)數(shù)a與b,返回值是2個(gè)浮點(diǎn)數(shù)的整數(shù)和。
這個(gè)函數(shù)的聲明為:

int sum(float a,float b);

調(diào)用函數(shù)

當(dāng)調(diào)用函數(shù)時(shí),傳遞函數(shù)所需要參數(shù),函數(shù)有返回值的情況下,可以接收返回值。

#include <stdio.h>
 
/* 函數(shù)聲明 */
int sum(float a, float b);
 
int main ()
{
   // 局部變量定義
   float A = 10.0;
   float B = 7.0;
   int Sum;
 
   //進(jìn)行求和
   Sum= sum(A, B);
 
   printf( "Sum value is : %d\n", Sum );
 
   return 0;
}
 
//求2個(gè)浮點(diǎn)數(shù)的和并返回整數(shù)結(jié)果
int sum(float a,float b){
//定義局部變量來接收結(jié)果
int result;
result = (int)(a + b);
//返回結(jié)果
return result;
//return (int)(a+b);
}

之后執(zhí)行結(jié)果為:

Sum value is 17

形參和實(shí)參

在上面的函數(shù)中,有形式參數(shù)(a,b)和實(shí)際參數(shù)(A,B)之分,那么他們區(qū)別是什么。

實(shí)參:在調(diào)用時(shí)傳遞給函數(shù)的參數(shù). 實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等, 無論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時(shí),它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應(yīng)預(yù)先用賦值,輸入等辦法使實(shí)參獲得確定值。

形參(parameter):又稱虛擬變量。是在定義函數(shù)名和函數(shù)體的時(shí)候使用的參數(shù),目的是用來接收調(diào)用該函數(shù)時(shí)傳入的參數(shù).在調(diào)用函數(shù)時(shí),實(shí)參將賦值給形參。因而,必須注意實(shí)參的個(gè)數(shù),類型應(yīng)與形參一一對(duì)應(yīng),并且實(shí)參必須要有確定的值。

  • 形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nèi)都可以使用, 離開該函數(shù)則不能使用。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用。
  • 形參和實(shí)參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時(shí), 主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文地址:C語言函數(shù)調(diào)用棧(一)C語言函數(shù)調(diào)用棧(二) 0 引言 程序的執(zhí)行過程可看作連續(xù)的函數(shù)調(diào)用。當(dāng)一個(gè)函數(shù)執(zhí)...
    小豬啊嗚閱讀 4,972評(píng)論 1 19
  • C語言函數(shù)(一) 謹(jǐn)記 短暫的人生中,注定有很多人陪伴著你度過,陪你一起歡呼,陪你一起傷心流淚,陪你一起走過一條又...
    長(zhǎng)風(fēng)留言閱讀 2,420評(píng)論 1 7
  • 1、c語言的函數(shù)有以下特點(diǎn): (1)才源程序由函數(shù)組成,一個(gè)主函數(shù)main()+若干其他函數(shù) C程序中的函數(shù)類似文...
    滕王閣序閱讀 1,525評(píng)論 0 6
  • 函數(shù)基本概念 C源程序是由函數(shù)組成的例如: 我們前面學(xué)習(xí)的課程當(dāng)中,通過main函數(shù)+scanf函數(shù)+printf...
    極客江南閱讀 1,764評(píng)論 1 14
  • 函數(shù)基本概念 C源程序是由函數(shù)組成的例如: 我們前面學(xué)習(xí)的課程當(dāng)中,通過main函數(shù)+scanf函數(shù)+printf...
    極客學(xué)院凱閱讀 266評(píng)論 0 1

友情鏈接更多精彩內(nèi)容