c語言中各函數(shù)功能介紹 c語言函數(shù)的使用

在c語言中定義的函數(shù)有什么作用?

函數(shù)的作用就相當(dāng)于一臺(tái)機(jī)器,這種機(jī)器的作用各不相同。不同的函數(shù)能完成不同的特定的功能。就像你放玉米進(jìn)去,它出來的是爆米花一樣。它就對(duì)玉米進(jìn)行處理了。而c語言的函數(shù)就是你放入數(shù)據(jù),它就會(huì)對(duì)數(shù)據(jù)進(jìn)行處理。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、澄城網(wǎng)站維護(hù)、網(wǎng)站推廣。

數(shù)組的作用就是存儲(chǔ)數(shù)據(jù)的作用。是存儲(chǔ)數(shù)據(jù)的類型的一種。計(jì)算機(jī)處理的就是數(shù)據(jù)。存儲(chǔ)數(shù)據(jù),你說重要不?就像電腦沒有內(nèi)存,它怎么運(yùn)行???

上面是通俗的介紹,補(bǔ)充幾點(diǎn):

1:函數(shù)是很重要的,沒有函數(shù)c語言程序無法運(yùn)行,包括大多數(shù)語言都是這樣,因?yàn)楸仨氁幸粋€(gè)主函數(shù)(main)。

2:函數(shù)可以把不同功能的代碼獨(dú)立到一個(gè)地方,減少耦合性,提高代碼可重用性,增強(qiáng)程序的安全性。

3:不同類型的函數(shù)有不同的功能,按照不同分類有不同的叫法。比如庫函數(shù)是系統(tǒng)自帶的“庫”,回調(diào)函數(shù)用于處理操作系統(tǒng)的問題,API函數(shù)叫做應(yīng)用程序接口函數(shù)。

加油,越學(xué)越明白。

你們能不能給我通俗地解釋一下在C語言中函數(shù)是什么有什么作用?

C源程序是由函數(shù)組成的。

C程序是由一組或是變量或是函數(shù)的外部對(duì)象組的。 函數(shù)是一個(gè)自我包含的完成一定相關(guān)功能的執(zhí)行代碼段。

從函數(shù)定義的角度看,函數(shù)可分為庫函數(shù)和用戶定義函數(shù)兩種。

1)庫函數(shù)

由C系統(tǒng)提供,用戶無須定義, 也不必在程序中作類型說明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。在前面各章的例題中反復(fù)用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函數(shù)均屬此類。

(2)用戶定義函數(shù)

由用戶按需要寫的函數(shù)。對(duì)于用戶自定義函數(shù), 不僅要在程序中定義函數(shù)本身, 而且在主調(diào)函數(shù)模塊中還必須對(duì)該被調(diào)函數(shù)進(jìn)行類型說明,然后才能使用。

2. C語言的函數(shù)兼有其它語言中的函數(shù)和過程兩種功能,從這個(gè)角度看,又可把函數(shù)分為有返回值函數(shù)和無返回值函數(shù)兩種。

(1)有返回值函數(shù)

此類函數(shù)被調(diào)用執(zhí)行完后將向調(diào)用者返回一個(gè)執(zhí)行結(jié)果, 稱為函數(shù)返回值。如數(shù)學(xué)函數(shù)即屬于此類函數(shù)。 由用戶定義的這種要返回函數(shù)值的函數(shù),必須在函數(shù)定義和函數(shù)說明中明確返回值的類型。

(2)無返回值函數(shù)

此類函數(shù)用于完成某項(xiàng)特定的處理任務(wù), 執(zhí)行完成后不向調(diào)用者返回函數(shù)值。這類函數(shù)類似于其它語言的過程。 由于函數(shù)無須返回值,用戶在定義此類函數(shù)時(shí)可指定它的返回為“空類型”, 空類型的說明符為“void”。

3. 從主調(diào)函數(shù)和被調(diào)函數(shù)之間數(shù)據(jù)傳送的角度看又可分為無參函數(shù)和有參函數(shù)兩種。

(1)無參函數(shù)

函數(shù)定義、函數(shù)說明及函數(shù)調(diào)用中均不帶參數(shù)。 主調(diào)函數(shù)和被調(diào)函數(shù)之間不進(jìn)行參數(shù)傳送。 此類函數(shù)通常用來完成一組指定的功能,可以返回或不返回函數(shù)值。

(2)有參函數(shù)

也稱為帶參函數(shù)。在函數(shù)定義及函數(shù)說明時(shí)都有參數(shù), 稱為形式參數(shù)(簡稱為形參)。在函數(shù)調(diào)用時(shí)也必須給出參數(shù), 稱為實(shí)際參數(shù)(簡稱為實(shí)參)。 進(jìn)行函數(shù)調(diào)用時(shí),主調(diào)函數(shù)將把實(shí)參的值傳送給形參,供被調(diào)函數(shù)使用。

4. C語言提供了極為豐富的庫函數(shù), 這些庫函數(shù)又可從功能角度作以下分類。

(1)字符類型分類函數(shù)

用于對(duì)字符按ASCII碼分類:字母,數(shù)字,控制字符,分隔符,大小寫字母等。

