編程函數的定義之C語言
類型標識符指明瞭本函數的類型,函數的類型實際上是函數返回值的類型。接下來,小編為您介紹了編程函數的定義之C語言,感謝您的閲讀!
無參函數的定義
無參函數定義的`一般形式如下:類型標識符 函數名()其中類型標識符和函數名稱為函數頭。類型標識符指明瞭本函數的類型,函數的類型實際上是函數返回值的類型。該類型標識符與前面介紹的各種説明符相同。函數名是由用户定義的標識符,函數名後有一個空括號,其中無參數,但括號不可少。{}中的內容稱為函數體。在函數體中聲明部分,是對函數體內部所用到的變量的類型説明。在很多情況下都不要求無參函數有返回值,此時函數類型符可以寫為void。我們可以改寫一個函數定義:
voidHello(){
printf("Hello,world");
}
這裏,只把main改為Hello作為函數名,其餘不變。Hello函數是一個無參函數,當被其它函數調用時,輸出Hello world字符串。
有參函數定義的一般形式
有參函數定義的一般形式如下: 類型標識符 函數名(形式參數表列)有參函數比無參函數多了一個內容,即形式參數表列。在形參表中給出的參數稱為形式參數,它們可以是各種類型的變量,各參數之間用逗號間隔。在進行函數調用時,主調函數將賦予這些形式參數實際的值。形參既然是變量,必須在形參表中給出形參的類型説明。例如,定義一個函數,用於求兩個數中的大數,可寫為:
intmax(inta,intb){
if(a>b)returna;
elsereturnb;
}
第一行説明max函數是一個整型函數,其返回的函數值是一個整數。形參為a,b,均為整型量。a,b的具體值是由主調函數在調用時傳送過來的。在{}中的函數體內,除形參外沒有使用其它變量,因此只有語句而沒有聲明部分。在max函數體中的return語句是把a(或b)的值作為函數的值返回給主調函數。有返回值函數中至少應有一個return語句。在C程序中,一個函數的定義可以放在任意位置,既可放在主函數main之前,也可放在main之後。例如:可把max 函數置在main之後,也可以把它放在main之前。修改後的程序如下所示。
【例8-1】函數定義示例
#include<stdio.h>
intmax(inta,intb){
if(a>b)returna;
elsereturnb;
}
intmain(void){
intmax(inta,intb);
intx,y,z;
printf("input two numbers:");
scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
return0;
}
現在我們可以從函數定義、函數説明及函數調用的角度來分析整個程序,從中進一步瞭解函數的各種特點。程序的第1行至第4行為max函數定義。進入主函數後,因為準備調用max函數,故先對max函數進行説明(程序第6行)。函數定義和函數説明並不是一回事,在後面還要專門討論。 可以看出函數説明與函數定義中的函數頭部分相同,但是末尾要加分號。程序第10行為調用max函數,並把x、y中的值傳送給max的形參a、b。max函數執行的結果(a或b)將返回給變量z。最後由主函數輸出z的值。
-
C語言與JAVA的區別
很多人不明白C語言與C++和JAVE之間的區別,為此,為大家收集整理了下面的內容,歡迎閲讀!C語言C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語...
-
C語言如何提高程序效率
好的代碼沒有一個統一的衡量標準,在程序員們的世界裏大家也是各自按照自己的標準衡量着自己和別人的代碼。不過有一個標準幾乎是被所有人認同的。服役時間越長、出錯率越高的代碼就是好代碼。所有的編程方法、代碼技巧甚至於設計模式都是為了達到這個目的而產生...
-
C語言自增(++)和自減(--)
C語言源自KenThompson發明的B語言,那麼大家知道C語言自增(++)和自減(--)是什麼呢?下面一起來看看!一個整數自身加一可以這樣寫:a+=1;它等價於a=a+1;。但是在C語言中還有一種更簡單的寫法,就是a++;或者++a;。這種寫法叫做自加或自增;意思很明確,就是自身加一。相應...
-
C語言輸出菱形的方法
題目:輸出行列都相等的菱形,如5行5列:行列123451*2***3*****4***5*分析:當行數等於總行數的一半時,*是遞增的,遞增為2。當行數大於總行數的一半時,*是遞減的,遞增為2。設有一個行列為n的菱形,我們用變量i作為行數,以0開始,ik作為n菱第i行要輸出的*個數。則i<=n的中值(用m...