C語言提供了豐富的庫函數(shù)包括常用的數(shù)學(xué)函數(shù)_第1頁
C語言提供了豐富的庫函數(shù)包括常用的數(shù)學(xué)函數(shù)_第2頁
C語言提供了豐富的庫函數(shù)包括常用的數(shù)學(xué)函數(shù)_第3頁
C語言提供了豐富的庫函數(shù)包括常用的數(shù)學(xué)函數(shù)_第4頁
C語言提供了豐富的庫函數(shù)包括常用的數(shù)學(xué)函數(shù)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第七章函數(shù)7.1庫函數(shù)C語言提供了豐富的庫函數(shù)。包括常用的數(shù)學(xué)函數(shù)、對字符和字符串進(jìn)行處理的函數(shù)、進(jìn)行輸入輸出處理的函數(shù)等等……1、用include命令(#開頭,后面沒有;)如:#include“stdio.h”//或#include<stdio.h> #include“math.h”2、調(diào)用形式:函數(shù)名(參數(shù)表)

如:y=sqrt(x);

ch=getchar();

printf(“jhfjdg\n”);函數(shù)的定義

函數(shù)在使用之前必須定義。函數(shù)一經(jīng)定義便可多次重復(fù)使用。函數(shù)定義的一般形式為:類型函數(shù)名(類型形參1,類型形參2……)

{

說明部分語句部分

}函數(shù)體7.2函數(shù)的定義和返回值如:int

max(intx,inty){intz;z=(x>y)?x:y;returnz;}例7.1求兩double型數(shù)據(jù)之和。

doubleadd(doublea,doubleb){doubles;s=a+b;returns;}下面介紹函數(shù)函數(shù)的各部分:

1.函數(shù)頭:(例7.1)中的第1行又叫函數(shù)頭。包括函數(shù)類型、函數(shù)名和形參說明表。

2.函數(shù)名:是用戶用標(biāo)識符為函數(shù)起的名字。函數(shù)名后的圓括號不能缺省,且函數(shù)頭后不要加“;”。

3.形參表:圓括號括起來,用逗號隔開每個(gè)形參。注意:

a.調(diào)用一個(gè)函數(shù)時(shí)實(shí)參值傳給形參(傳值或傳址)。

b.也可以沒有形參(無參函數(shù)),但()不能省。

4.函數(shù)體:a.函數(shù)體用一對大括號括起b.包括數(shù)據(jù)定義和執(zhí)行語句兩部分c.若有計(jì)算結(jié)果并需要返回值,用return語句5.函數(shù)類型與返回值

a.函數(shù)可以有或沒有返回值。

b.返回類型由函數(shù)定義中的“類型”確定。

c.用return語句來返回函數(shù)值,返回值要與函數(shù)類型相符。return語句結(jié)束該函數(shù)的運(yùn)行返回調(diào)用環(huán)境,并將表達(dá)式的值帶回。一般形式為:return表達(dá)式int

max(intx,inty){

intz;//數(shù)據(jù)定義

z=(x>y)?x:y;//執(zhí)行語句

returnz;//返回語句}#include<stdio.h>voidmain(){inta,b,x;

int

max(int,int);//函數(shù)說明

scanf(“%d%d”,&a,&b);x=max(a,b);//返回函數(shù)值給x

printf(“\nmax(a,b)=%d“,x);}(1)一個(gè)函數(shù)的函數(shù)體內(nèi)也可以有多個(gè)return語句,表示函數(shù)有多個(gè)出口。但只能選擇出口之一結(jié)束其運(yùn)行.如:

int

max(int

x,inty){if(x>y)returnx;elsereturny;}(2)return表達(dá)式;表達(dá)式的類型應(yīng)與函數(shù)類型一致。若不一致,則系統(tǒng)有時(shí)自動將表達(dá)式值轉(zhuǎn)換為函數(shù)值的類型,有時(shí)出錯(cuò)。(3)任一個(gè)函數(shù),最多返回一個(gè)函數(shù)值。當(dāng)需要返回多個(gè)值時(shí),要使用全局變量或使用指針、數(shù)組作參數(shù),而不再使用返回函數(shù)值的形式。(4)空類型(void)函數(shù)如一個(gè)函數(shù)無返回值,則其類型定義為void。如:

voidprintstar(){printf("******");return;//此語句可省略

}(5)返回int型值的函數(shù),類型定義有時(shí)可以缺省。如:

max(intx,inty)//缺省類型,即為int

型{intz;

z=(x>y)?x:y;

returnz;//返回int型的值

}對已定義的函數(shù),其他函數(shù)或本函數(shù)自身都可以調(diào)用之。所謂“調(diào)用”,就是將實(shí)參值傳給形參后,計(jì)算機(jī)系統(tǒng)的控制流程便轉(zhuǎn)移去執(zhí)行被調(diào)函數(shù)的操作,得到結(jié)果后又返回到調(diào)用環(huán)境中。外界環(huán)境調(diào)用一個(gè)函數(shù)的目的,是為了借助該函數(shù)完成某些計(jì)算任務(wù)實(shí)現(xiàn)一個(gè)特定的功能(或由函數(shù)返回一些數(shù)據(jù),或由函數(shù)直接輸出一些信息)。7.3函數(shù)的調(diào)用#include<stdio.h>voidmain(){

inta,b,c;

int

max(int,int);a=3;b=5;c=max(a,b);

printf("max=%d",c);}int