(2)轉(zhuǎn)換函數(shù)

用于字符或字符串的轉(zhuǎn)換;在字符量和各類數(shù)字量 (整型, 實(shí)型等)之間進(jìn)行轉(zhuǎn)換;在大、小寫之間進(jìn)行轉(zhuǎn)換。

(3)目錄路徑函數(shù)

用于文件目錄和路徑操作。

(4)診斷函數(shù)

用于內(nèi)部錯(cuò)誤檢測。

(5)圖形函數(shù)

用于屏幕管理和各種圖形功能。

(6)輸入輸出函數(shù)

用于完成輸入輸出功能。

(7)接口函數(shù)

用于與DOS,BIOS和硬件的接口。

(8)字符串函數(shù)

用于字符串操作和處理。

(9)內(nèi)存管理函數(shù)

用于內(nèi)存管理。

(10)數(shù)學(xué)函數(shù)

用于數(shù)學(xué)函數(shù)計(jì)算。

(11)日期和時(shí)間函數(shù)

用于日期,時(shí)間轉(zhuǎn)換操作。

(12)進(jìn)程控制函數(shù)

用于進(jìn)程管理和控制。

(13)其它函數(shù)

用于其它各種功能。

函數(shù)可以避免重復(fù)的書寫。比如一個(gè)運(yùn)算要在不同的地方多次進(jìn)行,就不必把這么多行都寫一遍,調(diào)用一個(gè)函數(shù)就行了。同時(shí)減少不必要的變量。從而使程序大大簡化。

庫函數(shù)就比較高深了,它的好處我現(xiàn)在還沒有切實(shí)體會(huì)到。

c語言常用函數(shù)有哪些?主要掌握的要點(diǎn)是什么

