第一篇:C語言函數(shù)學(xué)習(xí)
函數(shù)
一:學(xué)習(xí)目的
1:正確理解函數(shù)在C語言程序設(shè)計中的作用和地位。2:熟悉函數(shù)的定義、原型聲明和調(diào)用的方法。3:熟悉數(shù)組名做函數(shù)參數(shù)的用法
二:學(xué)習(xí)準(zhǔn)備
1:有一個一維數(shù)組score,內(nèi)放10個學(xué)生成績,求平均成績。
#include
float score[10],aver;int i;
printf(“input 10 scores:n”);
for(i=0;i<10;i++)
scanf(“%f”,&score[i]);
printf(“n”);
aver=average(score);
printf(“%5.2fn”,aver);}
float average(float array[10]){ int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);} 2:有兩個班級,分別有35名和30名學(xué)生,調(diào)用一個average函數(shù),分別求這兩個班的學(xué)生的平均成績。
#include
float score1[5]={98.5,97,91.5,60,55};
float score2[10]={6 5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};
printf(“%6.2fn”,average(score1,5));
printf(“%6.2fn”,average(score2,10));} float average(float array[ ],int n)
{ int i;
float aver,sum=array[0];
for(i=1;i sum=sum+array[i]; aver=sum/n; return(aver);} 三:實驗內(nèi)容: 1:選擇題 (1)以下函數(shù)調(diào)用語句中含有_ _B_______個實參。 fun((exp1,exp2),(exp3,exp4,exp5)); A.1 B.2 C.4 D.5(2)以下說法正確的是(C)。 (3)以下程序有語法性錯誤,有關(guān)錯誤原因的正確說法是(C)。 Main(){int G=5,k;void prt_char();…… k=prt_char(G);……} (4)C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是(B)。 (5)若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。 (6)若使用一維數(shù)組名作函數(shù)參數(shù),則以下正確的說法是(C)。 2:編程題: 1、編寫函數(shù)fun,它的功能是輸出一個200以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù),返回這些數(shù)的個數(shù)。#include int i,a=0;printf(“這些數(shù)分別為:”);for(i=6;i<200;i+=10){ if(i%3==0)a++;if(i%3!=0)continue;} printf(“%d ”,i);printf(“n”);printf(“這些數(shù)的個數(shù)為%d個n”,a);} void main(){ } 2、已有變量定義和函數(shù)調(diào)用語句:int a=1,b=-5,c;c=fun(a,b);fun函數(shù)的作用是計算兩個數(shù)之差的絕對值,并將計算好的值返回調(diào)用函數(shù),請編寫程序。#include if(z<0)z*=-1;else z*=1;return(z);} int main(){ int a=1,b=-5,c;c=fun(a,b);printf(“%dn”,c);} 3、寫一個函數(shù),要求把從主函數(shù)傳遞過來的一個字符串中的大寫字母、小寫字母、數(shù)字和其它字符進(jìn)行統(tǒng)計,并把結(jié)果顯示輸出。 #include { int a=0,b=0,c=0,d=0;int i;for(i=0;i if(e[i]>'A'&&e[i]<'Z')a++;else if(e[i]>'a'&&e[i]<'z')b++;else if(e[i]>'0'&&e[i]<'9')c++;else d++;} printf(“大寫字母有%d個n小寫字母有%d個n數(shù)字有%d個n其它字符有%d個n”,a,b,c,d); } void main(){ char e[1024];int n;printf(“請輸入一串字符n”);gets(e);n=strlen(e);fun(e,n);} 4、輸入一個字符串,然后在一個函數(shù)中把這個字符串里的字長符頭尾互換:如輸入字符串chinese,要輸出:esenihc。 #include int i;printf(“倒序后輸出的字符為n”);for(i=len-1;i>=0;i--){ printf(“%c”,ch[i]); } printf(“n”);} void main(){ char ch[1024];int len;printf(“請輸入一串字符:n”);gets(ch);len=strlen(ch);fun(ch,len);} Turbo C函數(shù) Turbo C函數(shù) alloc.h brk 【功能】更改數(shù)據(jù)段空間的分配 【原型】int brk(void *endds)【位置】alloc.h 【說明】將程序數(shù)據(jù)段的頂部設(shè)置為endds所指向的內(nèi)存位置。調(diào)用成功之后,返回0。如果調(diào)用失敗則返回-1,同時設(shè)置errno?!緟⒁姟縞oreleft calloc 【功能】分配內(nèi)存。 【原型】void *calloc(size_t nelem,size_t elsize)【位置】stdib.h,alloc.h 【說明】為nelem數(shù)據(jù)項的每elsize個字節(jié)分別分配空間,同時在空間中保存0值。返回一個指向新分配塊的指針,如果沒有足夠的空間則返回NULL?!緟⒁姟縨alloc coreleft 【功能】返回測出的未使用內(nèi)存量。 【原型】小型模塊中unsigend long coreleft(void)【位置】alloc.h 【參見】malloc farcallc 【功能】從高端開始分配內(nèi)存。 【原型】void far *farcalloc(unsigned ling nunits,unsigned ling unitsz)【位置】alloc.h 【說明】為nunits數(shù)據(jù)項的每unitsz個字節(jié)分配空間。返回指向新分配塊的指針,如果沒有足夠的空間創(chuàng)建數(shù)據(jù)塊,則返回NULL 【參見】farmalloc,farfree,farcoreleft,malloc,calloc farcoreleft 【功能】返回測出的高端未使用內(nèi)存量?!驹汀縰nsigned long farcoreleft(void)【位置】alloc.h 【說明】返回最高分配數(shù)據(jù)塊和內(nèi)存末端之間所剩的所有空間量(按照字節(jié)計算)。【參見】farcalloc,farmalloc,coreleft farfree 【功能】從高端釋放一個數(shù)據(jù)塊。 【原型】void farfree(void far *block)【位置】alloc 【參見】farmalloc,farcalloc farmalloc 【功能】從高端開始分配。 【原型】void far *farmalloc(unsigned long nbytes)【位置】alloc.h 【說明】返回一個指向新分配數(shù)據(jù)塊的指針,如果沒有足夠的空間創(chuàng)建數(shù)據(jù)塊則返回NULL 【參見】farcoreleft,farfree,farcalloc,malloc,farrealloc farrealloc Turbo C函數(shù) 【功能】調(diào)整高端的分配數(shù)據(jù)塊。 【原型】void far *farrealloc(void far *oldblock,unsigned long nbytes)【位置】alloc.h 【說明】返回重新分配數(shù)據(jù)塊的地址,如果分配失敗則返回NULL。返回值可能與源地址不同?!緟⒁姟縡armalloc,realloc free 【功能】釋放通過malloc或者calloc分配的數(shù)據(jù)塊?!驹汀縱oid free(void *block)【位置】stdlib.h,alloc.h 【參見】maloc,calloc,freemem malloc 【功能】分配內(nèi)存。 【原型】void *malloc(size_t size)【位置】alloc.h,stdlib.h 【說明】大小按照字節(jié)計算。返回一個指向新分配數(shù)據(jù)塊的指針,如果沒有足夠的空間創(chuàng)建數(shù)據(jù)塊,則返回NULL。如果size==0,則也返回NULL。 【參見】allicmem,free,calloc,realloc,farmalloc realloc 【功能】重新分配主存。 【原型】void *realloc(void *block,size_t size)【位置】alloc.h,stdlib.h 【說明】嘗試將原先分配的數(shù)據(jù)塊擴(kuò)大或者縮小只size字節(jié)值。返回重新分配之后與原有地址不同的數(shù)據(jù)塊的地址。如果數(shù)據(jù)塊不能重新分配,或者size==0,則返回NULL 【參見】malloc,free sbrk 【功能】更改數(shù)據(jù)段的空間分配?!驹汀縱oid *sbrk(int incr)【位置】alloc.h 【說明】為數(shù)據(jù)塊添加incr個字節(jié)。成功實現(xiàn)之后,sbrk返回原有中斷值。如果失敗則返回-1,同時設(shè)置errno.【參見】brk ASSERT.H assert 【功能】對條件進(jìn)行測試,可能會退出程序運(yùn)行。【原型】void assert(int test)【位置】assert.h 【參見】abort BIOS.H bioscom 【功能】RS-232的I/O通訊。 【原型】int bioscom(int cmd,char abyte,int port)【位置】bios.h 【說明】cmd的值及含義如下。0 設(shè)置通訊參數(shù)abyte。1 將abyte發(fā)送出去。接受一個字符(位于返回值的下8位中)。 Turbo C函數(shù) 返回狀態(tài)。 Port為0表示COM1,為1表示COM2,依次類推。 返回值的高8位表示狀態(tài)位,低8位內(nèi)容根據(jù)cmd而定。biosdisk 【功能】BIOS磁盤服務(wù)。 【原型】int biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer) 【位置】bios.h 【說明】成功返回0,否則返回值為錯誤代碼。biosequip 【功能】檢查設(shè)備。 【原型】int biosequip(void)【位置】bios.h 【說明】返回BIOS設(shè)備的標(biāo)記。bioskey 【功能】鍵盤接口。 【原型】bioskey(int cmd)【位置】bios.h 【說明】cmd的取值及動作如下。Cmd 動作 0 返回緩存中鍵入的掃描碼,并從緩存中刪除它。如果緩存為空,則等待下一次鍵入。1 返回緩存中鍵入的掃描碼,但是不從緩存中刪除它。如果緩存為空,則返回0。2 返回BIOS切換狀態(tài)的標(biāo)志。biosmemory 【功能】返回內(nèi)存大小。 【原型】int biosmemory(void)【位置】bios.h 【說明】返回內(nèi)存大小,以1KB為單位。biosprint 【功能】直接使用BIOS實現(xiàn)打印機(jī)I/O。 【原型】int biosprint(int cmd,int abyte,int port)【位置】bios.h 【說明】如果cmd為0,說明字節(jié)已經(jīng)打印。如果cmd為1,說明打印機(jī)端口已經(jīng)初始化。如果cmd為2,說明當(dāng)前打印機(jī)狀態(tài)可讀。 對應(yīng)所有cmd數(shù)值都返回當(dāng)前打印機(jī)狀態(tài)。biostime 【功能】BIOS定時器服務(wù)程序。 【原型】long biostime(int cmd,long newtime)【位置】bios.h 【說明】如果cmd為0,則讀取BIOS定時器,如果cmd為1則設(shè)置BIOS定時器。時間從午夜開始計算,以時鐘滴答為單位,每秒18.2的滴答。 CONIO.H cgets 【功能】從控制臺讀取字符串?!驹汀縞har *cgets(char *str)【位置】conio.h Turbo C函數(shù) 【說明】str[0]必須包含讀入字符串的最大長度,str[1]則相應(yīng)地設(shè)置為實際讀入字符的個數(shù)。字符串從str[2]開始,函數(shù)返回&str[2]?!緟⒁姟縞puts,gets,fgets clreol 【功能】清除文本模式的行尾?!驹汀縱oid clreol(void)【位置】conio.h 【參見】clrscr,delline,window clrscr 【功能】清除文本模式的窗口。【原型】void clrscr(void)【位置】conio.h 【參見】clreol,delline,window cprintf 【功能】在屏幕上的文本窗口中格式化輸出 【原型】int cprintf(const char *format,…)【位置】conio.h 【說明】返回輸出的字節(jié)個數(shù)。【參見】printf cputs 【功能】在屏幕上的文本窗口中書寫字符串。【原型】int cputs(const char *str)【位置】conio.h 【說明】返回打印的最后一個字符?!緟⒁姟縞gets,puts,fputs cputs 【功能】在屏幕上的文本窗口中書寫字符串?!驹汀縤nt cputs(const char *str)【位置】conio.h 【說明】返回打印的最后一個字符串。【參見】cgets,puts,fputs cscanf 【功能】從控制臺執(zhí)行格式化輸入。 【原型】int cscanf(char *format [,argument,…])【位置】conio.h 【說明】返回成功處理的輸入字段數(shù)目。如果函數(shù)在文件結(jié)尾處讀入,則返回值為EOF?!緟⒁姟縮canf delline 【功能】刪除文本窗口中的行?!驹汀縱oid delline(void)【位置】conio.h 【參見】clreol,clrscr,windows getch、getche 【功能】getch從控制臺得到字符,但是不回顯。Getche也從控制臺得到字符,但同時回顯在屏幕上。 【原型】int getch(void)4 Turbo C函數(shù) int getche(void)【位置】conio.h 【說明】兩個函數(shù)都返回讀取的字符。字符馬上就可以使用,無需等到緩存整行之后。類似功能鍵和方向鍵這些特殊鍵都使用兩個字符組成的序列表示:一個0字符隨后跟一個按鍵的掃描碼?!緟⒁姟縢etpass,cgets,cscanf,kbhit,ungetch,putchar,getc getpass 【功能】讀入口令。 【原型】char *getpass(const char *prompt)【位置】conio.h 【說明】返回一個指針,指向這次調(diào)用覆蓋的一個靜態(tài)字符串?!緟⒁姟縢etch gettext 【功能】從文本模式的屏幕上將文本拷貝至內(nèi)存中。 【原型】int gettext(int left,int top,int right,int bottom,void *destin)【位置】conio.h 【說明】坐標(biāo)值與屏幕相關(guān),左上角為(1,1)。如果成功則返回一個非0值?!緟⒁姟縫uttext,movetext gettextinfo 【功能】得到文本模式的視頻信息。 【原型】void gettextinfo(struct text_info *r)【位置】conio.h 【說明】結(jié)果以inforec的形式返回。 【參見】texttr,textbackground,textcolor,textmode,wherex,wherey,window gotoxy 【功能】在文本窗口中定位光標(biāo)?!驹汀縱oid gotoxy(int x,int y)【位置】conio.h 【參見】wherex,wherey,window highvideo 【功能】選擇高密度的文本字符?!驹汀縱oid highvideo(void)【位置】conio.h 【說明】影響隨后的文本窗口函數(shù)調(diào)用,例如putch和cprintf?!緟⒁姟縧owvideo,normvideo,textcolor,gettextinfo,cputs,putch insline 【功能】在文本窗口的當(dāng)前光標(biāo)位置插入空白行?!驹汀縱oid insline(void)【位置】conio.h 【說明】當(dāng)前光標(biāo)位置的下一行依次向下推,最后一行消失?!緟⒁姟縞lreol,delline,window kbhit 【功能】檢查最近的鍵盤輸入?!驹汀縤nt kbhit(void)【位置】conio.h 【說明】如果存在鍵盤輸入,則kbhit返回一個非0整數(shù)?!緟⒁姟縢etc Turbo C函數(shù) lowvideo 【功能】 為文本窗口輸出選擇低密度的字符?!驹汀縱oid lowvideo(void)【位置】conio.h 【說明】影響隨后的文本窗口函數(shù)調(diào)用,例如putch和cprintf?!緟⒁姟縣ighvideo,normvideo movetext 【功能】將屏幕上一個矩形范圍的文本拷貝至另一個矩形中(文本模式)。 【原型】int movetext(int left,int top,int right,int bottom,int destleft,int desttop)【位置】conio.h 【說明】坐標(biāo)與屏幕左上角(1,1)相對應(yīng),如果操作成功則返回非0值?!緟⒁姟縢ettext,puttext normvideo 【功能】選擇正確密度的字符?!驹汀縱oid normvideo(void)【位置】conio.h 【說明】影響隨后的文本窗口函數(shù)調(diào)用,例如putch和cprintf。【參見】highvideo,lowvideo putch 【功能】在屏幕上的文本窗口中輸出字符?!驹汀縤nt putch(int ch)【位置】conio.h 【說明】使用當(dāng)前的顏色和顯示屬性,返回顯示字符ch?!緟⒁姟縞printf,cputs,getch.putc.putchar prttext 【功能】將內(nèi)存中的文本拷貝至屏幕上。 【原型】int puttext(int left,int top,int right,int bottom,void *source)【位置】conio.h 【說明】坐標(biāo)與屏幕左上角(1,1)相對應(yīng),如果成功則返回一個非0值?!緟⒁姟縢ettext,movetext,window textattr 【功能】設(shè)置文本窗口函數(shù)的文本屬性?!驹汀縱oid textattr(int newattr)【位置】conio.h 【參見】textclolor,textbackground textbackground 【功能】選擇文本模式下的新背景顏色。 【原型】void textbackground(int newcolor)【位置】conio.h 【參見】textcolor,textattr textcolor 【功能】選擇文本模式下的新字符顏色?!驹汀縱oid textcolor(int newcolor)【位置】conio.h 【參見】textbackground, textattr,highvideo,lowvideo,normvideo ungetch 6 Turbo C函數(shù) 【功能】將一個字符退回至鍵盤?!驹汀縤nt ungetch(int ch)【位置】conio.h 【說明】下一次調(diào)用getch或者其他控制臺輸入函數(shù)時,將返回ch。如果成功則返回字符ch,返回EOF。 【參見】getch textmode 【功能】更改屏幕模式(文本模式下)?!驹汀縱oid textmode(int newmode)【位置】conio.h 【說明】不能用來將圖片模式更改為文本模式?!緟⒁姟縤nitgraph,gettextinfo wherex 【功能】得到當(dāng)前文本窗口中光標(biāo)的水平位置?!驹汀縤nt wherex(void)【位置】conio.h 【說明】返回從1到80范圍內(nèi)的一個整數(shù)?!緟⒁姟縲herey,gettextinfo,gotoxy wherey 【功能】得到當(dāng)前文本窗口中光標(biāo)的垂直位置?!驹汀縤nt wherey(void)【位置】conio.h 【說明】返回一個從1到25范圍內(nèi)的一個整數(shù)。【參見】wherex,gettextinfo,gotoxy window 【功能】定義激活的文本模式窗口。 【原型】void window(int left,int top,int right,int bottom)【位置】conio.h 【說明】屏幕左上角的坐標(biāo)為(1,1)【參見】gettextinfo,textmode CTYPE.H isascii 【功能】如果c為有效的ASCII字符,則返回真?!驹汀縤sascii(c)【位置】ctype.h isalnum 【功能】如果c為字母或者數(shù)字,則返回真?!驹汀縤salnum(c)【位置】ctype.h isalpha 【功能】如果c為字母,則返回真?!驹汀縤salpha(c)【位置】ctype.h iscntrl 【功能】如果c為刪除字符或者普通的控制字符,則返回真?!驹汀縤scntrl(c) Turbo C函數(shù) 【位置】ctype.h isdigit 【功能】如果c為數(shù)字,則返回真。【原型】isdigit(c)【位置】ctype.h isgraph 【功能】除了不包括空格字符之外,其功能與isprint一致?!驹汀縤sgraph(c)【位置】ctype.h islower 【功能】如果c為小寫字母。則返回真?!驹汀縤slower(c)【位置】ctype.h isprint 【功能】如果c為可打印字符,則返回真。【原型】isprint(c)【位置】ctype.h ispuct 【功能】如果c為標(biāo)點符號字符,則返回真?!驹汀縤spuct(c)【位置】ctype.h isspace 【功能】如果c為空格、制表符、回車符、換行符、垂直制表符或者換頁符時,返回真?!驹汀縤sspace(c)【位置】ctype.h isupper 【功能】如果c為大寫字母,則返回真?!驹汀縤supper(c)【位置】ctype.h isxdigit 【功能】如果c為十六進(jìn)制數(shù)字,則返回真?!驹汀縤sxdigit(c)【位置】ctype.h toascii 【功能】將大于127的c轉(zhuǎn)換到0~127范圍,只保留c的低7位?!驹汀縯oascii(c)【位置】ctype.h _tolower 【功能】將[A~Z]范圍內(nèi)的字符c轉(zhuǎn)換為[a~z]范圍內(nèi)的字符?!驹汀縚tolower(c)【位置】ctype.h _toupper 【功能】將[a~z]范圍內(nèi)的字符c轉(zhuǎn)換為[A~Z]范圍內(nèi)的字符。【原型】_toupper(c)【位置】ctype.h DIR.H 8 Turbo C函數(shù) chdir 【功能】更改當(dāng)前目錄。 【原型】int chdir(const char *path)【位置】dir.h 【說明】成功實現(xiàn)之后,chdir返回一個0值。否則返回-1,同時設(shè)置errno?!緟⒁姟縨kdir,rmdir findfirst 【功能】搜索磁盤目錄。 【原型】int findfirst(const char *filename,struct ffblk *ffblk,int attrib)【位置】dir.h 【說明】文件路徑中可以包括通配符?(匹配單個字符)和*(匹配多個字符)。如果成功返回0,沒有找到匹配結(jié)果或者出錯則返回-1,同時設(shè)置errno。findnext 【功能】繼續(xù)執(zhí)行findfirst搜索。 【原型】int findnext(struct ffblk *ffblk)【位置】dir.h 【說明】文件路徑中可以包括通配符?(匹配單個字符)和*(匹配多個字符)。如果成功返回0,沒有找到匹配結(jié)果或者出錯則返回-1,同時設(shè)置errno。fnmerge 【功能】使用各個組成部分組建一個路徑。 【原型】void fnmerge(char *path,const char *drive,const char *dir,const char *name,const char *ext)【位置】dir.h 【參見】fnsplit fnsplit 【功能】將一個路徑分解成多個組成部分。 【原型】int fnsplit(const char *path,char *drive,char *dir,char *name,char *ext)【位置】dir.h 【說明】返回一個整數(shù),由5個標(biāo)志位組成?!緟⒁姟縡nmerege getcurdir 【功能】得到指定驅(qū)動器的當(dāng)前目錄。 【原型】int getcurdir(int drive,char *directory)【位置】dir.h 【說明】drive為0表示默認(rèn)驅(qū)動器 【參見】chdir,getcwd,getdisk,mkdir,rmdir getcwd 【功能】得到當(dāng)前工作目錄。 【原型】char *getcwd(char *buf,int buflen)【位置】dir.h,dos.h 【說明】返回一個指向buf的指針,出現(xiàn)錯誤時返回NULL,同時設(shè)置errno。【參見】getcurdir,getdisk,mkdir,chdir,rmdir getdisk 【功能】得到當(dāng)前驅(qū)動器。【原型】int getdisk(void)【位置】dir.h Turbo C函數(shù) 【說明】返回當(dāng)前驅(qū)動器號,A驅(qū)動器使用0表示 【參見】getcurdir,setdisk,getcwd mkdir 【功能】創(chuàng)建一個目錄。 【原型】int mkdir(const char *path)【位置】dir.h 【說明】成功返回0,錯誤則返回-1,同時設(shè)置errno 【參見】chdir,rmdir mktemp 【功能】創(chuàng)建一個唯一的文件名稱?!驹汀縞har *mktemp(char *template)【位置】dir.h 【說明】使用唯一的文件名稱替換template,并且返回template的地址。Template必須由一個非空字符串和6個X后綴組成,例如MYFILEXXXXXX。rmdir 【功能】刪除目錄。 【原型】int rmdir(const char *path)【位置】dir.h 【說明】成功返回0,錯誤返回-1,同時設(shè)置errno?!緟⒁姟縨kdir,chdir searchpath 【功能】在DOS路徑中檢索一個文件。 【原型】char *searchpath(const char *file)【位置】dir.h 【說明】成功則返回一個指針,指向表示文件完全路徑名稱的字符串,否則返回NULL。返回的字符串保存在一個靜態(tài)區(qū)域內(nèi),每次重新調(diào)用都將覆蓋這一區(qū)域?!緟⒁姟縠xec…,findfirst,open,system setdisk 【功能】設(shè)置當(dāng)前磁盤驅(qū)動器。【原型】int setdisk(int driver)【位置】dir.h 【說明】drive數(shù)值為0=A,1=B,2=C,依次類推。函數(shù)返回所有可用驅(qū)動器總數(shù)。 DOS.H absread 【功能】讀入絕對磁盤扇區(qū)。 【原型】int absread(int drive,int 1sect,void *buffer)【位置】dos.h 【說明】driver值為0=A,1=B,2=C,以此類推。Nsect表示讀/寫的扇區(qū)號碼。1sect表示開始邏輯扇區(qū)(第1個為0)。Buffer表示數(shù)據(jù)區(qū)的地址。成功返回0,錯誤返回-1并設(shè)置errno。abswrite 【功能】寫入絕對磁盤扇區(qū)。 【原型】int abswrite(int drive,int nsects,int 1sect,void *buffer)【位置】dos.h 【說明】driver值為0=A,1=B,2=C,以此類推。Nsect表示讀/寫的扇區(qū)號碼。1sect表示開始邏輯扇區(qū)(第1個為0)。Buffer表示數(shù)據(jù)區(qū)的地址。成功返回0,錯誤返回-1并設(shè)置errno。allocmem 10 Turbo C函數(shù) 【功能】分配DOS內(nèi)存片斷。 【原型】int allocmem(unsigned size,unsigned *segp)【位置】dos.h 【說明】size表示請求的16位段落的號碼,分配區(qū)域的段地址保存在*segp中(offset=0)。成功返回-1,否則返回最大可用數(shù)據(jù)塊的大小,并設(shè)置_doserrno和errno?!緟⒁姟縡reemem bdos 【功能】MS DOS的系統(tǒng)調(diào)用。 【原型】int bdos(int dosfun,unsigned dosdx,unsigned dosal)【位置】dos.h 【說明】bdos的返回值為系統(tǒng)調(diào)用設(shè)置的AX值?!緟⒁姟縝dosptr,int86,int86x bdosptr 【功能】MS DOS的系統(tǒng)調(diào)用。 【原型】int bdosptr(int dosfun,void *argument,unsigned dosal)【位置】dos.h 【說明】bdosptr的成功返回值為AX值,失敗則返回-1,同時設(shè)置errno和_doserrno。【參見】bdos,int86,int86x country 【功能】返回與country相關(guān)的信息。 【原型】struct country *country(int xcode,struct country *cp)【位置】dos.h 【說明】返回指針參數(shù)cp,MS DOS 3.0或以上版本支持。ctrlbrk 【功能】設(shè)置控制終端的句柄。 【原型】void ctrlbrk(int(*handler)(void))【位置】dos.h 【說明】句柄函數(shù)返回0退出當(dāng)前程序,否則程序?qū)⒗^續(xù)執(zhí)行。delay 【功能】中斷執(zhí)行一段時間(以毫秒計算)?!驹汀縱oid delay(unsigned milliseconds)【位置】dos.h 【參見】sleep disable 【功能】禁止中斷。 【原型】void disable(void)【位置】dos.h 【說明】禁止除了NMI之外的所有硬件中斷?!緟⒁姟縠nable dosexterr 【功能】得到DOS擴(kuò)展錯誤的信息。 【原型】int dosexterr(struct DOSERROR *eblkp)【位置】dos.h 【說明】根據(jù)最后一次DOS調(diào)用填寫eblkp結(jié)構(gòu)。返回exterror結(jié)構(gòu)的值。dostounix 【功能】蔣時間和日期轉(zhuǎn)換成為NUIX格式。 Turbo C函數(shù) 【原型】long dostounix(struct date*d,struct time *t)【位置】dos.h 【說明】返回UNIX格式的日期和時間參數(shù)(秒數(shù)從1970年1月1日(GMT)開始計算)。【參見】unixtodos _emit_ 【功能】直接在代碼中插入文字?!驹汀縱oid emit(argument,…)【位置】dos.h enable 【功能】允許硬件中斷?!驹汀縱oid enable(void)【位置】dos.h 【參見】disable FP_OFF 【功能】得到遠(yuǎn)端偏移地址。 【原型】unsigned FP_OFF(farpointer)【位置】dos.h 【參見】movedata,segread FP_SEG 【功能】得到遠(yuǎn)端分段地址。 【原型】unsigned FP_SEG(farpointer)【位置】dos.h 【參見】movedata,segread freemem 【功能】釋放原先使用allocmem分配的DOS內(nèi)存塊?!驹汀縤nt freemem(unsigned segx)【位置】dos.h 【說明】成功返回0,錯誤返回-1,同時設(shè)置errno?!緟⒁姟縜llocmem,free geninterrupt 【功能】生成軟件中斷?!驹汀?/p> 【位置】dos.h 【說明】調(diào)用之后可能所有寄存器的狀態(tài)都根據(jù)調(diào)用的中斷而定。注意,中斷可能導(dǎo)致C使用的寄存器處于一種不可預(yù)見的狀態(tài)之中。 【參見】int86,int86x,intdos,intdosx,bdos,bdosptr,intr,enable,disable getcbrk 【功能】得到控制中斷的設(shè)置?!驹汀縤nt getcbrk(void)【位置】dos.h 【說明】如果control_break檢查被關(guān)閉則返回0,如果檢查被打開則返回1。【參見】setcbrk,ctrlbrk getcwd 【功能】得到當(dāng)前工作目錄。 【原型】char *getcwd(char *buf,int buflen)【位置】dos.h,dir.h Turbo C函數(shù) 【說明】返回一個指向buf的指針,出現(xiàn)錯誤時返回NULL,同時設(shè)置errno?!緟⒁姟縢etcurdir,getdisk,mkdir,chdir,rmdir getdate 【功能】得到MS DOS日期。 【原型】void getdate(struct date *datep)【位置】dos.h 【參見】setdate,gettime,ctime getdfree 【功能】得到磁盤的剩余空間。 【原型】void getfree(unsigned char drive,struct dfree *dtable)【位置】dos.h 【說明】如果出錯,則dtable結(jié)構(gòu)中的df_sclus將設(shè)置為-1 【參見】getfat getdta 【功能】得到磁盤轉(zhuǎn)移地址。【原型】char far *getdta(void)【位置】dos.h 【說明】返回一個指針,指向當(dāng)前的磁盤轉(zhuǎn)移地址?!緟⒁姟縮truct,fcb,setdta getfat 【功能】得到指定驅(qū)動器的文件分配表信息。 【原型】void getfat(unsigned char driver,struct fatinfo *dtable)【位置】dos.h 【參見】getdfree,getfatd getfatd 【功能】得到文件分配表信息。 【原型】void getfatd(struct fatinfo *dtable)【位置】dos.h 【參見】getdfree,getfat getftime 【功能】得到文件的日期和時間。 【原型】int getftime(int handle,struct ftime *fftimep)【位置】dos.h 【說明】成功返回0,錯誤則返回-1,同時設(shè)置errno 【參見】setftime,open getpsp 【功能】得到程序分段的前綴。【原型】unsigned getsp(void)【位置】dos.h 【說明】適用于MS DOS 3.0或者更新的版本?!緟⒁姟縚psp,getenv gettime 【功能】得到系統(tǒng)時間。 【原型】void gettime(struct time *timep)【位置】dos.h 【參見】settime,getdate Turbo C函數(shù) getvect 【功能】得到中斷扇區(qū)。 【原型】void interrupt(*getvect(int intr_num))()【位置】dos.h 【說明】返回在intr_num中斷扇區(qū)中保存的一個4字節(jié)樹脂?!緟⒁姟縮etvect,disable,enable getverify 【功能】得到校驗狀態(tài)。 【原型】int getverify(void)【位置】dos.h 【說明】如果校驗標(biāo)志關(guān)閉則返回0,如果校驗標(biāo)志打開則返回1?!緟⒁姟縮etverify harderr 【功能】建立一個硬盤錯誤句柄。 【原型】void harderr(int(*(handler)))【位置】dos.h 【說明】當(dāng)MS DOS出現(xiàn)致命錯誤(int 0x24)時,掉用句柄指向的函數(shù)?!緟⒁姟縣ardresume.hardretn,longjmp hardresume 【功能】硬件錯誤句柄函數(shù)。 【原型】void hardresume(int axret)【位置】dos.h 【說明】harderr建立的錯誤句并可以將執(zhí)行控制權(quán)返回給通過這個函數(shù)發(fā)布致命錯誤的MS DOS程序。Axret中的數(shù)值返回給MS DOS(0表示忽略,1表示重試,2表示退出)【參見】hardretn hardretn 【功能】硬件錯誤句柄函數(shù)。 【原型】void hardretn(int retn)【位置】dos.h 【說明】調(diào)用該函數(shù)之后,harderr建立的錯誤句柄可以直接返回應(yīng)用程序。Retn中的數(shù)值返回到用戶程序中,覆蓋生成致命錯誤的MS DOS函數(shù)返回的正常值?!緟⒁姟縣ardresume inp 【功能】從硬件端口讀取一個字節(jié)?!竞暝汀縤nt inp(int portid)【位置】dos.h 【參見】inport,inporth inport 【功能】從硬件端口讀取一個詞?!驹汀縤nt inport(int portid)【位置】dos.h 【參見】inportb,outport inportb 【功能】從硬件端口讀取一個字節(jié)。 【原型】unsigned char inportb(int portid)【位置】dos.h Turbo C函數(shù) 【參見】inport,outportb int86 【功能】常用的8086軟件中斷。 【原型】int int86(int intno,union REGS *inregs,union REGS *outregs)【位置】dos.h 【說明】該函數(shù)將保存在inregs中的數(shù)值裝載到CPU寄存器中,發(fā)出中斷intno,然后在outregs中保存結(jié)果CPU寄存器?!緟⒁姟縤nt86x,intdos,intr int86x 【功能】常用的8086軟件中斷接口?!驹汀縤nt int86x(int intno,union REGS *inregs,union REGS *outregs,struct SREGS *segregs)【位置】dos.h 【說明】該函數(shù)將inregs和segregs中的數(shù)值裝載到CPU寄存器中,發(fā)布中斷intno,然后在outregs和segregs中保存最終的CPU寄存器數(shù)值?!緟⒁姟縤nt86,intdosx,intr intdos 【功能】常用的MS DOS中斷接口。 【原型】int intdos(union REGS *inregs,union REGS *outregs)【位置】dos.h 【說明】該函數(shù)將inregs中保存的數(shù)值裝載到CPU寄存器中,發(fā)布MS DOS中斷(int 33或者0x21),然后在outregs中保存最終的CPU寄存器樹脂?!緟⒁姟縤ndosx,int86,intr,bdos,bdosptr intdosx 【功能】常用的MS DOS中斷接口。 【原型】int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs)【位置】dos.h 【說明】intdosx將inregs和segregs中的數(shù)值裝載到CPU寄存器中,發(fā)布DOS中斷(int 0x21),然后在outregs/segregs中保存最終的CPU寄存器數(shù)值?!緟⒁姟縤ntdos,int86x,intr,bdos,bdosptr intr 【功能】轉(zhuǎn)換8086軟件中斷的借口。 【原型】void intr(int intno,struct REGPACK *preg)【位置】dos.h 【說明】該函數(shù)將preg中保存的數(shù)值裝載到CPU寄存器中,發(fā)布中斷intno,然后在preg中保存結(jié)果CPU寄存器的數(shù)值。 【參見】int86,int86x,intdos keep 【功能】程序退出運(yùn)行,但是繼續(xù)駐留內(nèi)存。 【原型】void keep(unsigned char status,unsigned size)【位置】dos.h 【說明】該函數(shù)沒有返回。它只是退到DOS狀態(tài),同時在status中保存返回值,但是程序仍然駐留在內(nèi)存中。程序在中斷運(yùn)行之前被設(shè)置成為size大小的段落,剩余的程序內(nèi)存則返回給DOS?!緟⒁姟緼BORT,EXIT,EXEC,SPAWN,SYSTEM MK_FP 【功能】創(chuàng)建一個遠(yuǎn)端指針。 【原型】void far *MK_FP(se,off) Turbo C函數(shù) 【位置】dos.h 【參見】movedata,segread nosound 【功能】關(guān)閉PC喇叭。 【原型】void nosound(void)【位置】dos.h 【參見】sound,delay outp 【功能】在硬件端口寫一個字節(jié)。 【宏原型】int outp(int portid,int byte_value)【位置】dos.h 【參見】outport,outportb outport 【功能】在硬件端口輸出一個詞。 【原型】void outport(int portid,int value)【位置】dos.h 【參見】inport,outportb outportb 【功能】在硬件端口輸出一個字節(jié)。 【原型】void outportb(int portid,unsigned char value)【位置】dos.h 【參見】inportb,outport parsfnm 【功能】解析文件名稱,然后創(chuàng)建文件控制塊(FCB)。 【原型】char *parsfnm(const char *cmdline,struct fcb *fcb,int option)【位置】dos.h 【說明】成功解析一個文件名稱之后,parsfnm返回一個指針,指向文件名稱末尾的下一個字節(jié)。如果在解析文件名稱時出現(xiàn)任何錯誤,則返回0。peek 【功能】返回由segment:offset指定內(nèi)存位置中的詞。【原型】int peek(unsigned segment,unsigned offset)【位置】dos.h 【參見】peekb,poke peekb 【功能】返回由segment:offset指定內(nèi)存位置中的字節(jié)?!驹汀縞har peekb(unsigned segment,unsigned offset)【位置】dos.h 【參見】peek,pokeb poke 【功能】在由segment:offset指定內(nèi)存位置中保存一個整數(shù)值?!驹汀縱oid poke(unsigned segment,unsigned offset,int value)【位置】dos.h 【參見】peek,pokeb pokeb 【功能】存值到一個指定存儲單元。 【原型】void pokeb(unsigned segment,unsigned offset,int value) Turbo C函數(shù) 【位置】dos.h 【參見】peek,poke randbrd 【功能】讀取隨即數(shù)據(jù)塊。 【原型】int randbrd(struct fcb *fcb,int rcnt)【位置】dos.h 【說明】根據(jù)randbrd操作的結(jié)果,將返回如下數(shù)值。0 讀入所有記錄。到達(dá)文件結(jié)尾,已經(jīng)讀入最后一條記錄。2 循環(huán)讀入記錄。到達(dá)文件結(jié)尾,最后一條記錄尚未讀入?!緟⒁姟縭andwr randbwr 【功能】使用文件控制塊(FCB)隨機(jī)寫入數(shù)據(jù)塊?!驹汀縤nt randbwr(struct fcb *fcb,int rcnt)【位置】dos.h 【說明】根據(jù)randbwr操作的結(jié)果,將返回如下數(shù)值。0 寫入所有記錄。沒有足夠的空間寫入。2 循環(huán)寫入?!緟⒁姟縭andbrd segread 【功能】讀入段寄存器。 【原型】void segread(struct SREGS *segp)【位置】dos.h 【參見】FP_OFF,intdosx,int86x setblock 【功能】改變原先分配的數(shù)據(jù)塊大小。 【原型】int setblock(unsigned segx,unsigned newsize)【位置】dos.h 【說明】對調(diào)用allocmem函數(shù)分配的數(shù)據(jù)塊使用。成功時返回-1。如果出現(xiàn)錯誤,則返回可能出現(xiàn)的最大數(shù)據(jù)塊的大小,并且設(shè)置_doserrno?!緟⒁姟縜llocmem,freemem setcbrk 【功能】設(shè)置控制中斷。 【原型】int setcbrk(int cbrkvalue)【位置】dos.h 【說明】如果cbrkvalue等于1,則每次系統(tǒng)調(diào)用都需要檢查Ctrl-Break。如果等于0,則只在控制臺、打印機(jī)和通信I/O調(diào)用地進(jìn)行檢查。返回值通過cbrkvalue傳遞。setdate 【功能】設(shè)置MS DOS日期。 【原型】void setdate(struct fate *date *datep)【位置】dos.h 【參見】settime,getdate setdta 【功能】設(shè)置磁盤轉(zhuǎn)換地址。 Turbo C函數(shù) 【原型】coid setdta(char far *dta)【位置】dos.h settime 【功能】設(shè)置系統(tǒng)時間。 【原型】void settime(struct time *timep)【位置】dos.h 【參見】getdate,gettime setvect 【功能】設(shè)置中斷扇區(qū)入口。 【原型】void setvect(int intreeuptno,void interrupt(*isr)())【位置】dos.h 【說明】isr指向出現(xiàn)中斷號碼為interuptno的中斷時調(diào)用的函數(shù)。如果isr為一個C函數(shù),就應(yīng)當(dāng)使用interrupt關(guān)鍵字進(jìn)行定義?!緟⒁姟縢etvect setverify 【功能】設(shè)置校驗狀態(tài)。 【原型】void setverify(int value)【位置】dos.h 【說明】如果value等于1,則每次磁盤寫操作之后都將進(jìn)行一次操作以便確保正確結(jié)果(0則表示不在隨后進(jìn)行讀操作)?!緟⒁姟縢etverify sleep 【功能】程序執(zhí)行掛起一段時間。 【原型】void sleep(unsigned seconds)【位置】dos.h 【參見】delay sound 【功能】將PC喇叭打開,并且設(shè)置到某個頻率?!驹汀縱oid sound(unsigned frequency)【位置】dos.h 【說明】頻率以赫茲為單位(每秒的圈數(shù))?!緟⒁姟縩osoubd,delay unixtodos 【功能】將UNIX格式的日期和時間轉(zhuǎn)換成DOS格式。 【原型】void unixtodos(long time,struct date *d,struct time *t)【位置】dos.h 【參見】dostounix unlink 【功能】刪除一個文件。 【原型】int unlink(const char *filename)【位置】dos.h,io.h,stdio.h 【說明】如果filename指定的文件屬性為只讀,澤unlink操作失敗。首先需要調(diào)用chmod函數(shù)改變文件屬性。成功返回0,錯誤返回-1?!緟⒁姟縞hmod,remove FLOAT.H _clear87 18 Turbo C函數(shù) 【功能】清除浮點狀態(tài)。 【原型】unsigned int _clear87(void)【位置】float.h 【說明】返回值的位表示舊的浮點狀態(tài)。有關(guān)狀態(tài)的詳細(xì)解釋,參見float.h文件中定義的常量。【參見】_fpreset,_status87 _control87 【功能】改變浮點控制詞。 【原型】unsigned int _control87(unsigned int new,unsigned int mask)【位置】float.h 【說明】如果mask中的某一位為1,則new中的相應(yīng)位保持控制詞中相同位的新數(shù)值。如果mask位0,則說明控制詞沒有改變。 【參見】_clear87,_fpreset,status87,CWDEFAULT _fpreset 【功能】重新初始化浮點數(shù)學(xué)包?!驹汀縱oid _fpreset(void)【位置】float.h 【說明】該函數(shù)必須與exec、spawn、system等函數(shù)聯(lián)合使用,因為子進(jìn)程可能改變父進(jìn)程的浮點狀態(tài)。_status87 【功能】得到浮點狀態(tài)。 【原型】unsigned int _status87(void)【位置】float.h 【說明】返回值的位說明了浮點狀態(tài)?!緟⒁姟縚clear87,_control87,_fpreset GRAPHICS.H bar 【功能】畫出一條欄目。 【原型】void far bar(int left,int top,int right,int bottom)【位置】graphics.hgraphics.h 【參見】bar3d,setfillstyle,rectangle bar3d 【功能】畫出一條3-D欄目。 【原型】void far bar3d(int left,int top,int right,int bottom,int depth,int topflag)【位置】graphics.h 【參見】bar circle 【功能】以(x,y)為圓心按照指定的半徑畫出一個圓?!驹汀縱oid far circle(int x,int y,int radius)【位置】graphics.h 【參見】arc cleardevice 【功能】清除圖形畫面。 【原型】void far cleardevice(void)【位置】graphics.h 【參見】clearviewport clearviewport Turbo C函數(shù) 【功能】清除當(dāng)前可視區(qū)域?!驹汀縞learviewport(void)【位置】graphics.h 【參見】setviewport,cleardevice closegraph 【功能】關(guān)閉圖形系統(tǒng)。 【原型】void far closegraph(void)【位置】graphics.h 【參見】initgraph detecgraph 【功能】通過檢查硬件確定使用的圖形驅(qū)動程序和模式。 【原型】void far detectgraph(int far *graphdriver,int far *graphmode)【位置】graphics.h 【參見】initgraph,graphresult drawpoly 【功能】畫出一個多邊形的輪廓。 【原型】void far drawpoly(int numpoints,int far polypoints[])【位置】graphics.h 【說明】polypoints中包括一共numpoints對數(shù)值。其中每一對都給出了多邊形中一個頂點的x和y值。 【參見】fillpoly ellipse 【功能】畫出一條橢圓形的圓弧。 【原型】void far ellipse(int x,int y,int stangle,int endangle,int xradius,int yradius)【位置】graphics.h 【說明】中心點在(x,y),stangle和endangle表示一角度為單位的起始角和終止角。Xradius和yradius表示水平軸和垂直軸?!緟⒁姟縜rc,circle,fillellipse fillellipose 【功能】畫出橢圓形圓弧,并填充。 【原型】void far fillllipse(int x,int y,int xradius,int yradius)【位置】graphics.h 【說明】使用(x,y)作為中心點,然后使用當(dāng)前的填充模式填充圓弧。Xradius和yradius表示水平軸和垂直軸。 【參見】arc,circle,ellipse,pieslice fillpoly 【功能】畫出一個多邊形,并填充。 【原型】void far fillpoly(int numpoints,int far polypoints[])【位置】graphics.h 【說明】polypoints中包含有numpoints對數(shù)值。其中每一對給出了多邊形一個頂點的x值和y值?!緟⒁姟縟rawpoly,fill_patterns,floodfill,graphresult,setfillstyle floodfill 【功能】填充一個有界區(qū)域范圍。 【原型】void far floodfill(int x,int y,int border)【位置】graphics.h 【參見】drawpoly,fillpoly,fill_patterns,graphresult,setfillstyle Turbo C函數(shù) getarccoords 【功能】得到最后一次調(diào)用arc的坐標(biāo)值。 【原型】void far getaerccoords(struct arccoordstype far *arccoords)【位置】graphics.h 【參見】arc getaspectratio 【功能】得到當(dāng)前圖形模式的縱橫比。 【原型】void far getaspectratio(int far *xasp,int far *yasp)【位置】graphics.h 【說明】are及類似函數(shù)使用縱橫比令圓圈更加圓,而不會像橢圓。Yasp應(yīng)當(dāng)為10000。當(dāng)象素為 【原型】int far getbkcolor(void)【位置】graphics.h 【參見】setbkcolor,getcolor,getpalette getcolor 【功能】返回當(dāng)前畫筆的顏色。【原型】int far getcolor(void)【位置】graphics.h 【參見】getbkcolor,setcolor,getmaxcolor,getpalette getdefaultpalette 【功能】返回調(diào)色板定義結(jié)構(gòu)。 【原型】struct palettetype *far getdefaultpalette(void)【位置】graphics.h 【說明】返回一個指針,指向調(diào)用initgraph初始化時,當(dāng)前驅(qū)動程序的默認(rèn)調(diào)色板結(jié)構(gòu)。【參見】getpalette,initgraph getdrivername 【功能】返回一個指針,指向當(dāng)前圖形驅(qū)動程序的名稱?!驹汀縞har *far getdrivername(void)【位置】graphics.h 【說明】返回的指針指向標(biāo)識當(dāng)前驅(qū)動器程序的字符串,從而可以探測到硬件適配器?!緟⒁姟縤nitgraph getfillpattern 【功能】將用戶定義的填充模式復(fù)制到內(nèi)存中。 【原型】void far getfillpattern(char far *pattern)【位置】graphics.h 【參見】getfillsettings,setfillpattern,fill_patterns getfillsettings 【功能】得到當(dāng)前填充模式及其顏色的有關(guān)信息。 【原型】void far getfillsettings(struct fillsettingstype far *fillinfo)【位置】graphics.h 【參見】floodfill, fillpoly, setfillstyple, pieslice, setfillpattern, bar3d, bar, getfillpattern getgraphmode Turbo C函數(shù) 【功能】返回當(dāng)前圖形模式。 【原型】int far getgraphmode(void)【位置】graphics.h 【說明】必須先調(diào)用initgraph或者setgraphmode。【參見】setmoderange,restorectrtmode getmage 【功能】將制定區(qū)域的位圖保存到內(nèi)存中。 【原型】void far getimage(int left,int top,int right,int bottom,void far *bitmap)【位置】graphics.h 【參見】imagesize,putimage getlinesettings 【功能】得到當(dāng)前的直線樣式、模式和粗細(xì)。 【原型】void far getlinesettings(struct linesettingstype far *lineinfo)【位置】graphics.h 【參見】setlinestyle getmaxcolor 【功能】返回最大顏色值。 【原型】int far getmaxcolor(void)【位置】graphics.h 【參見】getbcolor,getpalette,getcolor,setcolor getmaxmode 【功能】返回當(dāng)前驅(qū)動程序的最大圖形模式號?!驹汀縤nt far getmaxmode(void)【位置】graphics.h 【說明】getmaxmode可以得到當(dāng)前裝載的圖形驅(qū)動程序的最大模式號。適用于所有驅(qū)動程序—包括Borland驅(qū)動程序及其他驅(qū)動程序?!緟⒁姟縢etmoderange getmaxx 【功能】返回畫面坐標(biāo)的最大x值。【原型】int far getmaxx(void)【位置】graphics.h 【參見】getx getmaxy 【功能】返回畫面坐標(biāo)的最大y值?!驹汀縤nt far getmaxy(void)【位置】graphics.h 【參見】getx getmodename 【功能】返回指針,指向圖形模式的名稱。 【原型】char *far getmodename(int mode_number)【位置】graphics.h 【說明】返回的指針指向mode_number指定模式的名稱(字符串)?!緟⒁姟縢etmaxmode,getmoderange getmoderange 【功能】得到指定圖形驅(qū)動器的模式范圍。 【原型】void far getmoderange(int graphdriver,int far *lomode,int far *himode) Turbo C函數(shù) 【位置】graphics.h 【參見】initgraph,getmaxmode,setgraphmode,getgraphmode.getpalette 【功能】得到當(dāng)前調(diào)色板的有關(guān)信息。 【原型】void far getpalette(struct palettetype far *palette)【位置】graphics.h 【參見】setpalette,setallpalette,getbkcolor,getdefaultpalette,getcolor getpalettesize 【功能】返回調(diào)色板表的大小。 【原型】int far getpalettesize(void)【位置】graphics.h 【說明】getpalettesize返回當(dāng)前圖形驅(qū)動程序模式允許的調(diào)色板條目的數(shù)目?!緟⒁姟縮etpalette,setallpalette getpixel 【功能】得到某個指定向素的顏色。 【原型】unsigned far getpixel(int x,int y)【位置】graphics.h 【參見】putpixel,getimage gettextsettings 【功能】得到當(dāng)前圖形文字字體的有關(guān)信息。 【原型】void far gettextsettings(struct textsettingstype far *texttypeinfo)【位置】graphics.h 【參見】outtext, outtextxy, textheight, textwidth, settextjustify, settextsyle, registerbgifont getviewsettings 【功能】得到當(dāng)前視窗的有關(guān)信息。 【原型】void far getviewsettings(struct viewporttype far *viewport)【位置】graphics.h 【參見】setviewport,clearviewport getx 【功能】返回當(dāng)前位置的x坐標(biāo)?!驹汀縤nt far getx(void)【位置】graphics.h 【說明】返回數(shù)值與視窗相關(guān)。 【參見】gety,moveto,getviewsettings gety 【功能】返回當(dāng)前位置的y坐標(biāo)?!驹汀縤nt far gety(void)【位置】graphics.h 【說明】返回數(shù)值與視窗相關(guān)。 【參見】getx,moveto,getviewsettings graphdefaults 【功能】將所有圖形設(shè)置重值為默認(rèn)值?!驹汀縱oid far graphdefaults(void)【位置】graphics.h 【參見】initgraph,setgraphmode Turbo C函數(shù) grapherrormsg 【功能】返回一個指針,指向錯誤消息字符串?!驹汀縞har *far grapherrormsg(int errorcode)【位置】graphics.h 【說明】返回指針指向的字符串與graphresult返回值相關(guān)?!緟⒁姟縢raphresult _graphfreemem 【功能】用戶申請重新分配圖形內(nèi)存。 【原型】void far _graphfreemem(void far *ptr,unsigned size)【位置】graphics.h 【說明】圖形函數(shù)庫中的程序調(diào)用該函數(shù)來釋放內(nèi)存??梢宰约菏褂胈graphgetmem和_graphfreemem函數(shù)來控制內(nèi)存分配。【參見】_graphgetmem _gaphetmem 【功能】用戶申請重新分配圖形內(nèi)存。 【原型】void far *far _graphgetmem(unsigned size)【位置】graphics.h 【說明】圖形函數(shù)庫中的程序調(diào)用該函數(shù)來釋放內(nèi)存??梢宰约菏褂胈graphgetmem和_graphfreemem函數(shù)來控制內(nèi)存分配?!緟⒁姟縚graphfreemem graphresult 【功能】返回最后一次失敗圖形操作的錯誤代碼?!驹汀縤nt far graphresult(void)【位置】graphics.h 【說明】返回最后一次報告錯誤圖形的錯誤代碼,并且將錯誤等級重置為grOK。【參見】grapherrormsg imagesize 【功能】返回存儲位圖所需的字節(jié)數(shù)。 【原型】unsigned far imagesize(int left,int top,int right,int bottom)【位置】graphics.h 【說明】如果選定圖形所需的大小大于等于64k-1個字節(jié),則返回0xFFFF?!緟⒁姟縢etimage,putimage initgraph 【功能】初始化圖形系統(tǒng)。 【原型】void far initgraph(int far *graphdriver, int far *graphmode, char far *pathtodriver)【位置】graphics.h 【參見】getgraphmode , closegraph , detectgraph , _graphgetmem , getdrivername , restorecrtmode,setgraphbufsize,registerbgidriver,graphresult,installuserdriver installuserdriver 【功能】按照設(shè)備驅(qū)動程序。 【原型】int far installuserdriver(char far *name,int huge(*detect)(void))【位置】graphics.h 【說明】name表示設(shè)備驅(qū)動程序的文件名稱(*.bgi),detect指向initgraph使用autodetect選項調(diào)用的函數(shù)。 【參見】initgraph,registerbgidriver Turbo C函數(shù) installuserfont 【功能】裝載一個字體文件。 【原型】int far installuserfont(char far *name)【位置】graphics.h 【說明】name表示圖形函數(shù)還沒有識別的字體文件(擴(kuò)展名為.chr)DOS文件名稱。installuserfont返回一個字體ID號。選擇新字體時,使用該ID號調(diào)用settextstyle。【參見】settextstyle line 【功能】在兩個指定點之間畫出一條直線?!驹汀縧int(int x1,int y1,int x2,int y2)【位置】graphics.h 【說明】使用當(dāng)前顏色、線條樣式和線條粗細(xì)從(x1,y1)畫一條直線到(x2,y2)。【參見】lineto,linerel,setcolor,getlinesettings linerel 【功能】從當(dāng)前位置(CP)畫一條一直長度的直線?!驹汀縧inerel(int dx,int dy)【位置】graphics.h 【說明】使用當(dāng)前顏色、線條樣式和線條粗細(xì)。 【參見】line,lineto,setcolor,getcolor,getlinesettings lineto 【功能】從當(dāng)前位置(CP)到(x,y)之間畫一條直線?!驹汀縱oid far lineto(int x,int y)【位置】graphics.h 【參見】line,linerel,setcolor,getlinesettings,setwritemode moverel 【功能】從當(dāng)前位置(CP)移動一段距離?!驹汀縨overel(int dx,int dy)【位置】graphics.h 【參見】moveto moveto 【功能】從當(dāng)前位置(CP)移動到(x,y)點?!驹汀縱oid far moveto(int x,int y)【位置】graphics.h 【參見】moverel outtext 【功能】在視窗中(圖形模式)顯示一個字符串?!驹汀縱oid far outtext(char far *textstring)【位置】graphics.h 【參見】gettextsettings,texthright,textwidth,outtextxy outtextxy 【功能】在指定位置(圖形模式)發(fā)送一個字符串。 【原型】void far outtextxy(int x,int y,char far *textstring)【位置】graphics.h 【參見】gettextsettings,textherght,textwidth,outtext pieslice 【功能】畫出扇形區(qū)并加以填充。 Turbo C函數(shù) 【原型】void far pieslice(int x,int y,int stangle,int endangle,int radius)【位置】graphics.h 【參見】setfillstyle,sector,fill_patterns,fillellipse,graphresult putimage 【功能】在屏幕上輸出一副位圖。 【原型】void far putimage(int left,int top,void far *bitmap,int top)【位置】graphics.h 【說明】bitmap指向一副位圖,該位圖通常由getimage函數(shù)創(chuàng)建。Op的數(shù)值說明如何在(left,top)點將圖像與區(qū)域中的當(dāng)前內(nèi)容結(jié)合起來?!緟⒁姟縢etimage putpixel 【功能】在指定點上畫一個像素。 【原型】void far putpixel(int x,int y,int pixelcolor)【位置】graphics.h 【參見】getpixel,putimage rectangle 【功能】畫出一個矩形(圖形模式)。 【原型】void far rectangle(int left,int top,int right,int bottom)【位置】graphics.h 【說明】使用當(dāng)前線條樣式、線條粗細(xì)和顏色?!緟⒁姟縝ar,setlinestyle,setcolor registerbgidriver 【功能】注冊鏈入的圖形驅(qū)動程序。 【原型】int registerbgidriver(void(*driver)(void))【位置】graphics.h 【說明】通知圖形系統(tǒng)鏈接時設(shè)備驅(qū)動程序指向的參數(shù)和驅(qū)動程序?!緟⒁姟縤nitgraph,registerbgifont,installuserdriver registerbgifont 【功能】注冊鏈入的字體代碼。 【原型】int registerbgifont(void(*font)(void))【位置】graphics.h 【說明】通知圖形系統(tǒng)連接時指向的字體?!緟⒁姟縤nitgraph,registerbgidriver restorecrtmode 【功能】將屏幕模式恢復(fù)到前一次initgraph的設(shè)置?!驹汀縱oid far restorecrtmode(void)【位置】graphics.h 【參見】initgraph,setgraphmode sector 【功能】畫出橢圓形的扇形區(qū)并加以填充。 【原型】void far sector(int x,int y,int stangle,int endangle,int xradius,int yradius)【位置】graphics.h 【說明】x和y定義出中心點,stangle和endangle則定義起始和終止角。Xradius和yradius表示水平和垂直半徑。 【參見】pieslice,setfillstyle setactivepage 26 Turbo C函數(shù) 【功能】為圖形輸出設(shè)置活動頁面。 【原型】void far setactivepage(int page)【位置】graphics.h 【說明】后續(xù)的圖形輸出就指向該顯示頁面。該頁面可能不是實際顯示的可視頁面?!緟⒁姟縮etvisualpage setallpalette 【功能】將所有調(diào)色板的顏色改為指定顏色。 【原型】void far setallpalette(struct palettetype far *palette)【位置】graphics.h 【參見】setpalette,getpalettesize,getpalette,setcolor,setbkcolor,graphresult setaspectratio 【功能】設(shè)置圖形模式的縱橫比。【原型】void far setaspectratio 【位置】graphics.h 【說明】are及類似函數(shù)使用縱橫比令圓圈更加圓,而不會像橢圓。yasp應(yīng)當(dāng)為10000。當(dāng)象素為 【參見】setpalette,setcolor,getbkcolor setcolor 【功能】設(shè)置當(dāng)前畫筆顏色。 【原型】void far setcolor(int color)【位置】graphics.h 【參見】getcolor,setbkcolor,setpalette,graphresult setfillpattern 【功能】選擇一個用戶自定義的填充模式。 【原型】void far setfillpattern(char far *upattern,int color)【位置】graphics.h 【說明】upattern指向一個8字節(jié)的區(qū)域,其中定義了一個8*8位的模式?!緟⒁姟縡ill_patterns,getfillpattern,getfillsettings,setfillstyle setfillstyle 【功能】設(shè)置填充模式和顏色。 【原型】void far setfillstype(int pattern,int color)【位置】dos.h 【參見】get,fillstype setgraphbufsize 【功能】改變內(nèi)部圖形緩沖區(qū)的大小。 【原型】unsigned far setgraphbufsize(unsigned bufsize)【位置】graphics.h 【說明】必須在調(diào)用initgraph之前調(diào)用該函數(shù)?!緟⒁姟縤nitgraph,_graphgetmem setgraphmode 【功能】系統(tǒng)設(shè)置為圖形模式,同時清屏。 Turbo C函數(shù) 【原型】void far setgraphmode(int mode)【位置】graphics.h 【參見】initgraph,getgraphmode,restorecrtmode,graphresult setlinestyle 【功能】設(shè)置當(dāng)前的線條樣式、寬度或者模式。 【原型】void far setlinestyle(int linestyle,unsigned upattern,int thickness)【位置】graphics.h 【說明】可以設(shè)置使用line,lineto,tectangle,drawpoly,aec,circle,ellipse,pieslice等函數(shù)畫的所有線條樣式。 【參見】getlinesettings,graphresult setpalette 【功能】改變一種調(diào)色板顏色。 【原型】void far setpalette(int colornum,int color)【位置】graphics.h 【參見】getpalette, graphresult, setallpalette, getpalettesize, setcolor, setrgbcolor, setbkcolor setrgbcolor 【功能】為VGA和IBM-8514驅(qū)動程序設(shè)置調(diào)色板條目。 【原型】void far setrgbcolor(int colornum,int red,int green,int blue)【位置】graphics.h 【說明】colornum表示需要設(shè)置的調(diào)色板條目,red、green和blue用來定義顏色?!緟⒁姟縮etpalette,setrgbpalette setrgbpalette 【功能】為IBM-8514圖形卡定義顏色 【原型】void far setrgbpalette(int colornum,int red,int green,int blue)【位置】graphics.h 【說明】colornum表示需要載入的調(diào)色板條目,從0~255之間的數(shù)字,red、green和blue負(fù)責(zé)定義顏色。這些數(shù)值僅僅使用低位字節(jié),而且只有最重要的6位載入調(diào)色板?!緟⒁姟縮etrgbcolor,setpalette settextjustify 【功能】設(shè)置圖形模式下的文本對齊方式。 【原型】void far settextjustify(int horiz,int vert)【位置】graphics.h 【說明】該函數(shù)影響outtext等函數(shù)輸出的文本,是文本在水平和垂直方向?qū)R。settextstyle 【功能】設(shè)置當(dāng)前文本屬性。 【原型】void far settextstyle(int font,int direction,int charsize)【位置】graphics.h 【參見】settextjustify,installuserfont,gettextsettings,graphresult setusercharsize 【功能】用戶為漸入字符自定義的字符放大因子。 【原型】void far setuserchasize(int multix,int divx,int multy,int divy)【位置】graphics.h 【參見】gettextsettings,graphresult setviewport 【功能】設(shè)置圖形輸出的當(dāng)前視口。 Turbo C函數(shù) 【原型】void far setviewport(int left,int top,int right,int bottom,int clip)【位置】graphics.h 【參見】getviewsettings,graphresult setvisualpage 【功能】設(shè)置可視圖形頁碼。 【原型】void far setvisualpage(int page)【位置】graphics.h 【說明】有些顯示適配器存在多個內(nèi)存頁面,可視頁面是真正在屏幕上顯示的頁面。圖形輸出函數(shù)將輸出寫入由setactivepage定義的活動頁面中?!緟⒁姟縮etactivepage,graphresult setwritemode 【功能】設(shè)置圖形畫線模式。 【原型】void far setwritemode(int mode)【位置】graphics.h 【說明】如果mode為0,則線條覆蓋屏幕上當(dāng)前的內(nèi)容。如果mode為1,那么線條向素和已經(jīng)在屏幕上的象素之間執(zhí)行一個異域操作(XOR)?!緟⒁姟縧ingto textheight 【功能】以象素位單位,返回一個字符串的高度?!驹汀縤nt far textheight(char far *textstring)【位置】graphics.h 【說明】textwidth與圖形函數(shù)一起使用,例如outtext 【參見】gettextsettings,textwidth,outtext textwidth 【功能】以象素位單位,返回一個字符串的寬度。【原型】int far textwidth(char far *textstring)【位置】graphics.h 【說明】textwidth與圖形函數(shù)一起使用,例如outtext 【參見】gettextsettings,textheight,outtext IO.H access 【功能】 確定文件是否可以訪問。 【原型】int access(const char *filename,int amode)【位置】io.h 【說明】amode=0檢查文件是否存在 amode=2檢查文件是否有寫權(quán)限 如果允許執(zhí)行請求的訪問,則返回0;否則返回數(shù)值-1,并且設(shè)置errno _chmod 【功能】改變訪問模式。 【原型】int _chmod(const char *filename,int func[,int attrib])【位置】io.h 【說明】如果func等于0,則_chmod返回文件屬性;如果func等于1,則設(shè)置屬性。成功完成之后,_chmod返回文件屬性;否則返回數(shù)值-1,并設(shè)置errno 【參見】chmod chomd 【功能】改變訪問模式。 Turbo C函數(shù) 【原型】int chmod(const char *filename,int amode)【位置】io.h 【說明】成功改變文件訪問模式之后,chmode返回0;否則chmode返回數(shù)值-1 【參見】_chmod chsize 【功能】改變文件大小。 【原型】int chsize(int handle,long size)【位置】io.h 【說明】成功則chsize返回0,失敗則返回-1,同時設(shè)置errno 【參見】cheat fopen _close 【功能】關(guān)閉文件句柄。 【原型】int _close(int handle)【位置】io.h 【說明】成功完成之后,close返回0;否則返回-1,同時設(shè)置errno 【參見】close close 【功能】關(guān)閉文件句柄。 【原型】int close(int handle)【位置】io.h 【說明】成功完成之后,close返回0;否則返回-1,同時設(shè)置errno 【參見】_close _creat 【功能】創(chuàng)建一個新文件,或者覆蓋一個舊文件?!驹汀縤nt _creat(const char *path,int attrib)【位置】io.h 【說明】creat按照_fmode規(guī)定的模式打開文件。_creat則總是按照二進(jìn)制模式打開文件。成功完成之后,返回新文件句柄;否則返回-1,同時設(shè)置errno 【參見】creat creat 【功能】創(chuàng)建一個新文件,或者覆蓋一個舊文件。【原型】int creat(const char *path,int attrib)【位置】io.h 【說明】creat按照_fmode規(guī)定的模式打開文件。_creat則總是按照二進(jìn)制模式打開文件。成功完成之后,返回新文件句柄;否則返回-1,同時設(shè)置errno 【參見】_creat creatnew 【功能】創(chuàng)建一個新文件。 【原型】int creatnew(const char *path,int attrib)【位置】io.h 【說明】creatnew與_creat的功能基本一致,但是當(dāng)文件已經(jīng)存在時,creatnew將返回一個錯誤。該函數(shù)使用于MS DOS 3.0或者更新的版本 creattemp 【功能】在文件名指定的目錄中創(chuàng)建一個文件。 【原型】int creattemp(const char *path,int attrib)【位置】io.h Turbo C函數(shù) 【說明】該函數(shù)與_creat類似,但是文件名稱為路徑名稱,必須以結(jié)束。文件名稱中應(yīng)當(dāng)包括完整的文件名。該函數(shù)使用于MS DOS 3.0或者更新的版本 【參見】creat,_creat dup 【功能】復(fù)制一個文件句柄。【原型】int dup(int handle)【位置】io.h 【說明】成功完成之后,dup返回一個新文件的句柄;否則dup返回-1,同時設(shè)置errno 【參見】dup2 dup2 【功能】復(fù)制一個文件句柄oldhandle,新文件句柄為newhandle?!驹汀縤nt dup2(int oldhandle,int newhandle)【位置】io.h 【說明】成功返回0,錯誤返回-1 【參見】dup eof 【功能】檢查文件結(jié)尾標(biāo)志。【原型】int eof(int handle)【位置】io.h 【說明】該函數(shù)的返回值及其含義如下: 返回值 含義 1 文件結(jié)束 0 文件沒有結(jié)束-1 出錯,設(shè)置errno 【參見】ferror,perror,EOF filelength 【功能】得到文件大小的字節(jié)數(shù)。 【原型】long filelength(int handle)【位置】io.h 【說明】出現(xiàn)錯誤時返回-1,同時設(shè)置errno 【參見】open,lseek gettime 【功能】得到文件的日期和時間。 【原型】int gettime(int handle,struct ftime *fftimep)【位置】io.h 【說明】成功返回0,錯誤則返回-1,同時設(shè)置errno 【參見】setftime,open loctl 【功能】控制I/O設(shè)備。 【原型】int ioctl(int handle,int func[,void *argdx,int argcx])【位置】io.h 【說明】func為0或者1時,返回值表示設(shè)備信息(IOCTL調(diào)用DX)。Func數(shù)值從2到5時,返回值為實際傳遞的字節(jié)數(shù)。Func數(shù)值為6或者7時,返回值為設(shè)備狀態(tài)。 在任何情況下如果出現(xiàn)錯誤,則返回數(shù)值-1,同時設(shè)置errno。isatty Turbo C函數(shù) 【功能】檢查設(shè)備類型。 【原型】int isatty(int handle)【位置】io.h 【說明】如果為字符設(shè)備,則isatty返回一個非0整數(shù)。lock 【功能】設(shè)置文件共享鎖定,控制并發(fā)的文件訪問。 【原型】int lock(int handle,long offset,long length)【位置】io.h 【說明】防止另一個程序讀寫訪問從offset地址開始length個字節(jié)長的區(qū)域。調(diào)用成功返回0,調(diào)用失敗返回-1。【參見】open,unlock lseek 【功能】移動讀/寫文件指針。 【原型】long lseek(int handle,long offset,int fromwhere)【位置】io.h 【說明】返回從文件起始位置開始新的文件位置,以字節(jié)為單位。錯誤返回01L,同時設(shè)置errno?!緟⒁姟縡open,fseek,ftell,gets,setbuf,ungetc _open 【功能】打開文件進(jìn)行讀寫。 【原型】int _open(const char *filename,int oflags)【位置】io.h 【說明】成功完成之后,_open返回一個文件句柄,否則返回-1?!緟⒁姟縪pen open 【功能】打開一個文件進(jìn)行讀寫。 【原型】int open(const char *pathname,int access[,unsigned mode])【位置】io.h 【說明】成功完成之后,open返回一個文件句柄,否則返回-1,同時設(shè)置errno。【參見】close,creat,_creat,dup,fopen,lseek,_open,read,sopen,write _read 【功能】從文件中讀取。 【原型】int _read(int handle,void *buf,unsigned len)【位置】io.h 【說明】返回讀入的字節(jié)數(shù),遇到文件結(jié)尾返回0,出現(xiàn)錯誤時返回-1,同時設(shè)置errno?!緟⒁姟縭ead,_open,_write read 【功能】從文件中讀取。 【原型】int read(int handle,void *buf,unsigned len)【位置】io.h 【說明】成功完成之后,返回一個整數(shù)說明緩存區(qū)中放置的字節(jié)數(shù),如果文件在文本模式下打開,read不會計算返回讀取字節(jié)數(shù)中的carriage或者Ctrl+Z字符。出現(xiàn)錯誤時返回-1,同時設(shè)置errno?!緟⒁姟縚read,open,write setftime 【功能】獲得文件的日期和時間。 【原型】int settime(int handle,struct ftime *ftimep)【位置】io.h Turbo C函數(shù) 【說明】成功返回0,否則返回-1。【參見】gettime setmode 【功能】設(shè)置一個打開文件的模式。 【原型】int setmode(int handle,int amode)【位置】io.h 【說明】成功返回0,否則返回-1。【參見】open,creat sopen 【宏原型】sopen(path,access,shflag,mode)【位置】io.h 【說明】在共享模式下打開文件??梢杂谂f版本的Turbo C和其他編譯程序兼容?!緟⒁姟縪pen tell 【功能】得到文件指針的當(dāng)前位置?!驹汀縧ong tell(int handle)【位置】io.h 【說明】返回當(dāng)前文件指針的位置,出錯則返回-1?!緟⒁姟縡seek unlink 【功能】刪除一個文件。 【原型】int unlink(const char *filename)【位置】io.h 【說明】如果filename指定的文件屬性為只讀,則unlink操作失敗。首先需要調(diào)用chmod函數(shù)改變文件屬性。 成功返回0,錯誤返回-1?!緟⒁姟縞hmod,remove unlock 【功能】釋放文件共享的鎖定,控制并發(fā)訪問。 【原型】int unlock(int handle,long offset,long length)【位置】io.h 【說明】成功返回0,錯誤返回-1?!緟⒁姟縧ock _write 【功能】寫入一個文件。 【原型】int _weite(int handle,void *buf,unsigned nbyte)【位置】io.h 【說明】返回寫入的字節(jié)數(shù)目,出現(xiàn)錯誤則返回-1?!緟⒁姟縲rite write 【功能】寫入一個文件。 【原型】int weite(int handle,void *buf,unsigned nbyte)【位置】io.h 【說明】返回寫入的字節(jié)數(shù)目,出現(xiàn)錯誤則返回-1?!緟⒁姟縞reat,open,read,_write,lseek MATH.H Turbo C函數(shù) abs 【功能】得到一個整數(shù)的絕對值,abs(x)中的x表示一個int值?!驹汀縤nt abs(int x)【位置】math.h,stdlib.h acos 【功能】反余弦函數(shù)。 【原型】double acos(double x)【位置】math.h,stdlib.h 【說明】返回值從0到π。【參見】trig,hyperb asin 【功能】反正弦函數(shù)。 【原型】double asin(double x)【位置】math.h 【說明】返回值范圍從-π/2到π/2 【參見】trig,hyperb stan 【功能】反正切函數(shù)。 【原型】double atan(double x)【位置】math.h 【說明】返回值范圍從-π/2到π/2 【參見】trig,hyperb atan2 【功能】y/x的反正弦函數(shù)。 【原型】double atan2(double y,double x)【位置】math.h 【說明】返回值范圍從-π到π 【參見】trig,hyperb atof 【功能】將一個字符串轉(zhuǎn)換成浮點數(shù)?!驹汀縟ouble atof(const char *s)【位置】math.h 【說明】返回s經(jīng)過轉(zhuǎn)換之后的值,如果s不能轉(zhuǎn)換則返回0?!緟⒁姟縜toi,atol,ecvt,sscanf,strtod cabs 【功能】得到一個復(fù)數(shù)的絕對值。 【原型】double cabs(struct complex znum)【位置】math.h 【說明】以雙精度返回znum的絕對值。【參見】abs,fabs,labs ceil 【功能】向上取整函數(shù)。 【原型】double ceil(double x)【位置】math.h 【說明】返回一個大于等于x的最小整數(shù)?!緟⒁姟縡loor 34 Turbo C函數(shù) cos 【功能】余弦函數(shù)。 【原型】double cos(double x)【位置】math.h 【說明】x表示弧度,返回值范圍從-1到1?!緟⒁姟縯rig,hyperb cosh 【功能】雙曲余弦函數(shù)。 【原型】double cosh(double x)【位置】math.h 【參見】hyperb,trig exp 【功能】計算e的x次方。【原型】double exp(double x)【位置】math.h 【參見】frexp,ldexp,log,pow fabs 【功能】得到一個浮點數(shù)的絕對值?!驹汀縟ouble fabs(double x)【位置】math.h 【參見】abs,cabs,labs floor 【功能】向下取整函數(shù)。 【原型】double floor(double x)【位置】math.h 【說明】返回小于或等于x的最大整數(shù)。【參見】ceil fmod 【功能】計算x/y的余數(shù),也就是x對y求模?!驹汀縟ouble fmod(double x,double y)【位置】math.h 【參見】modf frexp 【功能】將一個雙精度數(shù)分解成為尾數(shù)和指數(shù)。 【原型】double frexp(double value,int *exponent)【位置】math.h 【說明】計算出x(x<1)和n,并且value=x*(2**n)。返回尾數(shù)x,并且令*exponent指向n?!緟⒁姟縠xp hypot 【功能】計算直角三角形的斜邊。 【原型】double hypot(double x,double y)【位置】math.h labs 【功能】長整數(shù)的絕對值?!驹汀縧ong labs(long x)【位置】math.h,stdlib.h Turbo C函數(shù) 【參見】abs,cabs ldexp 【功能】計算value乘以2為底的exp次冪得到的數(shù)值?!驹汀縟ouble ldexp(double calue,int exp)【位置】math.h 【說明】返回值x=value*pow(2,exp)【參見】exp,frexp log 【功能】對數(shù)函數(shù)ln(x) 【原型】double log(double x)【位置】math.h 【參見】exp log10 【功能】對數(shù)函數(shù)log(10x) 【原型】double log10(double x)【位置】math.h 【參見】exp matherr 【功能】用戶可修改的數(shù)學(xué)錯誤處理程序?!驹汀縤nt matherr(struct exception *e)【位置】math.h 【說明】可以運(yùn)用自己的matherr函數(shù)控制由math函數(shù)庫探測器的錯誤句柄。 Matherr應(yīng)當(dāng)返回一個非0值來說明可以解決問題,否則返回0。也可以更改返回值e,通過初始化調(diào)用方的接口返回。modf 【功能】將數(shù)字分離成為整數(shù)部分和分?jǐn)?shù)部分?!驹汀縟ouble modf(double x,double *ipart)【位置】math.h 【說明】將參數(shù)值分解成兩部分:整數(shù)部分和分?jǐn)?shù)部分。將整數(shù)部分保存在*ipart中,返回分?jǐn)?shù)部分。poly 【功能】根據(jù)參數(shù)生成一個多項式。 【原型】double poly(double x,int degree,double coeffs[])【位置】math.h 【說明】在x中返回一個多項式的數(shù)值,次數(shù)為n,系數(shù)為coeffs[0],…coeffs[n]?!緟⒁姟?pow 【功能】冪函數(shù),x的y次冪。 【原型】double pow(double x,double y)【位置】math.h pow10 【功能】冪函數(shù),10的p次冪?!驹汀縟ouble pow10(int p)【位置】math.h sin 【功能】正弦函數(shù)。 Turbo C函數(shù) 【原型】double sin(double x)【位置】math.hmath.h 【說明】x表示弧度,返回值范圍為-1到1?!緟⒁姟縯rig sinh 【功能】雙曲正弦函數(shù)。 【原型】double sinh(double x)【位置】math.h 【參見】hyperb,trig sqrt 【功能】計算平方根。 【原型】double sqrt(double x)【位置】math.h 【說明】返回x的平方根。tan 【功能】正切函數(shù)。 【原型】double tan(double x)【位置】math.h 【說明】x表示弧度,返回x的正切值。【參見】trig,hyperb tanh 【功能】雙曲正切函數(shù)。 【原型】double tanh(double x)【位置】math.h 【說明】返回x的雙曲正切值?!緟⒁姟縯yperb,trig MEM.H memccpy 【功能】從scr位置拷貝n個字節(jié)到dest位置。 【原型】*memccpy(void *dest,const void *src,int c,size_t n)【位置】mem.h,string.h 【說明】該函數(shù)拷貝一個與c匹配的字節(jié)之后將停止操作,返回一個指針,指向dest位置上c之后的字節(jié);否則將返回NULL。memchr 【功能】在數(shù)組s的前n個字節(jié)中查找字符c。 【原型】void *memchr(const void *s,int c,size_t n)【位置】mem.h,string.h 【說明】返回一個指針,指向s中出現(xiàn)的第一個c。如果在數(shù)組s中沒有出現(xiàn)c,則返回NULL。memcmp 【功能】比較兩個長度均為n的字符串s1和s2。 【原型】int memcmp(const void *s1,const void *s2,size_t n)【位置】mem.h,string.h 【說明】如果s1小于s2,返回一個小于0的數(shù)值,如果s1等于s2則返回一個0值,如果s1大于s2則返回一個大于0的數(shù)值。memcpy 【功能】從src位置拷貝n個字節(jié)到dest位置。 Turbo C函數(shù) 【原型】*memcpy(void *dest,const void *src,size_t n)【位置】mem.h,string.h 【說明】返回dest。memicmp 【功能】比較s1和s2的前n個字節(jié),忽略大小寫差異。 【原型】int memicmp(const void *s1,const void *s2,size_t n)【位置】mem.h,string.h 【說明】如果s1小于s2,返回一個小于0的數(shù)值,如果s1等于s2則返回一個0值,如果s1大于s2則返回一個大于0的數(shù)值。memmove 【功能】從src拷貝n個字節(jié)到dest。 【原型】*memmove(void *dest,const void *src,size_t n)【位置】mem.h,string.h 【說明】返回s。memset 【功能】將s中的n個字節(jié)設(shè)置為c。 【原型】void *memset(void *s,int c,size_t n)【位置】mem.h,string.h 【說明】返回s。movedata 【功能】拷貝字節(jié)。 【原型】void movedata(unsigned srcset,unsigned crcoff,unsigned destseg,unsigned destoff,size_t n) 【位置】mem.h,string.h 【說明】從sreseg:srcoff拷貝n個字節(jié)到destseg:destseg:destoff?!緟⒁姟縁P_OFF,memcpy,segread movmem 【功能】從src移動一定長度的字節(jié)到dest。 【原型】void movmem(void *src,void *dest,unsigned length)【位置】mem.h vsetmem 【功能】將某個內(nèi)存范圍設(shè)置為value。 【原型】void setmem(void *dest,int len,char value)【位置】mem.h,string.h 【參見】memset,strest PROCESS.H abort 【功能】異常終止某個進(jìn)程。【原型】void abort(void)【位置】stdlib.h 【參見】atexit,assert,exit exec 【功能】載入并運(yùn)行另外一個程序。 【原型】int execl(char *path,char *arg0,…,NULL) int execle(char *path,char *arg0,…,NULL,char **envp) int execlp(char *path,char *arg0,…) Turbo C函數(shù) int execlep(char *path,char *arg0,…,NULL,char **envp) int execv(char *path,char *argv[]) int execve(char *path,char *argv[],char **envp) int execvp(char *path,char *argv[]) int execvp(char *path,char *argv[],char **envp)【位置】process.h 【說明】如果成功則exec函數(shù)不返回任何值。如果出現(xiàn)錯誤則exec函數(shù)返回-1,并且設(shè)置errno 【參見】spawn,searchpath,system exit 【功能】終止程序 【原型】void exit(int status)【位置】stdlib.h,process.h 【說明】終止程序之前,清空輸出緩存,關(guān)閉文件,并且退出調(diào)用的函數(shù) 【參見】abort,atexit,_exit spawn 【功能】spawn函數(shù)允許程序運(yùn)行其他文件,并且在文件運(yùn)行結(jié)束之后返回控制權(quán)。成功執(zhí)行之后,返回子進(jìn)程的退出狀態(tài)(0 表示正常終止)。如果某次子調(diào)用使用非0參數(shù)退出,則退出狀態(tài)設(shè)置為一個非0值。 如果進(jìn)程沒有成功執(zhí)行,則spawn函數(shù)將返回-1。 在使用如下這些spawn函數(shù)之前,首先需要了解將會出現(xiàn)多少個不同的參數(shù)?!驹汀縤nt spawnl(int mode,char *path,char *arg0,…,NULL) int spawnle(int mode,char *path,char *arg0,…,NULL ,char **env) int spawnlp(int mode,char *path,char *arg0,…,NULL) int spawnlpe(int mode,char *path,char *arg0,…,NULL ,char **env) int spawnv(int mode,char *path,char *arg[]) int spawnve(int mode,char *path,char *arg[],char **env) int spawnvp(int mode,char *path,char *arg[]) int spawnvpe(int mode,char *path,char *arg[],char **env)【位置】process.h 【說明】每個spawn函數(shù)的結(jié)尾字母表明其使用哪一種變形。P 在DOS路徑中查找子進(jìn)程。L 傳遞固定長度的參數(shù)列表。V 傳遞可改變長度的參數(shù)列表。 E 傳遞一個env指針,允許改變子進(jìn)程的環(huán)境?!緟⒁姟縜bort,atexit,exit,exec.system system 【功能】執(zhí)行一個MS DOS 命令。 【原型】int system(const char *command)【位置】process.h,stdlib.h 【說明】command可以執(zhí)行一條內(nèi)部DOS命令,例如DIR、一個.COM或者.EXE程序文件,或者一個.BAT批處理文件。成功返回0,失敗返回-1 【參見】searchpath SETJMP.H longjmp 【功能】執(zhí)行非本地的跳轉(zhuǎn)。 【原型】void longjmp(jmp_buf jmpb,int retval) Turbo C函數(shù) 【位置】setjmp.h 【說明】將控制權(quán)傳遞給調(diào)用setjmp(初始化jmpb)的語句。該點將繼續(xù)向下執(zhí)行,假設(shè)setjmp返回在retval中定義的數(shù)值。longjmp不能返回數(shù)值0,如果在retval中返回0,則longjmp將返回1 【參見】ctrlbrk,signal setjmp 【功能】設(shè)置非本地跳轉(zhuǎn)。 【原型】int setjmp(jmp_buf jmpb)【位置】setjmp.h 【說明】保存類似寄存器數(shù)值的相關(guān)信息,以便于longjmp函數(shù)可以將控制權(quán)返回給調(diào)用setjmp之后的語句。首次調(diào)用時返回0 【參見】longjmp SIGNAL.H raise 【功能】向執(zhí)行程序發(fā)送一個信號?!驹汀縤nt raise(int sig)【位置】signal.h 【說明】程序可以使用raise給自己發(fā)送信號,執(zhí)行由該信號類型設(shè)置的句并(或者默認(rèn)句柄)。Sig的信號類型在signal.h中定義?!緟⒁姟縮ignal signal 【功能】設(shè)置某個信號的句柄。 【原型】typedef void(*sigfun)(int subcode)int signal(int sig,sigfun fname)【位置】signal.h 【說明】當(dāng)產(chǎn)生sig類型的信號時,調(diào)用fname指向的函數(shù)。信號類型在signal.h中定義。當(dāng)出現(xiàn)例外條件,或者調(diào)用raise時才會產(chǎn)生信號。【參見】raise STDIO.H clearerr 【功能】重設(shè)錯誤標(biāo)識。 【原型】void clearerr(FILE *fp)【位置】stdio.h 【說明】重設(shè)流fp中的錯誤標(biāo)識和文件結(jié)尾標(biāo)識。【參見】eof,ferror,feof,perror fclose 【功能】關(guān)閉流。 【原型】int fclose(FILE *fp)【位置】stdio.h 【說明】成功返回0,如果出現(xiàn)任何錯誤則返回EOF?!緟⒁姟縡flush,fcloseall,fopen,flushall,close fcloseall 【功能】關(guān)閉所有打開的流?!驹汀縤nt fcloseall(void)【位置】stdio.h 【說明】返回關(guān)閉的總數(shù)目,如果出現(xiàn)任何錯誤則返回EOF。 Turbo C函數(shù) 【參見】fclose,flushall fdopen 【功能】將某個流和某個文件句柄相關(guān)聯(lián)。 【原型】FILE *fdopen(int handle,char *type)【位置】stdio.h 【說明】返回一個指針,指向最近打開的流,如果出現(xiàn)任何錯誤則返回NULL。【參見】fopen,open feof(f)【功能】如果流f出現(xiàn)錯誤則返回非0值?!驹汀縤nt feof(FILE *stream)【位置】stdio.h 【參見】clearerr,eof ferror(f)【功能】如果流f出現(xiàn)錯誤則返回非0值。【原型】int ferror(FILE *stream)【位置】stdio.h 【參見】clearerr,fopen,eof fflush 【功能】清空某個流。 【原型】int fflush(FILE *fp)【位置】stdio.h 【說明】如果出現(xiàn)任何錯誤則返回EOF?!緟⒁姟縡lushall,fclose fgetc 【功能】從流中得到字符。【原型】int fgetc(FILE *fp)【位置】stdio.h 【說明】該函數(shù)是宏getc的函數(shù)版本。【參見】fgetchar,fputc fgetchar 【功能】從stdin中得到一個字符?!驹汀縤nt fgetchar(void)【位置】stdio.h 【說明】函數(shù)是宏getchar的函數(shù)版本。fgetpos 【功能】得到文件指針的當(dāng)前位置。 【原型】int fgetpos(FILE *fp,fpos_t *pos)【位置】stdio.h 【說明】*pos中保存的位置可以傳遞給fsetpos,從而設(shè)置文件指針。成功返回0,否則返回一個非0值。 【參見】fseek,fsetpos,ftell,tell fgets 【功能】從流中得到一個字符串。 【原型】char *fgets(char *s,int n,FILE *fp)【位置】stdio.h 【說明】成功則返回目的字符串s,錯誤或者遇到文件結(jié)尾則返回NULL。 Turbo C函數(shù) 【參見】fputs,gets fileno(f)【功能】返回與流f相關(guān)聯(lián)的文件句柄?!竞暝汀縤nt fileno(FILE *stream)【位置】stdio.h flushall 【功能】清空所有打開的流?!驹汀縡lushall(void)【位置】stdio.h 【說明】清空輸入流的緩存區(qū)和輸出流文件的輸出緩存。返回一個整數(shù),表示打開的輸入輸出流的數(shù)目。 【參見】fflush,fclose,fcloseall fopen 【功能】打開一個流。 【原型】FILE *fopen(const char *filename,const char *mode)【位置】stdio.h 【說明】如果成功則返回一個指針,指向最近打開的流,否則返回NULL?!緟⒁姟縡close,creat,open,dup,ferror,_fmode,rewind,setbuf,setmode fprintf 【功能】向流發(fā)送格式化輸出。 【原型】int fprintf(FILE *fp,const char *format,…)【位置】stdio.h 【說明】使用格式說明符與printf相同,但是frintf向指定流fp發(fā)送輸出,fprintf返回輸出字節(jié)數(shù)。出現(xiàn)錯誤則返回EOF?!緟⒁姟縫utc,fscanf fputc 【功能】向某個流輸出一個字符?!驹汀縤nt fputc(int c,FILE *fp)【位置】stdio.h 【說明】該函數(shù)是宏getc的函數(shù)版本。fputchar 【功能】向stdot輸出一個字符?!驹汀縤nt fputchar(int c)【位置】stdio.h 【說明】函數(shù)是宏getchar的函數(shù)版本。fputs 【功能】向某個流輸出一個字符。 【原型】int fputs(const char *s,FILE *fp)【位置】stdio.h 【說明】成功完成之后,返回最近寫入的字符,否則返回EOF?!緟⒁姟縡gets,puts fread 【功能】從某個流讀入數(shù)據(jù)。 【原型】size_t fread(void *ptr,size_t n,FILE *fp)【位置】stdio.h 【說明】每次讀入n個條目的字節(jié)大小。返回實際讀入的條目數(shù)(而不是字節(jié)數(shù))。 Turbo C函數(shù) 【參見】fopen,fwrite freopen 【功能】將一個新文件和某個打開的流相關(guān)聯(lián)。 【原型】FILE *freopen(const char *filename,const char *mode,FILE *stream)【位置】stdio.h 【說明】首先關(guān)閉流。然后打開使用路徑命名的文件,并且將其與流相關(guān)聯(lián)。成功則返回流,失敗返回NULL?!緟⒁姟縡open fscanf 【功能】從某個流執(zhí)行格式化輸入。 【原型】int fscanf(FILE *fp,const char *format,…)【位置】stdio.h 【說明】返回成功掃描、轉(zhuǎn)換并且保存的輸入字段數(shù)目,返回值中不包括沒有保存的掃描字段?!緟⒁姟縢etc,fprintf,scanf fseek 【功能】定位某個流的文件指針。 【原型】int fseek(FILE *fp,long offset,int whence)【位置】stdio.h 【說明】offset表示與whence指定位置相對應(yīng)的新位置。成功返回0,時白則返回非0值?!緟⒁姟縡tell,fopen,lseek,rewind fsetpos 【功能】定位某個流的文件指針。 【原型】int fsetpos(FILE *fp,const fpos_t *pos)【位置】stdio.h 【說明】pos指向的新位置是通過上一次調(diào)用fgetpos得到的數(shù)值。成功返回0,時白返回一個非0值。 【參見】feek,fgetpos,ftell ftell 【功能】返回當(dāng)前文件指針。【原型】long ftell(FILE *fp)【位置】stdio.h 【說明】成功則返回當(dāng)前的文件指針位置,出現(xiàn)錯誤則返回-1L。【參見】tell,fseek,fgetpos,fsetpos fwrite 【功能】寫入某個流。 【原型】size_t fwrite(const void *ptr,xiae_t n,FILE *fp)【位置】stdio.h 【說明】每次寫入n個條目大小的字節(jié),返回實際寫入的條目數(shù)(而不是字節(jié)數(shù))?!緟⒁姟縡open,fread getc 【功能】從某個流中得到一個字符?!驹汀縤nt get(FILE *fp)【位置】stdio.h 【說明】返回讀入的字符。如果遇到文件尾或者出現(xiàn)錯誤,則返回EOF。【參見】fgets,fscanf,fopen,getch,getw,fread,putc,vfscanf,getchar getchar Turbo C函數(shù) 【功能】從stdin得到字符?!驹汀縤nt getchar(void)【位置】stdio.h 【說明】成功則getchar將讀入的字符轉(zhuǎn)換為不加符號的int并返回。如果遇到文件結(jié)尾或者出現(xiàn)錯誤,則返回EOF。 【參見】getc,fgetchar,ungetc,scanf,putchar,getch,vscanf,getc gets 【功能】從stdin得到一個字符串?!驹汀?getc(char *string)【位置】stdio.h 【說明】從stdin收集輸入內(nèi)容,知道發(fā)現(xiàn)換行符(n)為止。n不放在string中。返回一個指針,指向參數(shù)string 【參見】ferror,fopen,fread,getc,putc,scanf getw 【功能】從流中得到整數(shù)。【原型】int getw(FILE *fp)【位置】stdio.h 【說明】返回輸入流中的下一個整數(shù),如果遇到文件結(jié)尾或者出現(xiàn)錯誤則返回EOF。使用feof或者ferror校驗是否遇到文件結(jié)尾或者出現(xiàn)錯誤。【參見】putw perror 【功能】系統(tǒng)錯誤消息。 【原型】void perror(const char *s)【位置】stdio.h 【說明】向stderr打印一條錯誤消息。首先打印參數(shù)字符串,然后打印一個冒號,然后是與當(dāng)前errno數(shù)值相對應(yīng)的錯誤消息,最后打印換行符?!緟⒁姟縮trerror printf 【功能】向stdout發(fā)送格式化輸出。 【原型】int printf(const char *format,…)【位置】stdio.h 【說明】按照format的要求格式化數(shù)目不定的參數(shù),然后將輸出結(jié)果發(fā)送到stdout。該函數(shù)返回輸出字節(jié)數(shù),如果出現(xiàn)錯誤則返回EOF。 【參見】ecvt,puts,fprintf,scanf,putc,vptintf putc 【功能】向某個流輸出一個字符?!驹汀縤nt putc(int ch,FILE *fp)【位置】stdio.h 【說明】成功則putc返回字符ch,錯誤則返回EOF。 【參見】fputs,fputc,fwrite,fputchar,putchar,putw,frintf,vfprintf,getc,putch putchar 【功能】向stdout輸出字符?!驹汀縤nt putchar(int ch)【位置】stdio.h 【說明】成功則返回字符ch,錯誤則返回EOF。 【參見】puts,putw,fputchar,putc,printf,vprintf,getchar,putch 44 Turbo C函數(shù) puts 【功能】向stdout輸出一個字符串(并且添加一個換行符)?!驹汀縤nt puts(const char *s)【位置】stdio.h 【說明】成功完成之后,puts返回寫入的最后一個字符;否則返回EOF。【參見】putchar,gets,fputs,cputs putw 【功能】向某個流輸出一個整數(shù)?!驹汀縤nt putw(int w,FILE *fp)【位置】stdio.h 【說明】返回整數(shù)w?!緟⒁姟縫rintf,getw remove(filename)【功能】刪除一個文件,該宏翻譯了對unlink的調(diào)用。【原型】int remove(filename)【位置】stdio.h 【參見】unlink rename 【功能】重命名一個文件。 【原型】int rename(const char *oldname,const char *newname)【位置】stdio.h 【說明】成功重命名文件之后,rename返回0。出現(xiàn)錯誤則返回-1,并且設(shè)置errno。rewind 【功能】重新將文件指針定位在流的開始位置?!驹汀縱oid rewind(FILE *fp)【位置】stdio.h 【參見】fseek,fopen scanf 【功能】執(zhí)行從stdin的格式化輸入。 【原型】int scanf(congst char *format,…)【位置】stdio.h 【說明】返回成功處理的輸入字段數(shù)目。要求按照format的要求處理輸入,并且將結(jié)果放在參數(shù)指向的內(nèi)存位置中。 【參見】atof,getc,vfscanf,cscanf,printf,vscanf,fscanf,sscanf,vsscanf setbuf 【功能】為某個流分配緩存。 【原型】void setbuf(FILE *fp,char *buf)【位置】stdio.h 【說明】如果buf為NULL,則無法緩存I/O,否則就可以緩存。緩存區(qū)的大小為BUFSIZ字節(jié)長。【參見】fopen,setvbuf setvbuf 【功能】為某個流分配緩存。 【原型】setvbuf(FILE *fp,char *buf,int type,size_t size)【位置】stdio.h 【說明】size表示以字節(jié)為單位的緩存區(qū)大小。使用setvbuf可以為流分配一個較大的緩存區(qū)。成功返回0,否則返回一個非0值。 Turbo C函數(shù) 【參見】fopen,setbuf sprintf 【功能】向某個字符串發(fā)送格式化輸出。 【原型】int sprinf(char *buffer,const char *format,…)【位置】stdio.h 【說明】返回輸出的字節(jié)數(shù)。出現(xiàn)錯誤時,返回EOF?!緟⒁姟縫rintf,fprintf sscanf 【功能】從某個字符串執(zhí)行格式化輸入。 【原型】int sscnaf(const char *buffer,const char *format,…)【位置】stdio.h 【說明】返回成功掃描、轉(zhuǎn)換并保存的輸入字段數(shù)目。如果sscanf試圖讀入的位置超過緩存區(qū)范圍,則返回值為EOF。 【參見】scanf,fscanf _strerror 【功能】構(gòu)件一條自定義的錯誤消息字符串?!驹汀?_strerror(const char *s)【位置】stdio.h 【說明】錯誤消息由s、一個冒號、一個空格、最近生成的系統(tǒng)錯誤消息及一個換行符構(gòu)成。S應(yīng)當(dāng)小于等于94個字符。返回一個指針,指向錯誤消息字符串?!緟⒁姟縮trerror strerror 【功能】返回指向錯誤消息字符串的指針?!驹汀縞har *strerror(int errnum)【位置】stdio.h 【說明】返回一個指針,指向與errnum相關(guān)聯(lián)的錯誤消息?!緟⒁姟縚streeeoe,perror tmpfile 【功能】以二進(jìn)制模式打開一個scratch文件。【原型】FILE *tmpfile(void)【位置】stdio.h 【說明】返回一個指針,指向臨時文件創(chuàng)建的流。如果無法創(chuàng)建文件,則tmpfile返回NULL?!緟⒁姟縡open,tmpnam tmpnam 【功能】創(chuàng)建一個為一個文件名稱?!驹汀縞har *tmpnam(char *sptr)【位置】stdio.h 【說明】如果sptr為NULL,則tmpnam返回一個指針,指向一個內(nèi)部的靜態(tài)對象。否則tmpnam返回sptr。 【參見】tmpfile ungetc 【功能】將一個字符退回輸入流?!驹汀縤nt ungetc(int c,FILE *fp)【位置】stdio.h 【說明】下一次對流fp調(diào)用getc(或者其他的流輸入函數(shù))時將返回c。如果執(zhí)行成功,則ungetc返回退回的字符。如果操作失敗則返回EOF。 Turbo C函數(shù) 【參見】getc unlink 【功能】刪除一個文件。 【原型】int unlink(const char *filename)【位置】stdio.h,dos.h,io.h 【說明】如果filename指定的文件屬性為只讀,則unlink操作失敗。首先需要調(diào)用chomd函數(shù)改變文件屬性。 成功返回0,錯誤返回-1?!緟⒁姟縞hmod,remove vfprintf 【功能】使用參數(shù)列表向某個流發(fā)送格式化輸出。 【原型】int vfprintf(FILE *fp,const char *format,va_list arglist)【位置】stdio.h 【說明】返回輸出的字節(jié)數(shù),如果出現(xiàn)錯誤則返回EOF?!緟⒁姟縫rintf vfscanf 【功能】用參數(shù)列表向某個流發(fā)送格式化輸入。 【原型】int vfscanf(FILE *fp,const char *format,va_list arglist)【位置】stdio.h 【說明】返回成功掃描、轉(zhuǎn)換并保存的輸入字段數(shù)?!緟⒁姟縮canf vprintf 【功能】用參數(shù)列表從stdin執(zhí)行格式化輸出。 【原型】int vprintf(const char *format,va_list,arglist)【位置】stdio.h 【說明】返回輸出的字節(jié)數(shù),如果出現(xiàn)錯誤則返回EOF?!緟⒁姟縫rintf vscanf 【功能】使用參數(shù)列表從stdin執(zhí)行格式化輸入。 【原型】int vscanf(const char *format,va_list arglist)【位置】stdio.h 【說明】返回成功掃描、轉(zhuǎn)換并保存的輸入字段數(shù),遇到文件結(jié)尾則返回EOF?!緟⒁姟縮canf vsprintf 【功能】使用參數(shù)列表向一個字符串發(fā)送格式化輸入。 【原型】vsprintf(char *buffer,const char *format,va_list arglist)【位置】stdio.h 【說明】返回輸出的字結(jié)束。如果出現(xiàn)錯誤則返回EOF?!緟⒁姟縫rintf vsscanf 【功能】使用參數(shù)列表從一個字符串執(zhí)行格式化輸入。 【原型】int vsscanf(const char *buffer,const char *format,va_list arglist)【位置】stdio.h 【說明】返回成功掃描、轉(zhuǎn)換并保存的輸入字段數(shù),如果遇到文件結(jié)尾則返回EOF?!緟⒁姟縮canf,sscanf,vfscanf STDLIB.H Turbo C函數(shù) abort 【功能】異常終止某個進(jìn)程?!驹汀縱oid abort(void)【位置】stdlib.h,process.h 【參見】atexit,assert,exit abs 【功能】得到一個整數(shù)的絕對值,abs(x)中的x表示一個int值。【原型】int abs(int x)【位置】math.h,stdlib.h atexit 【功能】寄存器終止函數(shù)。 【原型】int atexit(atexit_t func)【位置】stdlib.h 【說明】成功返回0,失敗返回非0值?!緟⒁姟縠xit,abort atof 【功能】將一個字符串轉(zhuǎn)換成符點數(shù)?!驹汀縟ouble atof(const char *s)【位置】math.h,stdlib.h 【說明】返回s經(jīng)過轉(zhuǎn)換之后的值,如果s不能轉(zhuǎn)換則返回0?!緟⒁姟縜toi,atol,ecvt,fcvt,sscanf,strtod atoi 【功能】將一個字符串轉(zhuǎn)換為一個短整數(shù)?!驹汀縤nt atoi(const char 8s)【位置】stdlib.h 【說明】返回輸入字符串轉(zhuǎn)換后的值。如果字符串無法轉(zhuǎn)換,則返回值為0?!緟⒁姟縜tof,atol,ecvt,sscanf,strtod atol 【功能】將一個字符串轉(zhuǎn)換為一個長整數(shù)?!驹汀縤nt atol(const char *s)【位置】stdlib 【說明】返回輸入字符串轉(zhuǎn)換后的值。如果字符串無法轉(zhuǎn)換,則返回值為0。【參見】atof,atoi,ecvt,fcvt,sscanf,strtod bsearch 【功能】兩分法查找。 【原型】*bsearch(const void key,const void base,size_t width,int(fcmp)(const void,const void*)) 【位置】stdlib.h 【說明】返回表中的一個符合查找關(guān)鍵字的條目的值。如果沒有找到匹配條目,則返回0。在bsearch中,如果*elem1小于*elem2則*fcmp的返回值小于0,如果*elem1等于*elem2則返回值等于0,如果*elem1大于*elem2則返回值大于0。表必須按照升序排列?!緟⒁姟縧search,qsort calloc 【功能】分配主存。 【原型】void *calloc(size_t nelem,size_t elsize)【位置】stdlib.h,alloc.h Turbo C函數(shù) 【說明】為nelem數(shù)據(jù)項的每elsize個字節(jié)分別分配空間,同時在空間中保存0值。返回一個指向新分配塊的指針,如果沒有足夠的空間則返回NULL?!緟⒁姟縨alloc div 【功能】兩個整數(shù)相除。 【原型】div_t div(int number,int denom)【位置】stdlib.h 【說明】每個函數(shù)都返回一個結(jié)構(gòu),其中的元素由quot(商)和rem(余數(shù))組成。Div的元素為整型。ecvt 【功能】將一個符點數(shù)轉(zhuǎn)換為字符串。 【原型】char *ecvt(double value,int ndig,int *dec,int *sign)【位置】stdlib.h exit 【功能】終止程序。 【原型】void exit(int status)【位置】stdlib.h,process.h 【說明】終止程序之前,清空輸出緩存,關(guān)閉文件,并且退出調(diào)用的函數(shù)?!緟⒁姟縜bort,atext,_exit fcvt 【功能】將一個符點數(shù)轉(zhuǎn)換為字符串。 【原型】char *fcvt(double value,int ndig,int *dec,int *sign)【位置】stdlib.h free 【功能】釋放通過malloc或者calloc分配的數(shù)據(jù)塊?!驹汀縱oid free(void *block)【位置】stdlib.h,alloc.h 【參見】malloc,calloc,freemem gcvt 【功能】將一個符點數(shù)轉(zhuǎn)換為字符串。 【原型】char *gcvt(double value,int ndig,char *buf)【位置】stdlib.h 【說明】返回buf 【參見】ecvt,fcvt gerenv 【功能】從環(huán)境變量中得到字符串。 【原型】char *getenv(const char *name)【位置】stdlib.h 【說明】成功返回一個指針,指向與name相關(guān)的數(shù)值;如果name環(huán)境中沒有定義,則返回NULL?!緟⒁姟縫utenv,envirir itoa 【功能】將一個整數(shù)轉(zhuǎn)換為字符串。 【原型】char *itoa(int value,char *string,int radix)【位置】stdlib.h 【說明】返回一個指針,指向目的字符串。【參見】ltoa labs Turbo C函數(shù) 【功能】求長整數(shù)的絕對值?!驹汀縧ong labs(long x)【位置】math.h,stdlib.h 【參見】abs,cabs ldiv 【功能】兩個長整數(shù)相除。 【原型】ldiv_t ldiv(long lnumber,long ldenom)【位置】stdlib.h 【說明】每個函數(shù)都返回一個結(jié)構(gòu),其中的元素由quot(商)和rem(余數(shù))組成。Ldiv的元素為長整型。lfind 【功能】執(zhí)行線性查找。 【原型】void *lfind(const void *key,const void *base,size_t *pnelem,size_t width, int(*fcmp)(const void*,const void*))【位置】stdlib.h 【說明】該函數(shù)使用一個用戶自定義的程序(fcmp),在順序記錄的數(shù)組中查找key值。 數(shù)組中一共有pnelem個記錄,每個的寬度為width字節(jié),并且從base指向的內(nèi)存位置開始。返回表中與查找關(guān)鍵字匹配的第1個條目的地址。如果沒有找到匹配條目,則lsearch將其添加到列表結(jié)尾。如果*elem1等于*elem2則*fcmp程序必須返回0,否則返回非0?!緟⒁姟縝asearch,qsort _lrotl 【功能】將一個長整數(shù)向右循環(huán)。 【原型】_lrotl(unsigned long val,int count)【位置】stdlib.h 【說明】函數(shù)返回val循環(huán)count位后的數(shù)值?!緟⒁姟縚rotl _lrotr 【功能】將一個長整數(shù)向左循環(huán)。 【原型】_lrotr(unsigned long val,int count)【位置】stdlib.h 【說明】函數(shù)返回val循環(huán)count位后的數(shù)值?!緟⒁姟縚rolt lsearch 【功能】執(zhí)行線性查找。 【原型】void *lsearch(const void *key,void *base,size_t *pnelem,size_t width,int(*fcmp)(const void*,const void*))【位置】stdlib.h 【說明】該函數(shù)使用一個用戶自定義的程序(fcmp),在順序記錄的數(shù)組中查找key值。數(shù)組中一共有pnelem個記錄,每個的寬度為width字節(jié),并且從base指向的內(nèi)存位置開始。 返回表中與查找關(guān)鍵字匹配的第1個條目的地址。如果沒有找到匹配條目,則lsearch將其添加到列表結(jié)尾。如果*elem1等于*elem2則*fcmp程序必須返回0,否則返回非0?!緟⒁姟縝search,qsort ltoa 【功能】將一個長整數(shù)轉(zhuǎn)換成一個字符串。 【原型】char *ltoa(long value,char *string,int radix)【位置】stdlib.h PostgreSQL學(xué)習(xí)手冊:SQL語言函數(shù) 一、基本概念: SQL函數(shù)可以包含任意數(shù)量的查詢,但是函數(shù)只返回最后一個查詢(必須是SELECT)的結(jié)果。在簡單情況下,返回最后一條查詢結(jié)果的第一行。如果最后一個查詢不返回任何行,那么該函數(shù)將返回NULL值。如果需要該函數(shù)返回最后一條SELECT語句的所有行,可以將函數(shù)的返回值定義為集合,即SETOF sometype。 SQL函數(shù)的函數(shù)體應(yīng)該是用分號分隔的SQL語句列表,其中最后一條語句之后的分號是可選的。除非函數(shù)聲明為返回void,否則最后一條語句必須是SELECT。事實上,在SQL函數(shù)中,不僅可以包含SELECT查詢語句,也可以包含INSERT、UPDATE和DELETE等其他標(biāo)準(zhǔn)的SQL語句,但是和事物相關(guān)的語句不能包含其中,如BEGIN、COMMIT、ROLLBACK和SAVEPOINT等。 CREATE FUNCTION命令的語法要求函數(shù)體寫成一個字符串文本。通常來說,該文本字符串常量使用美元符($$)圍住,如: CREATE FUNCTION clean_emp()RETURNS void AS $$ DELETE FROM emp WHERE salary < 0; $$ LANGUAGE SQL; 最后需要說明的是SQL函數(shù)中的參數(shù),PostgreSQL定義$1表示第一個參數(shù),$2為第二個參數(shù)并以此類推。如果參數(shù)是復(fù)合類型,則可以使用點表示法,即$1.name訪問復(fù)合類型參數(shù)中的name字段。需要注意的是函數(shù)參數(shù)只能用作數(shù)據(jù)值,而不能用于標(biāo)識符,如: INSERT INTO mytable VALUES($1);--合法 INSERT INTO $1 VALUES(42);--不合法(表名屬于標(biāo)示符之一) 二、基本類型: 最簡單的SQL函數(shù)可能就是沒有參數(shù)且返回基本類型的函數(shù)了,如: CREATE FUNCTION one()RETURNS integer AS $$ SELECT 1 AS result; $$ LANGUAGE SQL; 下面的例子聲明了基本類型作為函數(shù)的參數(shù)。 CREATE FUNCTION add_em(integer, integer)RETURNS integer AS $$ SELECT $1 + $2; $$ LANGUAGE SQL; # 通過select調(diào)用函數(shù)。 postgres=# SELECT add_em(1,2)AS answer; answer -------- (1 row) 在下面的例子中,函數(shù)體內(nèi)包含多個SQL語句,它們之間是用分號進(jìn)行分隔的。 CREATE FUNCTION tf1(integer, numeric)RETURNS numeric AS $$ UPDATE bank SET balance = balance-$2 WHERE accountno = $1; SELECT balance FROM bank WHERE accountno = $1; $$ LANGUAGE SQL; lv包包、古奇女包、coach包:|兔毛皮草、獺兔皮草、皮草服飾: 三、復(fù)合類型: 見如下示例: 1).創(chuàng)建數(shù)據(jù)表,這樣與之對應(yīng)的復(fù)合類型也隨之生成。 CREATE TABLE emp(name text,salary numeric,age integer,); 2).創(chuàng)建函數(shù),其參數(shù)為復(fù)合類型。在函數(shù)體內(nèi),可以像引用基本類型參數(shù)那樣引用復(fù)合類型,如$1。訪問復(fù)合類型的字段使用點表達(dá)式即可,如:$1.salary。 CREATE FUNCTION double_salary(emp)RETURNS integer AS $$ SELECT($1.salary * 2)::integer AS salary; $$ LANGUAGE SQL; 3).在select語句中,可以使用emp.*表示emp表的一整行數(shù)據(jù)。 SELECT name, double_salary(emp.*)AS dream FROM emp WHERE age > 30; 4).我們也可以使用ROW表達(dá)式構(gòu)造自定義的復(fù)合類型,如: SELECT name, double_salary(ROW(name, salary*1.1, age))AS dream FROM emp; 5).創(chuàng)建一個函數(shù),其返回值為復(fù)合類型,如: CREATE FUNCTION new_emp()RETURNS emp AS $$ SELECT ROW('None', 1000.0, 25)::emp; $$ LANGUAGE SQL; 6).調(diào)用返回復(fù)合類型的函數(shù)。 SELECT new_emp(); 7).調(diào)用返回復(fù)合類型的函數(shù),同時訪問該返回值的某個字段。 SELECT(new_emp()).name; 四、帶輸出參數(shù)的函數(shù): 還有一種方法可以用于返回函數(shù)執(zhí)行的結(jié)果,即輸出參數(shù),如: CREATE FUNCTION add_em2(IN x int, IN y int, OUT sum int)AS $$ SELECT $1 + $2 $$ LANGUAGE SQL; 調(diào)用方法和返回結(jié)果與add_em(帶有返回值的函數(shù))完全一致,如: SELECT add_em(3,7); 這個帶有輸出參數(shù)的函數(shù)和之前的add_em函數(shù)沒有本質(zhì)的區(qū)別。事實上,輸出參數(shù)的真正價值在于它為函數(shù)提供了返回多個字段的途徑。如,CREATE FUNCTION sum_n_product(x int, y int, OUT sum int, OUT product int)AS $$ SELECT $1 + $2, $1 * $2 $$ LANGUAGE SQL; 調(diào)用方式?jīng)]有改變,只是返回結(jié)果多出一列。 SELECT * FROM sum_n_product(11,42); sum | product -----+--------- | 462 (1 row) 在上面的示例中,IN用于表示該函數(shù)參數(shù)為輸入?yún)?shù)(缺省值,可以忽略),OUT則表示該參數(shù)為輸出參數(shù)。 五、返回結(jié)果作為表數(shù)據(jù)源: 所有SQL函數(shù)都可以在查詢的FROM子句里使用。該方法對于返回復(fù)合類型的函數(shù)而言特別有用,如果該函數(shù)定義為返回一個基本類型,那么該函數(shù)生成一個單字段表,如果該函數(shù)定義為返回一個復(fù)合類型,那么該函數(shù)生成一個復(fù)合類型里每個屬性組成的行。見如下示例: 1).創(chuàng)建一個數(shù)據(jù)表。 CREATE TABLE foo(fooid int,foosubid int,fooname text); 2).創(chuàng)建SQL函數(shù),其返回值為與foo表對應(yīng)的復(fù)合類型。 CREATE FUNCTION getfoo(int)RETURNS foo AS $$ SELECT * FROM foo WHERE fooid = $1; $$ LANGUAGE SQL; 3).在FROM子句中調(diào)用該函數(shù)。 SELECT *, upper(fooname)FROM getfoo(1)AS t1; 六、返回集合的SQL函數(shù): 如果SQL函數(shù)的返回值為SETOF sometype,那么在調(diào)用該函數(shù)時,將返回最后一個SELECT查詢的全部數(shù)據(jù)。這個特性通常用于把函數(shù)放在FROM子句里調(diào)用,見如下示例: CREATE FUNCTION getfoo(int)RETURNS setof foo AS $$ SELECT * FROM foo WHERE fooid = $1; $$ LANGUAGE SQL; 在FROM子句中調(diào)用了返回復(fù)合類型集合的函數(shù),其結(jié)果等同于:SELECT * FROM(SELECT * FROM foo WHERE fooid = 1)t1; SELECT * FROM getfoo(1)AS t1; 七、多態(tài)的SQL函數(shù): SQL函數(shù)可以聲明為接受多態(tài)類型(anyelement和anyarray)的參數(shù)或返回多態(tài)類型的返回值,見如下示例: 1).函數(shù)參數(shù)和返回值均為多態(tài)類型。 CREATE FUNCTION make_array(anyelement, anyelement)RETURNS anyarray AS $$ SELECT ARRAY[$1, $2]; $$ LANGUAGE SQL; 其調(diào)用方式和調(diào)用其它類型的SQL函數(shù)完全相同,只是在傳遞字符串類型的參數(shù)時,需要顯式轉(zhuǎn)換到目標(biāo)類型,否則將會被視為unknown類型,如: SELECT make_array(1, 2)AS intarray, make_array('a'::text, 'b')AS textarray; 2).函數(shù)的參數(shù)為多態(tài)類型,而返回值則為基本類型。 CREATE FUNCTION is_greater(anyelement, anyelement)RETURNS boolean AS $$ SELECT $1 > $2; $$ LANGUAGE SQL; 3).多態(tài)類型用于函數(shù)的輸出參數(shù)。 CREATE FUNCTION dup(f1 anyelement, OUT f2 anyelement, OUT f3 anyarray)AS $$ SELECT $1, ARRAY[$1,$1] $$ LANGUAGE sql; 八、函數(shù)重載: 多個函數(shù)可以定義成相同的函數(shù)名,但是它們的參數(shù)一定要有所區(qū)分。換句話說,函數(shù)名可以重載,此規(guī)則有些類似于面向?qū)ο笳Z言中的函數(shù)重載,見如下示例: CREATE FUNCTION test(int, real)RETURNS...CREATE FUNCTION test(smallint, double)RETURNS...由于在PostgreSQL中函數(shù)支持重載,因此在刪除函數(shù)時,也必須指定參數(shù)列表,如: DROP FUNCTION test(int, real); DROP FUNCTION test(smallint,double); 實驗7 函數(shù) 一、實驗?zāi)康模?)掌握定義函數(shù)的方法; (2)掌握函數(shù)實參與形參的對應(yīng)關(guān)系以及“值傳遞”的方式; (3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法; (4)掌握全局變量和局部變量動態(tài)變量、靜態(tài)變量的概念和使用方法。 (5)學(xué)習(xí)對多文件程序的編譯和運(yùn)行。 二、實驗內(nèi)容 編程序并上機(jī)調(diào)試運(yùn)行。 (1)寫一個判別素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否是素數(shù)的信息。(習(xí) 題8.3) 本程序應(yīng)當(dāng)準(zhǔn)備以下測試數(shù)據(jù):17、34、2、1、0。分別輸入數(shù)據(jù),運(yùn)行程序并檢查結(jié)果是否正確。 (2)用一個函數(shù)來實現(xiàn)將一行字符串中最長的單詞輸出。此行字符串從主函數(shù)傳遞 給該函數(shù)。(習(xí)題8.10) 把兩個函數(shù)放在同一程序文件中,作為一個文件進(jìn)行編譯和運(yùn)行。 把兩個函數(shù)分別放在兩個程序文件中,作為兩個文件進(jìn)行編譯、連接和運(yùn)行。 (3)用遞歸法將一個整數(shù)n轉(zhuǎn)換成字符串。例如,輸入483,應(yīng)輸出字符串“483”。 n的為數(shù)不確定,可以是任意的整數(shù)。(習(xí)題8.17) (4)求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。用一個函數(shù)求最大公約數(shù),用另一個 函數(shù)根據(jù)求出的最大公約數(shù)求最小公倍數(shù)。(習(xí)題8.1) ① 不用全局變量,分別用兩個函數(shù)求最大公約數(shù)和最小公倍數(shù)。兩個整數(shù)在主函數(shù)中輸入,并傳送給函數(shù)1,求出的最大公約數(shù)返回主函數(shù),然后再與兩個整數(shù)一起作為實參傳遞給函數(shù)2,以求出最小公倍數(shù),再返回主函數(shù)輸出最大公約數(shù)和最小公倍數(shù)。 ② 用全局變量的方法,分別用兩個函數(shù)求最大公約數(shù)和最小公倍數(shù),但其值不由函數(shù)帶回。將最大公約數(shù)和最小公倍數(shù)都設(shè)為全局變量,在主函數(shù)中輸出它們的值。 (5)寫一函數(shù),輸入一個十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。(習(xí)題8.16) 函數(shù) 本章重點: 本章難點: //函數(shù)相關(guān)內(nèi)容: *語法:包括定義,聲明,調(diào)用,*語義 語句包括:表達(dá)式語句,空語句,控制語句,復(fù)合語句,函數(shù)調(diào)形參與實參的意義、作用與區(qū)別; 參數(shù)的兩種傳遞方式; 對遞歸函數(shù)調(diào)用過程的理解; 全局變量和局部變量的作用。函數(shù)的定義和調(diào)用; 函數(shù)間的數(shù)據(jù)傳遞方式; 嵌套調(diào)用和遞歸調(diào)用; 變量的作用域和存儲類別; 模塊化程序設(shè)計方法。用語句 函數(shù):*函數(shù)首部:包括返回值類型,函數(shù)名,形參 *函數(shù)體 *函數(shù)調(diào)用的過程:*開辟空間(形參,函數(shù)的局部變量) 1.函數(shù)其實就是一段可以重復(fù)調(diào)用的、功能相對獨立完整的程序段。 2.主函數(shù)可以調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。 3.一個C程序必須有一個且只能有一個main函數(shù),無論main函數(shù)位于程序 的什么位置,運(yùn)行時都是從main函數(shù)開始執(zhí)行的。 4.函數(shù)不能嵌套定義,也就是說一個函數(shù)不能從屬于另一個函數(shù)。函數(shù)之 *把實參送給形參 *執(zhí)行函數(shù) *釋放空間 間可以互相調(diào)用,但是任何函數(shù)不能調(diào)用main函數(shù),main函數(shù)是被操作系 統(tǒng)調(diào)用的。 5.函數(shù)的分類: (1)從用戶角度看:庫函數(shù)、用戶自定義的函數(shù)(2)從形式:無參函數(shù)、有參函數(shù) 6.函數(shù)定義即函數(shù)的實現(xiàn),是對所要完成功能的操作進(jìn)行描述的過程,包 括函數(shù)命名和返回值類型聲明、形式參數(shù)的類型說明、變量說明和一系 列操作語句等。 函數(shù)和變量一樣,必須“先定義,后使用” 7.函數(shù)定義應(yīng)包括以下內(nèi)容: 函數(shù)的名字、返回值的類型。函數(shù)參數(shù)的類型和名字,無參函數(shù)不需要 指定。指定函數(shù)的功能 8.在函數(shù)體中,聲明部分是對函數(shù)內(nèi)部所用到的變量的類型說明,并對要 調(diào)用的函數(shù)進(jìn)行聲明。 9。定義有參函數(shù)的一般形式為: 類型標(biāo)識符 函數(shù)名(形式參數(shù)表列){ 聲明部分; } 語句; 10.在C語言中,可以用以下幾種方式調(diào)用函數(shù)(1)函數(shù)表達(dá)式 函數(shù)作為表達(dá)式中的一項出現(xiàn)在表達(dá)式中,以函數(shù)返回值參與表達(dá)式 的運(yùn)算。這時要求函數(shù)是有返回值的。 例如:y=sin(x);(2)函數(shù)語句 函數(shù)調(diào)用的一般形式加上分號即構(gòu)成函數(shù)語句。 例如:printf(“%d”,a); 這種方式通常只要求函數(shù)完成一定的操作,不要求函數(shù)帶回值。(3)函數(shù)實參 這種方式是函數(shù)作為另一個函數(shù)調(diào)用的實際參數(shù)出現(xiàn),也就是把該函 數(shù)的返回值作為實參進(jìn)行數(shù)據(jù)傳送,所以要求該函數(shù)必須是有返回值 的。 例如:printf(“%d”,max(a,b)); 11.實參:可以是常量、變量和表達(dá)式。 12.只有在發(fā)生函數(shù)調(diào)用時,才給形參分配單元,并且賦值,一旦函數(shù)調(diào) 用結(jié)束后,形參所占的內(nèi)存單元又被釋放掉。 13.在調(diào)用函數(shù)過程中發(fā)生的實參與形參間的數(shù)據(jù)傳遞是“值傳遞”,只 能由實參向形參傳遞數(shù)據(jù),是單向傳遞,不能由形參傳給實參。 14.聲明的作用是把函數(shù)的返回值類型、函數(shù)名、函數(shù)參數(shù)的個數(shù)和類型 等信息通知編譯系統(tǒng),以便在遇到函數(shù)調(diào)用時,編譯系統(tǒng)能識別該函 數(shù)并檢查調(diào)用是否合法 15.函數(shù)的聲明方法: (1)只說明函數(shù)的類型,這稱為簡單聲明。int min();(2)不僅說明函數(shù)的類型還要說明參數(shù)的個數(shù)和類型,這稱為原型聲明。 int min(int x,int y); 16.數(shù)組名作函數(shù)參數(shù)時,形參數(shù)組和實參數(shù)組為同一數(shù)組,共同擁有一段 內(nèi)存空間。 17.數(shù)組元素不能用作形參,因為形參是在函數(shù)調(diào)用時臨時分配內(nèi)存存儲 單元的,不能為一個數(shù)組元素單獨分配存儲單元。 18.變量的有效范圍(作用域) 19.局部變量也稱為內(nèi)部變量,是在函數(shù)內(nèi)或函數(shù)的復(fù)合語句內(nèi)定義說明的。 20.全局變量也稱為外部變量,它是在函數(shù)外部定義的變量,位置在所有 函數(shù)前、各個函數(shù)之間或所有函數(shù)后。 *其作用域是從定義變量的位置開始到本源文件結(jié)束。 *設(shè)置全局變量的作用是可以增加各個函數(shù)之間的數(shù)據(jù)傳輸渠道。21.變量的完整說明為: 存儲類型 數(shù)據(jù)類型 變量名表列; 例如: auto int x,y; 22.C語言變量的存儲方式可以分為動態(tài)存儲方式和靜態(tài)存儲方式。 23.動態(tài)存儲方式:(1)自動變量(auto變量)(2)寄存器變量(register變量)(3)形式參數(shù) 24.靜態(tài)存儲方式: (1)靜態(tài)局部變量(static局部變量) 其語法格式為: static 類型標(biāo)識符 變量名; 例如:static int f; (2)全局變量(全局變量賦初值也是在編譯時完成的,且僅執(zhí)行一次賦初值的操作。) 不能用extern來初始化外部變量。 (3)靜態(tài)外部變量 25.一般為了敘述方便,把建立存儲空間的變量聲明稱定義,而把不需要 建立存儲空間的聲明稱為聲明 26.在函數(shù)中出現(xiàn)的對變量的聲明(除了用extern聲明的以外)都是定義。 例如:extern int x=25; //錯誤 *外部變量第二篇:C語言函數(shù)
第三篇:PostgreSQL學(xué)習(xí)手冊:SQL語言函數(shù)
第四篇:c語言函數(shù)
第五篇:C語言函數(shù)知識點總結(jié)