max(int

x,inty){

intz;z=(x>y)?x:y;returnz;}將實(shí)參a、b的值分別傳給形參x、y,并轉(zhuǎn)移到函數(shù)max中運(yùn)行返回到函數(shù)main并將max的函數(shù)值賦值給c函數(shù)調(diào)用1函數(shù)調(diào)用的形式函數(shù)語句:無返回值,完成一種操作,如:

printstar();函數(shù)表達(dá)式:有返回值,該值作為元素參加表達(dá)式運(yùn)算

c=2*max(a,b);函數(shù)參數(shù):有返回值,該值作為另一函數(shù)的實(shí)參,如m=max(a,max(b,c));//不能寫作m=max(a,b,c);

printf(“max(%d,%d)=%d”,a,b,max(a,b));2.函數(shù)調(diào)用時(shí)語法要求實(shí)參表有確定值。實(shí)參與形參個(gè)數(shù)相同,順序?qū)?yīng)、類型匹配。函數(shù)先定義,后調(diào)用。如先調(diào)用,后定義,需要函數(shù)說明(見下節(jié))。若返回值類型為int

或char,可以缺省函數(shù)說明。函數(shù)可以嵌套調(diào)用,特別地可以直接或間接地調(diào)用自己-遞歸調(diào)用(見十一章)一個(gè)程序中可定義多個(gè)函數(shù),且書寫位置無關(guān)緊要。先調(diào)用,后定義,應(yīng)在調(diào)用前作出說明。先定義,后調(diào)用,可不作說明1.函數(shù)說明的一般形式類型函數(shù)名(形參說明表);例如:int

max(intx,inty);2.函數(shù)說明的位置在調(diào)用語句之前放在所有函數(shù)定義之前,所有函數(shù)都能調(diào)用它。放在調(diào)用語句所在函數(shù)的函數(shù)體前,只有該函數(shù)能調(diào)用它。7.4函數(shù)的說明例如,以下程序都是正確的:

#include<stdio.h>voidmain(){inta=1,b=2,z;

int

max(int,int);z=max(a,b);

printf("max(%d,\%d)=%d",a,b,z);}int

max(int

x,inty){

intz;z=(x>y)?x:y;returnz;}#include<stdio.h>int

max(int,int);voidmain(){inta=1,b=2,z;

z=max(a,b);

printf("max(%d,\%d)=%d",a,b,z);}int

max(int

x,inty){

intz;z=(x>y)?x:y;returnz;}voidmain(){inta=1,b=2,z;z=max(a,b);

printf("max(%d,\%d)=%d",a,b,z);}#include<stdio.h>int

max(int

x,inty){intz;z=(x>y)?x:y;returnz;}說明、調(diào)用、定義定義、調(diào)用3.關(guān)于函數(shù)說明的注記(1)函數(shù)說明有時(shí)可缺省遇下列情形之一時(shí)可省去函數(shù)說明:①函數(shù)定義在前,對該函數(shù)的調(diào)用語句在后時(shí)可缺省其說明;②返回值為int型的函數(shù)可缺省其說明;③用include命令將被調(diào)用函數(shù)的定義或原型所在文件嵌入時(shí),可缺省說明。(2)在函數(shù)說明式圓括號的“形參說明表”中,可以省去參數(shù)名稱而只給出“類型表”。如:int

max(int,int);C語言中,調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)可以通過三種方式傳遞:1、實(shí)在參數(shù)和形式參數(shù)之間進(jìn)行數(shù)據(jù)傳遞;2、通過return語句把函數(shù)值返回調(diào)用函數(shù);3、通過全局變量。但這不是一種好方法,通常不提倡使用。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論