函數(shù)1。absread()讀磁盤絕對(duì)扇區(qū)函數(shù)原形:int absread(int drive,int num,int sectnum,void *buf)功能:從drive指定的驅(qū)動(dòng)器磁盤上,sectnum指定的邏輯扇區(qū)號(hào)開始讀取(通過DOS中斷0x25讀取)num個(gè)(最多64K個(gè))扇區(qū)的內(nèi)容,儲(chǔ)存于buf所指的緩沖區(qū)中。參數(shù):drive=0對(duì)應(yīng)A盤,drive=1對(duì)應(yīng)B盤。返回值:0:成功;-1:失敗。頭文件:dos.h函數(shù)2。abswrite()寫磁盤絕對(duì)扇區(qū)函數(shù)原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驅(qū)動(dòng)器)、1(B驅(qū)動(dòng)器)、 nsects=要寫的扇區(qū)數(shù)(最多64K個(gè)); lsect=起始邏輯扇區(qū)號(hào); buffer=要寫入數(shù)據(jù)的內(nèi)存起始地址。功能:將指定內(nèi)容寫入(調(diào)用DOS中斷0x26)磁盤上的指定扇區(qū),即使寫入的地方是磁盤的邏輯結(jié)構(gòu)、文件、FAT表和目錄結(jié)構(gòu)所在的扇區(qū),也照常進(jìn)行。返回值:0:成功;-1:失敗。頭文件:dos.h函數(shù)3。atof()將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)的函數(shù)原形:double atof(const char *s)功能:把s所指向的字符串轉(zhuǎn)換成double類型。 s格式為:符號(hào) 數(shù)字.數(shù)字 E符號(hào) 數(shù)字返回值:字符串的轉(zhuǎn)換值。頭文件:math.h、stdlib.h函數(shù)4。atoi()將字符串轉(zhuǎn)換成整型數(shù)的函數(shù)原形:int atoi(const char *s)功能:把s所指向的字符串轉(zhuǎn)換成int類型。 s格式為:符號(hào) 數(shù)字返回值:字符串的轉(zhuǎn)換值。若出錯(cuò)則返回0。頭文件:stdlib.h函數(shù)5。atol()將字符串轉(zhuǎn)換成長整型數(shù)的函數(shù)原形:long atol(const char *s)功能:把s所指向的字符串轉(zhuǎn)換成long int類型。 s格式為:符號(hào) 數(shù)字返回值:字符串的轉(zhuǎn)換值。若出錯(cuò)則返回0。頭文件:stdlib.h函數(shù)6。bcd()把一個(gè)數(shù)轉(zhuǎn)換成對(duì)應(yīng)的BCD碼的函數(shù)原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)注意:BCD碼的精度可達(dá)17位。參數(shù)decimals是可選的,用來指定轉(zhuǎn)換后小數(shù)點(diǎn)后的位數(shù)。頭文件:bcd.h函數(shù)7。bdos()原形∶int bdos(int fnum,unsigned dx,unsigned al) 其中fnum是系統(tǒng)調(diào)用號(hào);dx是傳給寄存器DX的值;al是傳給寄存器AL的值;功能∶DOS系統(tǒng)調(diào)用(INT21H)返回值∶AX中的值函數(shù)8。biosdisk()調(diào)用BIOS磁盤驅(qū)動(dòng)程序函數(shù)原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)功能:使用中斷0x13,直接調(diào)用BIOS進(jìn)行磁盤操作參數(shù):(1)cmd: 2-數(shù)據(jù)以每扇區(qū)512字節(jié)的格式讀入buffer,起始扇區(qū)由head、track和sector定,扇區(qū)數(shù)由nsects定。 3-將buffer中的數(shù)據(jù)按每扇區(qū)512字節(jié)寫入磁盤。 4-對(duì)扇區(qū)進(jìn)行數(shù)據(jù)校驗(yàn)。 6-格式化一個(gè)磁盤并對(duì)化扇區(qū)設(shè)置化標(biāo)志。 8-返回當(dāng)前驅(qū)動(dòng)器參數(shù)在buffer的前4個(gè)字節(jié)中。 10-長讀,每扇區(qū)讀入512字節(jié)加上額外的4個(gè)字節(jié)。 11-長寫,每扇區(qū)寫入512字節(jié)加上額外的4個(gè)字節(jié)。 (2)drive:0-第一個(gè)軟驅(qū);1-第二個(gè)軟驅(qū);0x80-第一個(gè)硬驅(qū) (3)head:磁頭 (4)track:磁道 (5)sector:扇區(qū) (6)nsects:扇區(qū)數(shù) (7)buffer:數(shù)據(jù)緩沖區(qū),定義為unsigned char buffer[];返回值:0x00-操作成功 0x01-錯(cuò)誤命令 0x03-企圖寫具有寫保護(hù)的磁盤 0x07-驅(qū)動(dòng)器參數(shù)設(shè)置錯(cuò)誤 0x10-磁盤讀/CRC/ECC錯(cuò)誤頭文件:bios.h注:對(duì)于硬盤主引導(dǎo)記錄扇區(qū)head=0,track=0,sector=1函數(shù)9。biosprint()調(diào)用BIOS打印機(jī)I/O接口的函數(shù)原形:int biosprint(int cmd,int abyte,int port)功能:通過BIOS中斷0x17在由參數(shù)port指定的打印機(jī)上完成各種打印機(jī)功能。 port=0(LPT1) =1(LPT2); cmd=0(打印字符abyte) 1(初始化打印機(jī)端口) 2(讀打印機(jī)狀態(tài)); abyte=0-255;返回值:打印機(jī)狀態(tài) 位0(設(shè)備超時(shí));位3(I/O出錯(cuò));位4(打印機(jī)已選擇);位5(沒紙);位6(打印機(jī)確認(rèn));位7(不忙)頭文件:bios.h函數(shù)10。calloc()分配內(nèi)存函數(shù)原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一塊內(nèi)存,將該內(nèi)存的內(nèi)容全部清0。返回值:返回指向新分配內(nèi)存的指針。空間不夠則返回NULL。頭文件:stdlib.h、calloc.h函數(shù)11。ceil()原形∶double ceil(double num)功能∶求不小于num的最小雙精度整數(shù)頭文件∶math.h函數(shù)12。cgets()讀字符串函數(shù)原形:char *cgets(char *str)功能:從控制臺(tái)讀入一個(gè)字符串,并將該字符串(和字符串長度)存入有str所指向的地址中。注意:在調(diào)用cgets之前,必須將要讀入的字符串最大長度存入str[0]中,返回時(shí)str[1]被設(shè)置為實(shí)際讀入的字符數(shù)。實(shí)際字符串內(nèi)容從str[2]開始,以空字符(\0)結(jié)尾。返回值:指向str[2]的指針。頭文件:conio.h函數(shù)13。chdir()改變當(dāng)前目錄的函數(shù)原形:int chdir(const char *path)功能:把由path指定的目錄改為當(dāng)前目錄。path參數(shù)中可以指定驅(qū)動(dòng)器號(hào),如"a:\\ddd", 但只是改變該驅(qū)動(dòng)器上的當(dāng)前目錄,對(duì)當(dāng)前活動(dòng)驅(qū)動(dòng)器上的當(dāng)前目錄無影響。返回值:0(成功);-1(失敗)頭文件:dir.h函數(shù)14。_chmod()改變文件存取權(quán)限的函數(shù)原形:int _chmod(const char *path,int func[,int attrib])功能:讀取(func=0時(shí))或設(shè)置(func=1時(shí))DOS文件屬性。 attrib=FA_RDONLY 只讀 attrib=FA_HIDDEN 隱藏文件 attrib=FA_SYSTEM 系統(tǒng)文件 attrib=FA_LABLE 卷標(biāo) attrib=FA_DIREC 目錄 attrib=FA_ARCH 檔案 返回值:失敗時(shí)返回-1。成功時(shí)返回文件的屬性字節(jié),如果 返回值FA_RDONLY 不等于0,則文件是只讀文件;......頭文件:io.h、dos.h函數(shù)15。chmod()改變文件存取權(quán)限的函數(shù)原形:int chmod(const char *path,int amode)功能:根據(jù)amode的值,設(shè)置由path所指文件的存取權(quán)限。 amode的值 存取權(quán)限 S_IWRITE 允許寫 S_IREAD 允許讀(只讀) S_IREAD|S_IWRITE 可讀可寫 返回值:0(成功);-1(失敗)頭文件:io.h、sys\stat.h函數(shù)16。clock()原形∶long clock(void)功能∶測得從程序開始到調(diào)用處處理機(jī)所用的時(shí)間頭文件∶time.h函數(shù)17。close()關(guān)閉文件函數(shù)原形:int close(int handle)功能:關(guān)閉由文件句柄所指向的文件,句柄是調(diào)用_creat、creat、creatnew、creattemp、dup、dup2、_open或open時(shí)得到的。該函數(shù)并不在文件末尾寫一個(gè)Ctrl-Z字符,如果想用該字符結(jié)束文件,必須顯式地給出該字符。返回值:0(成功);-1(失敗)頭文件:io.h函數(shù)18。closegraph()關(guān)閉圖形函數(shù)原形:void far closegraph(void)功能:釋放圖形系統(tǒng)分配的所有內(nèi)存,將屏幕恢復(fù)到調(diào)用initgraph之前的模式。頭文件:graphics.h函數(shù)19。cos()原形∶double cos(double arg)功能∶計(jì)算arg(弧度)的余弦值頭文件∶math.h函數(shù)20。ctrlbrk()設(shè)置ctrl-break處理程序的函數(shù)原形:void ctrlbrk(int(*handle)(void))功能:修改中斷向量0x23,使用新的ctrl-break中斷處理函數(shù)。用法:ctrlbrk(函數(shù)名); 先定義函數(shù):int 函數(shù)名(void){...}頭文件:dos.h函數(shù)21。delay()暫停函數(shù)原形:void delay(unsigned milliseconds)功能:暫停當(dāng)前所執(zhí)行的程序milliseconds毫秒。頭文件:dos.h函數(shù)22。disable()屏蔽中斷的宏原形:void disble(void)功能:屏蔽中斷,只允許從外部設(shè)備來的不可屏蔽中斷(NMI)。頭文件:dos.h函數(shù)23。enable()開硬件中斷的宏原形:void enable(void)功能:開放中斷,允許接受任何設(shè)備產(chǎn)生的中斷。頭文件:dos.h函數(shù)24。exec()加載并運(yùn)行其它程序的函數(shù)族e(cuò)xecl(),execle(),execlp(),execlpe(),execv(),execve(),execvp(),execvpe()原形∶ int execl(char *path,char *arg0,*arg1,...,*argn,NULL)int execle(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execlp(char *path,char *arg0,*arg1,...,*argn,NULL)int execlpe(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execv(char *path,char *argv[])int execve(char *path,char *argv[],char **env)int execvp(char *path,char *argv[])int execvpe(char *path,char *argv[],char **env) 其中,path是調(diào)用的子程序的文件名,在exec后面的后綴具有某種功能: p表示函數(shù)能夠在由DOS環(huán)境變量PATH的目錄中搜索子進(jìn)程文件,如果path中未指明文件所在目錄,函數(shù)將首先在當(dāng)前目錄中找,然后在DOS環(huán)境變量指定的目錄中找。 l表示參數(shù)指針(arg0,...,argn)按單獨(dú)參數(shù)傳送。當(dāng)預(yù)先知道要傳送的參數(shù)個(gè)數(shù)時(shí),通常用帶后綴l的函數(shù)。 v表示參數(shù)指針(arg0,...,argn)按指針數(shù)組傳送。當(dāng)要傳送的參數(shù)可變時(shí),使用帶后綴v的函數(shù)。 e表示參數(shù)env可以傳送到子進(jìn)程,該函數(shù)可用來修改子進(jìn)程的環(huán)境。若無e后綴,子進(jìn)程將繼承父進(jìn)程的環(huán)境。注意:arg0+...+argn,或arg[0]+...+arg[n]的總長度必需小于128字節(jié)。當(dāng)調(diào)用exec函數(shù)時(shí),原先已經(jīng)打開的文件在子進(jìn)程中仍然是打開的。功能:加載并運(yùn)行其它程序,調(diào)用時(shí)必須有足夠的內(nèi)存空間用于加載和執(zhí)行子程序,子程序?qū)⒏采w父程序。頭文件:process.h 函數(shù)25。farcalloc()從遠(yuǎn)堆中分配內(nèi)存的函數(shù)原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:從遠(yuǎn)堆中為包含nunits個(gè)元素的數(shù)組分配內(nèi)存,每一區(qū)unitsz字節(jié)長。用法:fptr=farcalloc(數(shù)目,sizeof(char)); 先定義:char far *fptr;注意:所有可用RAM能被分配;大于64K的塊能被分配;用遠(yuǎn)指針存取該塊。微模式不能用。返回值:返回指向新分配塊的指針,若內(nèi)存不夠,則返回NULL。頭文件:alloc.h函數(shù)26。farfree()從遠(yuǎn)堆中釋放一塊已分配內(nèi)存的函數(shù)原形:void farfree(void far *block)頭文件:alloc.h函數(shù)27。farmalloc()從遠(yuǎn)堆中分配內(nèi)存的函數(shù)原形:void far *farmalloc(unsigned long nbytes)使用方式:fptr=farmalloc(字節(jié)數(shù)); 先定義char far *fptr;功能:從遠(yuǎn)堆中分配長nbytes字節(jié)的內(nèi)存。注意:所有可用RAM能被分配;大于64K的塊能被分配;用遠(yuǎn)指針存取該塊。微模式不能用。返回值:返回指向新分配內(nèi)存的指針,若內(nèi)存不夠,則返回NULL。頭文件:alloc.h函數(shù)28。farrealloc()調(diào)整遠(yuǎn)堆中已分配塊的函數(shù)原形:void far *farrealloc(void far *oldblock,unsigned long nbytes)返回值:返回調(diào)整后的新內(nèi)存地址。若不能重新分配,則返回NULL。頭文件:alloc.h函數(shù)29。fclose()關(guān)閉一個(gè)流函數(shù)原形:int fclose(FILE *stream)使用方式:fclose(文件指針名);其中文件指針名=fopen();功能:關(guān)閉指定的流,關(guān)閉前清除所有與stream相聯(lián)的緩沖區(qū),釋放系統(tǒng)分配的緩沖區(qū),但由setbuf設(shè)置的緩沖區(qū)不能自動(dòng)釋放。返回值:0(成功);EOF(失敗)頭文件:stdio.h函數(shù)30。fcloseall()關(guān)閉打開的流的函數(shù)原形:int fcloseall(void)功能:關(guān)閉所有打開的流,由stdin、stdout、stdprn、stderr和stdaux設(shè)置的流除外。返回值:關(guān)閉流的總數(shù)。如果發(fā)現(xiàn)錯(cuò)誤則返回EOF。頭文件:stdio.h 函數(shù)31。feof()檢查文件是否結(jié)束的函數(shù)原形∶int feof(FILE *fp)返回值∶文件結(jié)束返回非0值,否則返回0。頭文件∶stdio.h函數(shù)32。fgets()從流中讀取一字符串的函數(shù)原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字符串指針,字符個(gè)數(shù),文件指針)功能:從輸入流stream中讀入字符存到s串中。當(dāng)讀了n-1個(gè)字符或遇到換行符時(shí),函數(shù)停止讀過程。fgets在s串尾保留換行字符。讀入的最后一個(gè)字符后面加一個(gè)空字符。返回值:成功時(shí)返回字符串參數(shù)s,出錯(cuò)或遇到文件結(jié)束時(shí),返回NULL。頭文件:stdio.h函數(shù)33。findfirst()函數(shù)和findnext()函數(shù)調(diào)用方式:整形數(shù)=findfirst(文件名,結(jié)構(gòu)變量名,屬性常數(shù)組合(如0x26));其中定義struct ffblk 結(jié)構(gòu)變量名;原形:int findfirst(path,buffer,attr)和int findnext(buffer) char *path;//要檢索的文件名 struct ffblk { char ff_reserved[21]; char ff_attrib;//被檢索的文件屬性 unsigned ff_ftime;//最后修改的時(shí)間 //(0-4位:秒數(shù)/2;5-10位:分?jǐn)?shù);11-15位:小時(shí)數(shù)) unsigned ff_fdate;//最后修改的日期 //(0-4位:日;5-8位:月;9-15位:年減1980) long ff_fsize;//文件大小 char ff_name[13];//組名 }*buffer; int attr;//要檢索的文件屬性功能:檢索由path和attr指定的文件,把結(jié)果返回到buffer。findfirst返回關(guān)于第一個(gè)指定文件的信息,findnext繼續(xù)檢索。返回值:0(檢索成功),-1(沒有找到指定的文件)屬性常數(shù): FA_NORMAL(0x00) 含意:Normal file, no attributes FA_RDONLY(0x01) 含意:只讀 FA_HIDDEN(0x02) 含意:隱含文件 FA_SYSTEM(0x04) 含意:系統(tǒng)文件 FA_LABEL(0x08) 含意:卷標(biāo) FA_DIREC(0x10) 含意:子目錄 FA_ARCH(0x20) 含意:修改的文件Archive頭文件:dir.h(dos.h)函數(shù)34。floodfill()填充區(qū)域的函數(shù)原形:void far floodfill(int x,int y,int border)功能:在圖形設(shè)備上用顏色border圍起來的區(qū)域?qū)⒂卯?dāng)前填充顏色填充。(x,y)是待填充區(qū)域的起點(diǎn),若起點(diǎn)在封閉區(qū)域內(nèi),則區(qū)域內(nèi)被填充;若起點(diǎn)在封閉區(qū)域外,則區(qū)域外被填充。頭文件:graphics.h函數(shù)35。floor()原形∶double floor(double num)功能∶求不大于num的最大雙精度整數(shù)頭文件∶math.h函數(shù)36。fnmerge()建立文件路徑函數(shù)原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:\dir\name.ext,放在path頭文件:dir.h函數(shù)37。fnsplit()分解完整的路徑名函數(shù)原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路徑path分成4個(gè)部分存放。 其中drive中有冒號(hào);dir中有開始和結(jié)尾的反斜杠;ext包括開始圓點(diǎn)返回值:如果有擴(kuò)展名,則 返回值EXTENSION!=0 如果有文件名,則 返回值FILENAME!=0 如果有目錄名,則 返回值DIRECTORY!=0 如果有驅(qū)動(dòng)器號(hào),則返回值DIRVE!=0頭文件:dir.h 函數(shù)38。fopen()打開一個(gè)流函數(shù)原形:FILE *fopen(const char *filename,const char *mode)功能:打開用filename指定的文件,并使其與一個(gè)流相聯(lián)。使用方式:文件指針名=fopen("文件名","處理方式") ”處理方式”?。? "rt" 打開一個(gè)文本文件,只能讀。 "wt" 生成一個(gè)文本文件,只能寫。若文件存在則被重寫。 "at" 打開一個(gè)文本文件,只能在文件尾部添加。 "rb" 打開一個(gè)二進(jìn)制文件,只能讀。 "wb" 生成一個(gè)二進(jìn)制文件,只能寫。 "ab" 打開一個(gè)二進(jìn)制文件,只能在文件尾部添加。 "rt+" 打開一個(gè)文本文件,可讀可寫。 "wt+" 生成一個(gè)文本文件,可讀可寫。 "at+" 打開一個(gè)文本文件,可讀可添加。 "rb+" 打開一個(gè)二進(jìn)制文件,可讀可寫。 "wb+" 生成一個(gè)二進(jìn)制文件,可讀可寫。 "ab+" 打開一個(gè)二進(jìn)制文件,可讀可添加。返回值:指明流的指針(成功時(shí))或NULL(失敗時(shí))注:需先定義 FILE *文件指針名; "文件名"若用 argv[1]代替,則可使用命令行形式指定文件名函數(shù)39。FP_OFF()獲取遠(yuǎn)地址偏移量的宏原形:unsigned FP_OFF(void far *p)功能:取得和設(shè)置遠(yuǎn)指針*p的偏移量返回值:偏移量頭文件:dos.h 函數(shù)40。fprintf()傳送輸出到一個(gè)流中的函數(shù)原形:int fprintf(FILE *stream,const char *format[,argument,...])功能:①向文件指針指向的文件輸出ASCⅡ代碼 ②向顯示器輸出錯(cuò)誤信息 使用形式: ①fprintf(文件指針,"輸出格式",輸出項(xiàng)系列); ②fprintf(stderr,"錯(cuò)誤信息");使用實(shí)例:fprintf(stream,"%d %c %f",i,c,f); 其中定義FILE *stream; int i; char c; float f;返回值:成功則返回輸出的字節(jié)數(shù),錯(cuò)誤則返回EOF。頭文件:stdio.h函數(shù)41。FP_SEG()獲取遠(yuǎn)地址段值的宏原形:unsigned FP_SEG(void far *p)功能:取得和設(shè)置遠(yuǎn)指針*p段地址值返回值:段地址值頭文件:dos.hfree()釋放已分配內(nèi)存的函數(shù)原形:void free(void *block)功能:釋放由calloc、malloc、realloc函數(shù)調(diào)用所分配的內(nèi)存。頭文件:stdlib.h、alloc.h函數(shù)42。fscanf()格式化輸入函數(shù)原形:int fscanf(FILE *stream,const char *format[,address,...])功能:從一個(gè)流中掃描輸入字段,一次掃描一個(gè)字符,每個(gè)輸入字段根據(jù)format所指格式指示符格式化后,把輸入字段存在format后面由地址參數(shù)給出的位置上。使用格式:fscanf(文件指針,"輸入格式",輸入項(xiàng)系列);使用實(shí)例:fscanf(fp,"%d",b); 從fp指向的文件中讀取十進(jìn)制整數(shù) (ASCⅡ形式)賦予變量b注:當(dāng)文件指針是stdin時(shí),與scanf功能完全相同頭文件:stdio.h函數(shù)43。fseek()移動(dòng)文件指針函數(shù)原形:int fseek(FILE *stream,long offset,int whence)作用:強(qiáng)制一個(gè)文件的位置指針指向某個(gè)特定的位置(甚至超出文件的尾部)。使用格式:fseek(*文件指針,偏移(長整型),起點(diǎn)) 定義 FILE *文件指針名; "起點(diǎn)"取值: 0或SEEK_SET(表示文件開頭) 1或SEEK_CUR(表示當(dāng)前位置) 2或SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失敗頭文件:stdio.h函數(shù)44。fwrite()把參數(shù)寫入流中的函數(shù)原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n個(gè)數(shù)據(jù)項(xiàng)(每個(gè)數(shù)據(jù)項(xiàng)長度為size個(gè)字節(jié))到指定的輸出文件后,數(shù)據(jù)從ptr處開始添加。ptr是指向任意對(duì)象的指針。返回值:調(diào)用成功時(shí)返回實(shí)際寫的數(shù)據(jù)項(xiàng)數(shù),出錯(cuò)時(shí)返回一短整形數(shù)值。頭文件:stdio.h例:fwrite(s,sizeof(s),1,stream); 其中s是一結(jié)構(gòu)變量,stream=fopen();函數(shù)45。gcvt()把雙精度數(shù)轉(zhuǎn)化成字符串的函數(shù)原形∶char*gcvt(value,ndigit,buf) 其中∶double value是待轉(zhuǎn)化數(shù) int ndigit是轉(zhuǎn)化長度 char *buf保存轉(zhuǎn)化后的地址頭文件∶stdlib.h函數(shù)46。geninterrupt()執(zhí)行中斷函數(shù)原形:void geninterrupt(int n)調(diào)用方式:geninterrupt(軟中斷號(hào))功能:產(chǎn)生一個(gè)8086軟中斷注:需先向寄存器傳遞入口信息(用偽變量) 例如 偽變量=要賦的值(入口信息); 調(diào)用geninterrupt()函數(shù)后得接受出口信息 例如 變量名=偽變量偽變量∶Turbo C 允許使用偽變量直接訪問相應(yīng)的8086寄存器。偽變量的類型有兩種。 ① unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI ② unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH函數(shù)47。getc()從流中取字符的宏原形:int getc(FILE *stream)功能:返回輸入流stream中一個(gè)字符,移動(dòng)文件指針使之指向下一個(gè)字符。使用格式:字符變量=getc(文件指針) (正常情況下讀取到代碼值,讀到文件尾或出錯(cuò)時(shí)返回EOF)注:需定義 char 字符變量;FILE *文件指針;頭文件:stdio.h函數(shù)48。getch()從鍵盤無回顯地讀取一字符的函數(shù)功能:將鍵盤上輸入的單個(gè)字符的值(ASCⅡ 碼)立刻賦給字符型變量調(diào)用方式:字符形變量=getch()注:需先定義 char 字符形變量;頭文件:conio.h函數(shù)49。getchar()從stdin流中讀取一個(gè)字符的函數(shù)功能:將鍵盤上輸入的單個(gè)字符的值(ASCⅡ 碼)回車后賦給字符型變量調(diào)用方式:字符型變量=getchar()注:需先定義 char 字符型變量;頭文件:stdio.h函數(shù)50。getcurdir()讀取指定驅(qū)動(dòng)器的當(dāng)前目錄的函數(shù)原形:int getcurdir(int drive,char directory) drive=0(缺省);1(A驅(qū)動(dòng)器);... directory用來存放目錄名,不包括驅(qū)動(dòng)器名,不以反斜杠開始。返回值:0(調(diào)用成功);1(出錯(cuò))頭文件:dir.h函數(shù)61。getcwd()讀取當(dāng)前目錄的函數(shù)原形:char *getcwd(char *buf,int buflen)功能:讀取當(dāng)前目錄的完整路徑名(包括驅(qū)動(dòng)器名),最長為buflen個(gè)字節(jié),存放在buf中。如果buf為NULL,函數(shù)將分配一個(gè)buflen字節(jié)長的緩沖區(qū),以后可將本函數(shù)的返回值作為free函數(shù)的參數(shù)來釋放該緩沖區(qū)。返回值:若buf非空,調(diào)用成功返回buf,出錯(cuò)返回NULL;若buf為NULL,返回指向已經(jīng)分配的內(nèi)存緩沖區(qū)地址。頭文件:dir.h函數(shù)62。getdate()讀取系統(tǒng)日期函數(shù)原形:void getdate(pdate) struct date { int da_year; int da_day; int da_mon; }; struct date *pdate;頭文件:dos.h函數(shù)63。getdfree()讀取磁盤空閑空間的函數(shù)原形:void getdfree(drive,dtable) unsigned char drive;驅(qū)動(dòng)器號(hào)(0-當(dāng)前;1-A;2-B;...) struct dfree { unsigned df_avail;//可使用的簇?cái)?shù) unsigned df_total;//每個(gè)驅(qū)動(dòng)器的簇?cái)?shù) unsigned df_bsec;//每個(gè)扇區(qū)的字節(jié)數(shù) unsigned df_sclus;//每個(gè)簇的扇區(qū)數(shù)(出錯(cuò)時(shí)返回0xffff) }*dtable;功能:把由drive指定的關(guān)于驅(qū)動(dòng)器的信息返回到dtable函數(shù)64。getdisk()讀取當(dāng)前磁盤驅(qū)動(dòng)器號(hào)函數(shù)原形:int getdisk(void)功能:取得當(dāng)前驅(qū)動(dòng)器號(hào)(0=A;1=B;....)頭文件:dir.h函數(shù)65。getenv()讀取環(huán)境變量的當(dāng)前值的函數(shù)原形:char *getenv(const char *name)用法:s=getenv("環(huán)境變量名"); 需先定義char *s;功能:返回一給定的環(huán)境變量值,環(huán)境變量名可大寫或小寫。如果指定的變量在環(huán)境中未定義,則返回一空串。 頭文件:stdlib.h函數(shù)66。getimage()將指定區(qū)域的位圖象存入內(nèi)存的函數(shù)原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:將圖像(矩形區(qū)域)從屏幕拷貝到內(nèi)存,*bitmap指向內(nèi)存中存放圖像的區(qū)域。該區(qū)域的前兩個(gè)字節(jié)用于存放矩形的高和寬。頭文件:graphics.h函數(shù)67。getmaxx()返回屏幕上最大的X坐標(biāo)值的函數(shù)原形:int far getmaxx(void)功能:返回當(dāng)前圖形驅(qū)動(dòng)程序和圖形模式下最大的X坐標(biāo)值。頭文件:graphics.h函數(shù)68。getmaxy()返回屏幕上最大的Y坐標(biāo)值的函數(shù)原形:int far getmaxy(void)功能:返回當(dāng)前圖形驅(qū)動(dòng)程序和圖形模式下最大的Y坐標(biāo)值。頭文件:graphics.h函數(shù)69。getpixel()讀取像素顏色的函數(shù)原形:unsigned far getpixel(int x,int y)頭文件:graphics.h函數(shù)70。getpsp()原形∶unsigned getpsp(void)功能∶使用DOS系統(tǒng)調(diào)用0x62,返回程序段前綴(PSP)的段地址頭文件∶dos.h函數(shù)71。gets()從標(biāo)準(zhǔn)輸入流stdio中讀取一字符串的函數(shù)功能:將鍵盤上輸入的字符串立刻賦予字符串變量并顯示出來調(diào)用方式:gets(字符串變量名)注:需定義 char *字符串變量名;函數(shù)72。gettime()讀取系統(tǒng)時(shí)間的函數(shù)原形:void gettime(ptime) struct time { unsigned char ti_min; unsigned char ti_hour; unsigned char ti_hund;//百分之一秒 unsigned char ti_sec; }; struct time *ptime;函數(shù)73。getvect()讀取中斷向量函數(shù)原形:void interrupt(*getvect(int interruptno))功能:讀入由interruptno(0-255之間)所指定的中斷向量值,并把該中斷向量值作為中斷函數(shù)的遠(yuǎn)指針返回。返回值:指定中斷向量的當(dāng)前4字節(jié)值。頭文件:dos.h使用實(shí)例:oldfunc=getvect(5); 先定義void interrupt(*oldfunc)(); 用后恢復(fù)setvect(5,oldfunc);函數(shù)74。getx()返回當(dāng)前圖形方式下位置的X坐標(biāo)值的函數(shù)原形:int far getx(void);頭文件:graphics.h函數(shù)75。gety()返回當(dāng)前圖形方式下位置的Y坐標(biāo)值的函數(shù)原形:int far gety(void);頭文件:graphics.h函數(shù)76。imagesize()返回保存圖像緩沖區(qū)大小的函數(shù)原形:unsigned far imagesize(int left,int top,int right,int bottom)功能:確定保存圖像所需的存儲(chǔ)區(qū)大小。返回值:返回存儲(chǔ)區(qū)的大小(字節(jié)),若所需內(nèi)存大于等于64K-1字節(jié),則返回0xffff(-1)。頭文件:graphics.h函數(shù)77。initgraph()顯示模式控制函數(shù)(初始化圖形系統(tǒng)函數(shù))功能:把圖形適配器設(shè)置為一種圖形模式,將選擇的圖形驅(qū)動(dòng)程序(在BGI文件中)裝入到內(nèi)存。調(diào)用方式: void far initgraph(int far *driver,int far *mode,char far*path) 其中: *driver可以是數(shù)值(0-10),也可是符號(hào)值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、 PC3270)。 *mode參數(shù)從圖形系統(tǒng)為各種常用的圖形適配器設(shè)置的圖形模式中(CGAC0、...、IBM8514HI--見頭文件graphics.h)選取。常用的有:VGAMED或1

