天天看點

C語言第六課

主要内容:函數(重要,要求掌握)

一、函數的定義

        什麼是函數:函數就是具有特定功能的代碼塊

        通俗的說就是:一連串語句組合在一起的代碼塊的封裝,然後給它們起了一個名字

        好處:節省開發效率,省去重複代碼塊的編寫,大大的簡化了程式

函數分為:

庫函數:系統提供好的函數(如标準的輸入輸出函數)

自定義函數:程式員自己編寫的執行特定功能的函數

函數的定義:

傳回值類型  函數名(參數)// 傳回值類型有:void、int、char、float...

{

語句

return 傳回值

}

根據傳回值類型可以分為:

void hello(void) / /  無參數無傳回值

printf(" Hello,My name is ");

void hello (void)/ /  無參數有傳回值

return 33;

根據參數類型可以分為:

int max(int a, int b)/ /  有參數有傳回值

return a > b ? a : b ;

void printNumber(int x)/ /  有參數無傳回值

printf(" number = : %d " , x );

函數的傳回值成為函數的值,隻能通過return傳回給主調函數

一個函數隻能有一個傳回值

函數即使沒有傳回值也可以使用return結束函數的執行,return後面的語句不再執行

形參、實參

形參:出現在函數定義中的參數

實參:出現在函數調用中的參數

注意:函數調用中,形參會拷貝實參内容,傳遞到函數中經過函數體的執行後,傳回值到main函數中

二、函數的聲明

一個嚴格的函數通常包括三個部分

1:函數的聲明:意思就是告訴計算機我定義了一個函數(如果函數的定義在主調函數之前可省略不寫,如果   在後面,必須寫函數的聲明,否則程式無法運作)

2:函數的定義:編寫函數體

3:函數的調用:在main函數中調用函數

規範的按照順序編寫函數

函數的聲明與定義一般寫在源檔案的xxx.h、xxx.m檔案中

xxx.h(頭檔案):主要存放函數的聲明

xxx.m(實作檔案):主要存放函數的實作(實作函數功能的代碼塊)

使用時要再源檔案的入口函數(main函數)之前寫上 # import " 頭檔案(xxx.h) "

三、函數中,數組作為參數

數組元素作為參數時與普通變量一樣

數組作為參數,把數組名傳入(即數組的首位址)此時形參和實參的記憶體位址是同一段

四、函數的嵌套使用

C語言不允許函數嵌套定義,但是允許函數嵌套使用

遞歸函數

C語言允許函數實作體内再次調用函數本身,這種調用方式成為遞歸調用,這個函數稱為遞歸函數

階乘

就是運用遞歸函數

注意:遞歸函數一定要有出口

五、變量的作用域

即變量的有效範圍

分為

全局變量:定義在函數體外的變量

局部變量:定義在函數體内部的變量

繼續閱讀