1樓:
在c語言中,所有的函式定義,包括主函式main在內,都是平行的。也就是說,在一個函式的函式體內, 不能再定義另一個函式, 即不能巢狀定義。但是函式之間允許相互呼叫,也允許巢狀呼叫。
習慣上把呼叫者稱為主調函式。 函式還可以自己呼叫自己,稱為遞迴呼叫。main 函式是主函式,它可以呼叫其它函式,而不允許被其它函式呼叫。
因此,c程式的執行總是從main函式開始, 完成對其它函式的呼叫後再返回到main函式,最後由main函式結束整個程式。一個c源程式必須有,也只能有一個主函式main。
函式定義的一般形式
1.無參函式的一般形式
型別說明符 函式名()
其中型別說明符和函式名稱為函式頭。 型別說明符指明瞭本函式的型別,函式的型別實際上是函式返回值的型別。 該型別說明符與第二章介紹的各種說明符相同。
函式名是由使用者定義的識別符號,函式名後有一個空括號,其中無引數,但括號不可少。{} 中的內容稱為函式體。在函式體中也有型別說明, 這是對函式體內部所用到的變數的型別說明。
在很多情況下都不要求無參函式有返回值, 此時函式型別符可以寫為void。
我們可以改為一個函式定義:
void hello()
這裡,只把main改為hello作為函式名,其餘不變。hello 函式是一個無參函式,當被其它函式呼叫時,輸出hello world字串。
2.有參函式的一般形式
型別說明符 函式名(形式參數列)
型式引數型別說明
有參函式比無參函式多了兩個內容,其一是形式參數列, 其二是形式引數型別說明。在形參表中給出的引數稱為形式引數, 它們可以是各種型別的變數, 各引數之間用逗號間隔。在進行函式呼叫時,主調函式將賦予這些形式引數實際的值。
形參既然是變數,當然必須給以型別說明。例如,定義一個函式, 用於求兩個數中的大數,可寫為:
int max(a,b)
int a,b;
第一行說明max函式是一個整型函式,其返回的函式值是一個整數。形參為a,b。第二行說明a,b均為整型量。
a,b 的具體值是由主調函式在呼叫時傳送過來的。在{}中的函式體內, 除形參外沒有使用其它變數,因此只有語句而沒有變數型別說明。 上邊這種定義方法稱為「傳統格式」。
這種格式不易於編譯系統檢查,從而會引起一些非常細微而且難於跟蹤的錯誤。ansi c 的新標準中把對形參的型別說明合併到形參表中,稱為「現代格式」。
例如max函式用現代格式可定義為:
int max(int a,int b)
現代格式在函式定義和函式說明(後面將要介紹)時, 給出了形式引數及其型別,在編譯時易於對它們進行查錯, 從而保證了函式說明和定義的一致性。例1.3即採用了這種現代格式。
在max函式體中的return語句是把a(或b)的值作為函式的值返回給主調函式。有返回值函式中至少應有一個return語句。 在c程式中,一個函式的定義可以放在任意位置, 既可放在主函式main之前,也可放在main之後。
例如例1.3中定義了一個max 函式,其位置在main之後, 也可以把它放在main之前。
修改後的程式如下所示。
int max(int a,int b)
void main()
現在我們可以從函式定義、 函式說明及函式呼叫的角度來分析整個程式,從中進一步瞭解函式的各種特點。程式的第1行至第5行為max函式定義。進入主函式後,因為準備呼叫max函式,故先對max函式進行說明(程式第8行)。
函式定義和函式說明並不是一回事,在後面還要專門討論。 可以看出函式說明與函式定義中的函式頭部分相同,但是末尾要加分號。程式第12 行為呼叫max函式,並把x,y中的值傳送給max的形參a,b。
max函式執行的
結果 (a或b)將返回給變數z。最後由主函式輸出z的值。
函式呼叫的一般形式前面已經說過,在程式中是通過對函式的呼叫來執行函式體的,其過程與其它語言的子程式呼叫相似。c語言中, 函式呼叫的一般形式為:
函式名(實際參數列) 對無參函式呼叫時則無實際參數列。 實際參數列中的引數可以是常數,變數或其它構造型別資料及表示式。 各實參之間用逗號分隔。
』next of page在c語言中,可以用以下幾種方式呼叫函式:
1.函式表示式
函式作表示式中的一項出現在表示式中,以函式返回值參與表示式的運算。這種方式要求函式是有返回值的。例如:
z=max(x,y)是一個賦值表示式,把max的返回值賦予變數z。』next of page
2.函式語句
函式呼叫的一般形式加上分號即構成函式語句。例如都是以函式語句的方式呼叫函式。
3.函式實參
函式作為另一個函式呼叫的實際引數出現。 這種情況是把該函式的返回值作為實參進行傳送,因此要求該函式必須是有返回值的。例如:
printf("%d",max(x,y)); 即是把max呼叫的返回值又作為printf函式的實參來使用的。在函式呼叫中還應該注意的一個問題是求值順序的問題。 所謂求值順序是指對實參表中各量是自左至右使用呢,還是自右至左使用。
對此, 各系統的規定不一定相同。在3.1.
3節介紹printf 函式時已提 轉
2樓:童雲德慶戌
函式的傳統定義:
設在某變化過程中有兩個變數x、y,如果對於x在某一範圍內的每一個確定的值,y都有唯一確定的值與它對應,那麼就稱y是x的函式,x叫做自變數。
我們將自變數x取值的集合叫做函式的定義域,和自變數x對應的y的值叫做函式值,函式值的集合叫做函式的值域。
函式的近代定義:
設a,b都是非空的數的集合,f:x→y是從a到b的一個對應法則,那麼從a到b的對映f:a→b就叫做函式,記作y=f(x),其中x∈a,y∈b,原象集合a叫做函式f(x)的定義域,象集合c叫做函式f(x)的值域,顯然有cb。
3樓:匿名使用者
一樓的,你騙人錢財!!!!
求解釋matlab函式意義
首先r是個結構復體,其中有一個成員變數 制path dot.path dot是一個陣列 這個函式的作用是,將結構體r的成員變數path dot 陣列 相應元素進行設定。具體設定哪個元素和設定什麼由dot index,dot x,dot y,type決定。設定如下 path dot 1,dot ind...
int函式的具體含義,int函式是什麼意思
將數值向下取整為最接近的整數。在電腦科學中,int 函式是整數資料型別的資料 是表示某種數學整數 範圍的資料型別 積分資料型別可以具有不同的大小,並且可以允許或不允許包含負值。整數通常在計算機中表示為一組二進位制數字 位 分組的大小各不相同,因此可用的整數大小集在不同型別的計算機之間有所不同。計算機...
countif函式的具體使用方法
countif函式是根據指定條件來進行個數的計算,這是excel中應用很頻繁的函式之一。第一步 表為例演示countif函式的用法,求得分90分以上的學生數量。第二步 在c2單元格輸入公式 countif b2 b20,90 其中b2 b20表示統計區域,90 表示得分大於90的條件。第三步 得到的...