深夜美女视频一区二区_91sao在线看片水片_亚洲日韩国语_精品中文字幕久久边人妻_高潮喷水香蕉视频色_白洁国产剧情Av手机在线_国产精品情侣呻吟_天空影院播放免费完整版视频_少妇高潮惨叫喷水在线观看_公交车大龟廷进我身体里

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

|C語言|函數的定義

發(fā)布時間:2023-11-21 14:22:04

函數是一段可以重復使用的代碼,用來獨立地完成某個功能,它可以接收用戶傳遞的數據,也可以不接收。接收用戶數據的函數在定義時要指明參數,不接收用戶數據的不需要指明,根據這一點可以將函數分為有參函數和無參函數。

將代碼段封裝成函數的過程叫做函數定義。

C語言無參函數的定義

如果函數不接收用戶傳遞的數據,那么定義時可以不帶參數。如下所示:

dataType  functionName(){
    //body
}


例如,定義一個函數,計算從 1 加到 100 的結果:

int sum(){int i, sum=0;for(i=1; i<=100; i++){sum+=i;}return sum;}

累加結果保存在變量sum中,最后通過return語句返回。sum 是 int 型,返回值也是 int 類型,它們一一對應。

return是C語言中的一個關鍵字,只能用在函數中,用來返回處理結果。

將上面的代碼補充完整:

  1. #include <stdio.h>


  2. int sum(){

  3. int i, sum=0;

  4. for(i=1; i<=100; i++){

  5. sum+=i;

  6. }

  7. return sum;

  8. }


  9. int main(){

  10. int a = sum();

  11. printf("The sum is %d\n", a);

  12. return 0;

  13. }


運行結果:
The sum is 5050

函數不能嵌套定義,main 也是一個函數定義,所以要將 sum 放在 main 外面。函數必須先定義后使用,所以 sum 要放在 main 前面。

注意:main 是函數定義,不是函數調用。當可執(zhí)行文件加載到內存后,系統(tǒng)從 main 函數開始執(zhí)行,也就是說,系統(tǒng)會調用我們定義的 main 函數。

無返回值函數

有的函數不需要返回值,或者返回值類型不確定(很少見),那么可以用 void 表示,例如:

void hello(){printf ("Hello,world \n");//沒有返回值就不需要 return 語句}


void是C語言中的一個關鍵字,表示“空類型”或“無類型”,絕大部分情況下也就意味著沒有 return 語句。

C語言有參函數的定義

如果函數需要接收用戶傳遞的數據,那么定義時就要帶上參數。如下所示:

dataType  functionName( dataType1 param1, dataType2 param2 ... ){
    //body
}

dataType1 param1, dataType2 param2 ...是參數列表。函數可以只有一個參數,也可以有多個,多個參數之間由,分隔。參數本質上也是變量,定義時要指明類型和名稱。與無參函數的定義相比,有參函數的定義僅僅是多了一個參數列表。

數據通過參數傳遞到函數內部進行處理,處理完成以后再通過返回值告知函數外部。

更改上面的例子,計算從 m 加到 n 的結果:

int sum(int m, int n){int i, sum=0;for(i=m; i<=n; i++){sum+=i;}return sum;}

參數列表中給出的參數可以在函數體中使用,使用方式和普通變量一樣。

調用 sum() 函數時,需要給它傳遞兩份數據,一份傳遞給 m,一份傳遞給 n。你可以直接傳遞整數,例如:

int result = sum(1, 100);  //1傳遞給m,100傳遞給n

也可以傳遞變量:

int begin = 4;
int end = 86;
int result = sum(begin, end);  //begin傳遞給m,end傳遞給n

也可以整數和變量一起傳遞:

int num = 33;
int result = sum(num, 80);  //num傳遞給m,80傳遞給n

函數定義時給出的參數稱為形式參數,簡稱形參;函數調用時給出的參數(也就是傳遞的數據)稱為實際參數,簡稱實參。函數調用時,將實參的值傳遞給形參,相當于一次賦值操作。

原則上講,實參的類型和數目要與形參保持一致。如果能夠進行自動類型轉換,或者進行了強制類型轉換,那么實參類型也可以不同于形參類型,例如將 int 類型的實參傳遞給 float 類型的形參就會發(fā)生自動類型轉換。

將上面的代碼補充完整:

  1. #include <stdio.h>


  2. int sum(int m, int n){

  3. int i, sum=0;

  4. 上一篇:什么是編程語言
    下一篇:C++基礎| 指針數組

歡迎登錄盛圖科技

歡迎注冊盛圖科技

已有賬號,立即登錄