C語言入門程式設計學習 函式

2021-08-15 21:27:08 字數 2893 閱讀 4907

c語言函式是一組一起執行乙個任務的語句。每個c程式都至少有乙個函式,即main()主函式,所有簡單的程式都可以定義其他額外的函式。

函式申明告訴編譯器函式的名稱,返回型別和引數。函式定義提供了函式的實際主體。

以下是max( )函式的源**,會返回這兩個數中較大的那個。

int max(int num1,int num2)

int result;     //區域性變數申明

if(num1 > num2)

result = num1;

else

result = num2;

return result;

在c語言中,函式是由乙個函式頭和乙個函式主題組成。

(1)返回型別:乙個函式可以返回乙個值。return_type是函式返回值的型別。有些函式執行所需的操作二部返回值,在這種情況下,

return_type

是關鍵字

void

。(2)函式名稱:是函式的實際名稱,函式名和引數列表一起構成了函式簽名。

(3)引數:引數就像是佔位符,當函式呼叫時,向函式傳遞了乙個值,這值被稱為實際引數,引數列表包括函式引數的型別,順序,數量,引數是可選的,也就是說,函式可能不包含引數。

(4)函式主體:包含一組定義函式執行任務的語句。

函式宣告會告訴編譯器函式名稱及如何呼叫函式。函式的實際主體可以單獨定義。

針對上面定義的max()函式,以下是函式宣告:

int max(int num1,

int num2);

在函式申明中。引數的名稱不重要,只有引數的型別是必須的,因此可修改函式申明:

int max(int,

int );

在乙個原始檔中定義函式且在另乙個檔案中呼叫函式時,函式宣告是必須要的,在這種情況下,應該在呼叫函式的檔案頂部宣告函式。

建立c函式時,會定義函式做什麼,然後通過呼叫函式來完成以定義的任務。

當程式呼叫函式時,程式控制權會轉移給被呼叫的函式。被呼叫的函式執行已定義的任務,當函式的返回語句被執行時,或到達函式的結束括號時,會把程式控制權交還給主程式。

呼叫函式時,需要傳遞其所需的引數;如果函式有乙個返回值,則可以接收其返回值。

#include

/*函式申明

*/int max(int num1,int num2);

int main()

/*區域性變數

*/int a=100;

int b=200;

int ret;

/*呼叫函式來獲取最大值

*/ret = max(a,b);

printf("max value is:%d\n",ret);

return 0;

/*函式返回兩個數中較大的那個數

*/int max(int num1,int num2)

/*區域性變數宣告

*/int result;

if(num1 > num2)

retult = num1;

else

retult = num2;

return result;}把

max()

函式和

main()

函式放一塊,編譯源**。當執行最後的可執行檔案時,會產生下列結果

:max value is:

200形參:在函式定義中出現的引數可以看做是乙個佔位符,它沒有資料,只能等到函式被呼叫時接收傳遞進來的資料。實參:

函式被呼叫時給出的引數包含了實實在在的資料,會被函式內部的**使用,所以稱為實際引數。

形參和實參的功能是作資料傳送,發生函式呼叫時,實參的值會傳送給形參。

  形參和實參的特點:

1) 形參變數只有在函式被呼叫時才會分配記憶體,呼叫結束後,立刻釋放記憶體,所以形參變數只有在函式內部有效,不能在函式外部使用。

2) 實參可以是常量、變數、表示式、函式等,無論實參是何種型別的資料,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參,所以應該提前用賦值、輸入等辦法使實參獲得確定值。

3) 實參和形參在數量上、型別上、順序上必須嚴格一致,否則會發生「型別不匹配」的錯誤。

函式呼叫中發生的資料傳送是單向的,只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函式呼叫過程中,形參的值發生改變,而實參中的值不會變化。

int func()

int a=100,b=200,c;

return a+b;

return a*b;

return b/a;

返回值始終a+b的值,也就是300;

例如:void func()

例如,下面的語句是錯誤的:

int a=func();

任何一種程式設計中,作用域是程式中定義的變數所存在的區域,超過該區域變數就不能被訪問。

c 語言中有三個地方可以宣告變數:

(1)

在函式或塊內部的區域性變數

(2)

在所有函式外部的全域性變數

(3)

在形式引數的函式引數定義中

讓我們來看看什麼是區域性變數、全域性變數和形式引數。

3.6.1

區域性變數

在某個函式或塊的內部宣告的變數稱為區域性變數。 它們只能被該函式或該**塊內部的語句使用; 區域性變

量在函式外部是不可知的。

3.6.2 全域性變數

全域性變數是定義在函式外部,通常是在程式的頂部。全域性變數在整個程式生命週期內都是有效的,在任意

的函式內部能訪問全域性變數。

全域性變數可以被任何函式訪問。也就是說,全域性變數在宣告後整個程式中都是可用的。

在程式中,區域性變數和全域性變數的名稱可以相同,但是在函式內,區域性變數的值會覆蓋全域性變數的值 。

3.6.3  函式形參

函式的引數,形式引數,被當作該函式內的區域性變數,它們會優先覆蓋全域性變數。

程式設計練習 程式設計入門 C語言

程式每次讀入乙個正三位數,然後輸出逆序的數字。注意,當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。簡單一點 include intmain 複雜一點 需要考慮到百位十位為零的情況 include intmain return0 utc是世界協調時,bjt是北京時間,...

C語言入門學習(3 1) 順序結構程式設計

課程要求 1 掌握程式設計的基本思想 2 熟悉及掌握c語言基本資料型別 int,long,float,double 的說明 3 掌握格式輸入函式scanf的靈活應用 4.掌握格式輸出函式printf的靈活應用 5.算術表示式在實際問題中應用 6.必須掌握的演算法1.兩數的交換 2.拆數法 實驗例題 ...

C語言入門 6 函式入門

1.函式是什麼?函式是一塊 一組一起執行乙個任務的語句。函式接受零個或多個引數,計算完成返回零個或乙個值。函式的作用 重複使用 2.函式怎麼用?2.1 呼叫函式 在數學中有很多的函式,可以直接在c語言中使用,例如 sin cos 這些函式的使用方法與數學使用方法是一致的。使用函式通常稱為呼叫函式。函...