C語言函數(shù)有什么作用啊

函數(shù)是C源碼程序中最基本的功能單位,是一個(gè)可以從程序其它地方調(diào)用執(zhí)行的語句塊

C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,結(jié)構(gòu)化程序設(shè)計(jì)思想是“分解”大問題,依次解決小問題,通過小問題解決實(shí)現(xiàn)大問題的解決,描述“小問題”解決方法的工具即是函數(shù)。

函數(shù)的定義格式如下:

 type name ( argument1, argument2, ...) statement說明:

type

是函數(shù)返回的數(shù)據(jù)的類型

name

是函數(shù)被調(diào)用時(shí)使用的名

argument

是函數(shù)調(diào)用需要傳入的參量(可以聲明任意多個(gè)參量)。每個(gè)參量(argument)由一個(gè)數(shù)據(jù)類型后面跟一個(gè)標(biāo)識(shí)名稱組成,就像變量聲明中一樣(例如,int

x)。參量僅在函數(shù)范圍內(nèi)有效,可以和函數(shù)中的其它變量一樣使用,

它們使得函數(shù)在被調(diào)用時(shí)可以傳入?yún)?shù),不同的參數(shù)用逗號(hào)(comma)隔開.

statement

是函數(shù)的內(nèi)容。它可以是一句指令,也可以是一組指令組成的語句塊。如果是一組指令,則語句塊必須用花括號(hào){}括起來,這也是我們最常見到情況。其實(shí)為了使程序的格式更加統(tǒng)一清晰,建議在僅有一條指令的時(shí)候也使用花括號(hào),這是一個(gè)良好的編程習(xí)慣。

網(wǎng)站名稱:c語言中各函數(shù)功能介紹 c語言函數(shù)的使用
當(dāng)前鏈接:http://muchs.cn/article30/docdepo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站網(wǎng)站設(shè)計(jì)公司、云服務(wù)器移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)