C語言快速入門:使用函數(shù)

函數(shù)

一個函數(shù)是用于完成特定任務(wù)的程序代碼的自包含單元。它可以執(zhí)行某些動作,如使用printf進行輸出;或返回一個值供程序使用,也可以同時具有以上兩種功能。

調(diào)用它

使用函數(shù)就像購物一樣,你花費RMB,得到需要的東西。在C語言中使用一個函數(shù),稱之為調(diào)用。調(diào)用一個函數(shù)的形式如下:函數(shù)名 (以逗號分隔的參數(shù)列表);

C語言要求一個名稱被使用之前需要被看到。函數(shù)名也是一個名稱,如printf()函數(shù)一樣,它的名稱聲明在stdio.h中,因此你包含了這個頭文件。使用對應函數(shù),就需要包含對應的頭文件。

回想最簡單的Hello, World!程序 ,你會發(fā)現(xiàn)我們在程序中顯示的調(diào)用了頭文件stdio.h提供的printf()函數(shù);同時main函數(shù)被間接的調(diào)用——因為我們沒有明確的使用調(diào)用語法,但它卻執(zhí)行了。

函數(shù)可以有返回值,表明函數(shù)運行的最終結(jié)果。就像你滿懷心喜,去買牛肉魚丸,店主告訴你沒有魚丸一樣,付出不一定都是滿意的答案。這個返回值可以賦給一個變量,可以忽略,也可以直接做為其它函數(shù)的參數(shù)。

簡單的例子

一切從最簡單處開始,假定有一個求矩形面積的函數(shù),calcRectArea。

int calcRectArea( int width, int height )
{
    return width * height;
}

現(xiàn)在讓我們嘗試用調(diào)用語法在main()函數(shù)中使用它。
首先是函數(shù)名:calcRectArea
然后是左括號,calcRectArea(
矩形的面積=寬x高,表明這個函數(shù)需要兩個參數(shù),calcRectArea( 24, 35
然后是右括號與語句結(jié)束符calcRectArea(24, 35);

在這里,我們只是把函數(shù)調(diào)用了一下,并沒有輸出結(jié)果,如果這時你運行程序,會發(fā)現(xiàn)好像什么都沒有發(fā)生。這就是丟棄函數(shù)返回值。

完整的例子

此刻,我們并不需要掌握關(guān)于函數(shù)更多的語法,所以不要糾結(jié)于整個calcRectArea的實現(xiàn)上。現(xiàn)在的目標就是調(diào)用它!來看看本節(jié)最終的完全示例,確保你理解了。

#include <stdio.h>

int calcRectArea( int width, int height )
{
    return width * height;
}

float calcCircleArea( float r )
{
    return 3.14f * r * r;
}

int getMyAge()
{
    return 12;
}

// 先不用著急理解上面三個函數(shù)的定義,目標只是使用它們!

int main()
{
    int rw = 20;
    int rh = 12;

    // 把函數(shù)返回值賦值給變量
    int rectArea = calcRectArea( rw, rh );
    printf( "area of rect(%d x %d): %d\n", rw, rh, rectArea );

    // 把函數(shù)值傳遞給另一個函數(shù)
    printf( "area of circle: %f\n", calcCircleArea( 2.35f ) );

    // 調(diào)用函數(shù)但丟棄返回值 
    getMyAge();

    printf( "here...\n" );

    return 0;
}
glimix.com
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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