Ⅰ C語言常用的函數有哪些
C語言庫函數,常用庫函數有:
1、scanf格式輸入函數
2、printf格式輸出函數
3、systemdos命令函數
4、sort排序
5、main主函數
6、fgets文件讀取字元串函數
7、fputs文件寫入字元串函數
8、fscanf文件格式讀取函數
9、fprintf文件格式寫入函數
10、fopen打開文件函數
11、getchar輸入字元函數
12、putchar輸出字元函數
13、malloc動態申請內存函數
14、free釋放內存函數
15、abs求絕對值數學函數
16、sqrt求平方根數學函數
(1)c語言里數學函數有哪些擴展閱讀
語言組成:
1、數據類型
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
2、常量與變數
常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
3、數組
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
4、指針
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
Ⅱ c語言常用函數有哪些主要掌握的要點是什麼
函數1。absread()讀磁碟絕對扇區函數原形:int absread(int drive,int num,int sectnum,void *buf)功能:從drive指定的驅動器磁碟上,sectnum指定的邏輯扇區號開始讀取(通過DOS中斷0x25讀取)num個(最多64K個)扇區的內容,儲存於buf所指的緩沖區中。參數:drive=0對應A盤,drive=1對應B盤。返回值:0:成功;-1:失敗。頭文件:dos.h函數2。abswrite()寫磁碟絕對扇區函數原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驅動器)、1(B驅動器)、 nsects=要寫的扇區數(最多64K個); lsect=起始邏輯扇區號; buffer=要寫入數據的內存起始地址。功能:將指定內容寫入(調用DOS中斷0x26)磁碟上的指定扇區,即使寫入的地方是磁碟的邏輯結構、文件、FAT表和目錄結構所在的扇區,也照常進行。返回值:0:成功;-1:失敗。頭文件:dos.h函數3。atof()將字元串轉換成浮點數的函數原形:double atof(const char *s)功能:把s所指向的字元串轉換成double類型。 s格式為:符號 數字.數字 E符號 數字返回值:字元串的轉換值。頭文件:math.h、stdlib.h函數4。atoi()將字元串轉換成整型數的函數原形:int atoi(const char *s)功能:把s所指向的字元串轉換成int類型。 s格式為:符號 數字返回值:字元串的轉換值。若出錯則返回0。頭文件:stdlib.h函數5。atol()將字元串轉換成長整型數的函數原形:long atol(const char *s)功能:把s所指向的字元串轉換成long int類型。 s格式為:符號 數字返回值:字元串的轉換值。若出錯則返回0。頭文件:stdlib.h函數6。bcd()把一個數轉換成對應的BCD碼的函數原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)注意:BCD碼的精度可達17位。參數decimals是可選的,用來指定轉換後小數點後的位數。頭文件:bcd.h函數7。bdos()原形∶int bdos(int fnum,unsigned dx,unsigned al) 其中fnum是系統調用號;dx是傳給寄存器DX的值;al是傳給寄存器AL的值;功能∶DOS系統調用(INT21H)返回值∶AX中的值函數8。biosdisk()調用BIOS磁碟驅動程序函數原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)功能:使用中斷0x13,直接調用BIOS進行磁碟操作參數:(1)cmd: 2-數據以每扇區512位元組的格式讀入buffer,起始扇區由head、track和sector定,扇區數由nsects定。 3-將buffer中的數據按每扇區512位元組寫入磁碟。 4-對扇區進行數據校驗。 6-格式化一個磁碟並對化扇區設置化標志。 8-返回當前驅動器參數在buffer的前4個位元組中。 10-長讀,每扇區讀入512位元組加上額外的4個位元組。 11-長寫,每扇區寫入512位元組加上額外的4個位元組。 (2)drive:0-第一個軟碟機;1-第二個軟碟機;0x80-第一個硬驅 (3)head:磁頭 (4)track:磁軌 (5)sector:扇區 (6)nsects:扇區數 (7)buffer:數據緩沖區,定義為unsigned char buffer[];返回值:0x00-操作成功 0x01-錯誤命令 0x03-企圖寫具有防寫的磁碟 0x07-驅動器參數設置錯誤 0x10-磁碟讀/CRC/ECC錯誤頭文件:bios.h註:對於硬碟主引導記錄扇區head=0,track=0,sector=1函數9。biosprint()調用BIOS列印機I/O介面的函數原形:int biosprint(int cmd,int abyte,int port)功能:通過BIOS中斷0x17在由參數port指定的列印機上完成各種列印機功能。 port=0(LPT1) =1(LPT2); cmd=0(列印字元abyte) 1(初始化列印機埠) 2(讀列印機狀態); abyte=0-255;返回值:列印機狀態 位0(設備超時);位3(I/O出錯);位4(列印機已選擇);位5(沒紙);位6(列印機確認);位7(不忙)頭文件:bios.h函數10。calloc()分配內存函數原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一塊內存,將該內存的內容全部清0。返回值:返回指向新分配內存的指針。空間不夠則返回NULL。頭文件:stdlib.h、calloc.h函數11。ceil()原形∶double ceil(double num)功能∶求不小於num的最小雙精度整數頭文件∶math.h函數12。cgets()讀字元串函數原形:char *cgets(char *str)功能:從控制台讀入一個字元串,並將該字元串(和字元串長度)存入有str所指向的地址中。注意:在調用cgets之前,必須將要讀入的字元串最大長度存入str[0]中,返回時str[1]被設置為實際讀入的字元數。實際字元串內容從str[2]開始,以空字元(\0)結尾。返回值:指向str[2]的指針。頭文件:conio.h函數13。chdir()改變當前目錄的函數原形:int chdir(const char *path)功能:把由path指定的目錄改為當前目錄。path參數中可以指定驅動器號,如"a:\\ddd", 但只是改變該驅動器上的當前目錄,對當前活動驅動器上的當前目錄無影響。返回值:0(成功);-1(失敗)頭文件:dir.h函數14。_chmod()改變文件存取許可權的函數原形:int _chmod(const char *path,int func[,int attrib])功能:讀取(func=0時)或設置(func=1時)DOS文件屬性。 attrib=FA_RDONLY 只讀 attrib=FA_HIDDEN 隱藏文件 attrib=FA_SYSTEM 系統文件 attrib=FA_LABLE 卷標 attrib=FA_DIREC 目錄 attrib=FA_ARCH 檔案 返回值:失敗時返回-1。成功時返迴文件的屬性位元組,如果 返回值&FA_RDONLY 不等於0,則文件是只讀文件;......頭文件:io.h、dos.h函數15。chmod()改變文件存取許可權的函數原形:int chmod(const char *path,int amode)功能:根據amode的值,設置由path所指文件的存取許可權。 amode的值 存取許可權 S_IWRITE 允許寫 S_IREAD 允許讀(只讀) S_IREAD|S_IWRITE 可讀可寫 返回值:0(成功);-1(失敗)頭文件:io.h、sys\stat.h函數16。clock()原形∶long clock(void)功能∶測得從程序開始到調用處處理機所用的時間頭文件∶time.h函數17。close()關閉文件函數原形:int close(int handle)功能:關閉由文件句柄所指向的文件,句柄是調用_creat、creat、creatnew、creattemp、p、p2、_open或open時得到的。該函數並不在文件末尾寫一個Ctrl-Z字元,如果想用該字元結束文件,必須顯式地給出該字元。返回值:0(成功);-1(失敗)頭文件:io.h函數18。closegraph()關閉圖形函數原形:void far closegraph(void)功能:釋放圖形系統分配的所有內存,將屏幕恢復到調用initgraph之前的模式。頭文件:graphics.h函數19。cos()原形∶double cos(double arg)功能∶計算arg(弧度)的餘弦值頭文件∶math.h函數20。ctrlbrk()設置ctrl-break處理程序的函數原形:void ctrlbrk(int(*handle)(void))功能:修改中斷向量0x23,使用新的ctrl-break中斷處理函數。用法:ctrlbrk(函數名); 先定義函數:int 函數名(void){...}頭文件:dos.h函數21。delay()暫停函數原形:void delay(unsigned milliseconds)功能:暫停當前所執行的程序milliseconds毫秒。頭文件:dos.h函數22。disable()屏蔽中斷的宏原形:void disble(void)功能:屏蔽中斷,只允許從外部設備來的不可屏蔽中斷(NMI)。頭文件:dos.h函數23。enable()開硬體中斷的宏原形:void enable(void)功能:開放中斷,允許接受任何設備產生的中斷。頭文件:dos.h函數24。exec()載入並運行其它程序的函數族execl(),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是調用的子程序的文件名,在exec後面的後綴具有某種功能: p表示函數能夠在由DOS環境變數PATH的目錄中搜索子進程文件,如果path中未指明文件所在目錄,函數將首先在當前目錄中找,然後在DOS環境變數指定的目錄中找。 l表示參數指針(arg0,...,argn)按單獨參數傳送。當預先知道要傳送的參數個數時,通常用帶後綴l的函數。 v表示參數指針(arg0,...,argn)按指針數組傳送。當要傳送的參數可變時,使用帶後綴v的函數。 e表示參數env可以傳送到子進程,該函數可用來修改子進程的環境。若無e後綴,子進程將繼承父進程的環境。注意:arg0+...+argn,或arg[0]+...+arg[n]的總長度必需小於128位元組。當調用exec函數時,原先已經打開的文件在子進程中仍然是打開的。功能:載入並運行其它程序,調用時必須有足夠的內存空間用於載入和執行子程序,子程序將覆蓋父程序。頭文件:process.h 函數25。farcalloc()從遠堆中分配內存的函數原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:從遠堆中為包含nunits個元素的數組分配內存,每一區unitsz位元組長。用法:fptr=farcalloc(數目,sizeof(char)); 先定義:char far *fptr;注意:所有可用RAM能被分配;大於64K的塊能被分配;用遠指針存取該塊。微模式不能用。返回值:返回指向新分配塊的指針,若內存不夠,則返回NULL。頭文件:alloc.h函數26。farfree()從遠堆中釋放一塊已分配內存的函數原形:void farfree(void far *block)頭文件:alloc.h函數27。farmalloc()從遠堆中分配內存的函數原形:void far *farmalloc(unsigned long nbytes)使用方式:fptr=farmalloc(位元組數); 先定義char far *fptr;功能:從遠堆中分配長nbytes位元組的內存。注意:所有可用RAM能被分配;大於64K的塊能被分配;用遠指針存取該塊。微模式不能用。返回值:返回指向新分配內存的指針,若內存不夠,則返回NULL。頭文件:alloc.h函數28。farrealloc()調整遠堆中已分配塊的函數原形:void far *farrealloc(void far *oldblock,unsigned long nbytes)返回值:返回調整後的新內存地址。若不能重新分配,則返回NULL。頭文件:alloc.h函數29。fclose()關閉一個流函數原形:int fclose(FILE *stream)使用方式:fclose(文件指針名);其中文件指針名=fopen();功能:關閉指定的流,關閉前清除所有與stream相聯的緩沖區,釋放系統分配的緩沖區,但由setbuf設置的緩沖區不能自動釋放。返回值:0(成功);EOF(失敗)頭文件:stdio.h函數30。fcloseall()關閉打開的流的函數原形:int fcloseall(void)功能:關閉所有打開的流,由stdin、stdout、stdprn、stderr和stdaux設置的流除外。返回值:關閉流的總數。如果發現錯誤則返回EOF。頭文件:stdio.h 函數31。feof()檢查文件是否結束的函數原形∶int feof(FILE *fp)返回值∶文件結束返回非0值,否則返回0。頭文件∶stdio.h函數32。fgets()從流中讀取一字元串的函數原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字元串指針,字元個數,文件指針)功能:從輸入流stream中讀入字元存到s串中。當讀了n-1個字元或遇到換行符時,函數停止讀過程。fgets在s串尾保留換行字元。讀入的最後一個字元後面加一個空字元。返回值:成功時返回字元串參數s,出錯或遇到文件結束時,返回NULL。頭文件:stdio.h函數33。findfirst()函數和findnext()函數調用方式:整形數=findfirst(文件名,&結構變數名,屬性常數組合(如0x26));其中定義struct ffblk 結構變數名;原形:int findfirst(path,buffer,attr)和int findnext(buffer) char *path;//要檢索的文件名 struct ffblk { char ff_reserved[21]; char ff_attrib;//被檢索的文件屬性 unsigned ff_ftime;//最後修改的時間 //(0-4位:秒數/2;5-10位:分數;11-15位:小時數) unsigned ff_fdate;//最後修改的日期 //(0-4位:日;5-8位:月;9-15位:年減1980) long ff_fsize;//文件大小 char ff_name[13];//組名 }*buffer; int attr;//要檢索的文件屬性功能:檢索由path和attr指定的文件,把結果返回到buffer。findfirst返回關於第一個指定文件的信息,findnext繼續檢索。返回值:0(檢索成功),-1(沒有找到指定的文件)屬性常數: FA_NORMAL(0x00) 含意:Normal file, no attributes FA_RDONLY(0x01) 含意:只讀 FA_HIDDEN(0x02) 含意:隱含文件 FA_SYSTEM(0x04) 含意:系統文件 FA_LABEL(0x08) 含意:卷標 FA_DIREC(0x10) 含意:子目錄 FA_ARCH(0x20) 含意:修改的文件Archive頭文件:dir.h(dos.h)函數34。floodfill()填充區域的函數原形:void far floodfill(int x,int y,int border)功能:在圖形設備上用顏色border圍起來的區域將用當前填充顏色填充。(x,y)是待填充區域的起點,若起點在封閉區域內,則區域內被填充;若起點在封閉區域外,則區域外被填充。頭文件:graphics.h函數35。floor()原形∶double floor(double num)功能∶求不大於num的最大雙精度整數頭文件∶math.h函數36。fnmerge()建立文件路徑函數原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:\dir\name.ext,放在path頭文件:dir.h函數37。fnsplit()分解完整的路徑名函數原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路徑path分成4個部分存放。 其中drive中有冒號;dir中有開始和結尾的反斜杠;ext包括開始圓點返回值:如果有擴展名,則 返回值&EXTENSION!=0 如果有文件名,則 返回值&FILENAME!=0 如果有目錄名,則 返回值&DIRECTORY!=0 如果有驅動器號,則返回值&DIRVE!=0頭文件:dir.h 函數38。fopen()打開一個流函數原形:FILE *fopen(const char *filename,const char *mode)功能:打開用filename指定的文件,並使其與一個流相聯。使用方式:文件指針名=fopen("文件名","處理方式") 」處理方式」取: "rt" 打開一個文本文件,只能讀。 "wt" 生成一個文本文件,只能寫。若文件存在則被重寫。 "at" 打開一個文本文件,只能在文件尾部添加。 "rb" 打開一個二進制文件,只能讀。 "wb" 生成一個二進制文件,只能寫。 "ab" 打開一個二進制文件,只能在文件尾部添加。 "rt+" 打開一個文本文件,可讀可寫。 "wt+" 生成一個文本文件,可讀可寫。 "at+" 打開一個文本文件,可讀可添加。 "rb+" 打開一個二進制文件,可讀可寫。 "wb+" 生成一個二進制文件,可讀可寫。 "ab+" 打開一個二進制文件,可讀可添加。返回值:指明流的指針(成功時)或NULL(失敗時)註:需先定義 FILE *文件指針名; "文件名"若用 argv[1]代替,則可使用命令行形式指定文件名函數39。FP_OFF()獲取遠地址偏移量的宏原形:unsigned FP_OFF(void far *p)功能:取得和設置遠指針*p的偏移量返回值:偏移量頭文件:dos.h 函數40。fprintf()傳送輸出到一個流中的函數原形:int fprintf(FILE *stream,const char *format[,argument,...])功能:①向文件指針指向的文件輸出ASCⅡ代碼 ②向顯示器輸出錯誤信息 使用形式: ①fprintf(文件指針,"輸出格式",輸出項系列); ②fprintf(stderr,"錯誤信息");使用實例:fprintf(stream,"%d %c %f",i,c,f); 其中定義FILE *stream; int i; char c; float f;返回值:成功則返回輸出的位元組數,錯誤則返回EOF。頭文件:stdio.h函數41。FP_SEG()獲取遠地址段值的宏原形:unsigned FP_SEG(void far *p)功能:取得和設置遠指針*p段地址值返回值:段地址值頭文件:dos.hfree()釋放已分配內存的函數原形:void free(void *block)功能:釋放由calloc、malloc、realloc函數調用所分配的內存。頭文件:stdlib.h、alloc.h函數42。fscanf()格式化輸入函數原形:int fscanf(FILE *stream,const char *format[,address,...])功能:從一個流中掃描輸入欄位,一次掃描一個字元,每個輸入欄位根據format所指格式指示符格式化後,把輸入欄位存在format後面由地址參數給出的位置上。使用格式:fscanf(文件指針,"輸入格式",輸入項系列);使用實例:fscanf(fp,"%d",&b); 從fp指向的文件中讀取十進制整數 (ASCⅡ形式)賦予變數b註:當文件指針是stdin時,與scanf功能完全相同頭文件:stdio.h函數43。fseek()移動文件指針函數原形:int fseek(FILE *stream,long offset,int whence)作用:強制一個文件的位置指針指向某個特定的位置(甚至超出文件的尾部)。使用格式:fseek(*文件指針,偏移(長整型),起點) 定義 FILE *文件指針名; "起點"取值: 0或SEEK_SET(表示文件開頭) 1或SEEK_CUR(表示當前位置) 2或SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失敗頭文件:stdio.h函數44。fwrite()把參數寫入流中的函數原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n個數據項(每個數據項長度為size個位元組)到指定的輸出文件後,數據從ptr處開始添加。ptr是指向任意對象的指針。返回值:調用成功時返回實際寫的數據項數,出錯時返回一短整形數值。頭文件:stdio.h例:fwrite(&s,sizeof(s),1,stream); 其中s是一結構變數,stream=fopen();函數45。gcvt()把雙精度數轉化成字元串的函數原形∶char*gcvt(value,ndigit,buf) 其中∶double value是待轉化數 int ndigit是轉化長度 char *buf保存轉化後的地址頭文件∶stdlib.h函數46。geninterrupt()執行中斷函數原形:void geninterrupt(int n)調用方式:geninterrupt(軟中斷號)功能:產生一個8086軟中斷註:需先向寄存器傳遞入口信息(用偽變數) 例如 偽變數=要賦的值(入口信息); 調用geninterrupt()函數後得接受出口信息 例如 變數名=偽變數偽變數∶Turbo C 允許使用偽變數直接訪問相應的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函數47。getc()從流中取字元的宏原形:int getc(FILE *stream)功能:返回輸入流stream中一個字元,移動文件指針使之指向下一個字元。使用格式:字元變數=getc(文件指針) (正常情況下讀取到代碼值,讀到文件尾或出錯時返回EOF)註:需定義 char 字元變數;FILE *文件指針;頭文件:stdio.h函數48。getch()從鍵盤無回顯地讀取一字元的函數功能:將鍵盤上輸入的單個字元的值(ASCⅡ 碼)立刻賦給字元型變數調用方式:字元形變數=getch()註:需先定義 char 字元形變數;頭文件:conio.h函數49。getchar()從stdin流中讀取一個字元的函數功能:將鍵盤上輸入的單個字元的值(ASCⅡ 碼)回車後賦給字元型變數調用方式:字元型變數=getchar()註:需先定義 char 字元型變數;頭文件:stdio.h函數50。getcurdir()讀取指定驅動器的當前目錄的函數原形:int getcurdir(int drive,char directory) drive=0(預設);1(A驅動器);... directory用來存放目錄名,不包括驅動器名,不以反斜杠開始。返回值:0(調用成功);1(出錯)頭文件:dir.h函數61。getcwd()讀取當前目錄的函數原形:char *getcwd(char *buf,int buflen)功能:讀取當前目錄的完整路徑名(包括驅動器名),最長為buflen個位元組,存放在buf中。如果buf為NULL,函數將分配一個buflen位元組長的緩沖區,以後可將本函數的返回值作為free函數的參數來釋放該緩沖區。返回值:若buf非空,調用成功返回buf,出錯返回NULL;若buf為NULL,返回指向已經分配的內存緩沖區地址。頭文件:dir.h函數62。getdate()讀取系統日期函數原形:void getdate(pdate) struct date { int da_year; int da_day; int da_mon; }; struct date *pdate;頭文件:dos.h函數63。getdfree()讀取磁碟空閑空間的函數原形:void getdfree(drive,dtable) unsigned char drive;驅動器號(0-當前;1-A;2-B;...) struct dfree { unsigned df_avail;//可使用的簇數 unsigned df_total;//每個驅動器的簇數 unsigned df_bsec;//每個扇區的位元組數 unsigned df_sclus;//每個簇的扇區數(出錯時返回0xffff) }*dtable;功能:把由drive指定的關於驅動器的信息返回到dtable函數64。getdisk()讀取當前磁碟驅動器號函數原形:int getdisk(void)功能:取得當前驅動器號(0=A;1=B;....)頭文件:dir.h函數65。getenv()讀取環境變數的當前值的函數原形:char *getenv(const char *name)用法:s=getenv("環境變數名"); 需先定義char *s;功能:返回一給定的環境變數值,環境變數名可大寫或小寫。如果指定的變數在環境中未定義,則返回一空串。 頭文件:stdlib.h函數66。getimage()將指定區域的點陣圖象存入內存的函數原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:將圖像(矩形區域)從屏幕拷貝到內存,*bitmap指向內存中存放圖像的區域。該區域的前兩個位元組用於存放矩形的高和寬。頭文件:graphics.h函數67。getmaxx()返回屏幕上最大的X坐標值的函數原形:int far getmaxx(void)功能:返回當前圖形驅動程序和圖形模式下最大的X坐標值。頭文件:graphics.h函數68。getmaxy()返回屏幕上最大的Y坐標值的函數原形:int far getmaxy(void)功能:返回當前圖形驅動程序和圖形模式下最大的Y坐標值。頭文件:graphics.h函數69。getpixel()讀取像素顏色的函數原形:unsigned far getpixel(int x,int y)頭文件:graphics.h函數70。getpsp()原形∶unsigned getpsp(void)功能∶使用DOS系統調用0x62,返回程序段前綴(PSP)的段地址頭文件∶dos.h函數71。gets()從標准輸入流stdio中讀取一字元串的函數功能:將鍵盤上輸入的字元串立刻賦予字元串變數並顯示出來調用方式:gets(字元串變數名)註:需定義 char *字元串變數名;函數72。gettime()讀取系統時間的函數原形:void gettime(ptime) struct time { unsigned char ti_min; unsigned char ti_hour; unsigned char ti_hund;//百分之一秒 unsigned char ti_sec; }; struct time *ptime;函數73。getvect()讀取中斷向量函數原形:void interrupt(*getvect(int interruptno))功能:讀入由interruptno(0-255之間)所指定的中斷向量值,並把該中斷向量值作為中斷函數的遠指針返回。返回值:指定中斷向量的當前4位元組值。頭文件:dos.h使用實例:oldfunc=getvect(5); 先定義void interrupt(*oldfunc)(); 用後恢復setvect(5,oldfunc);函數74。getx()返回當前圖形方式下位置的X坐標值的函數原形:int far getx(void);頭文件:graphics.h函數75。gety()返回當前圖形方式下位置的Y坐標值的函數原形:int far gety(void);頭文件:graphics.h函數76。imagesize()返回保存圖像緩沖區大小的函數原形:unsigned far imagesize(int left,int top,int right,int bottom)功能:確定保存圖像所需的存儲區大小。返回值:返回存儲區的大小(位元組),若所需內存大於等於64K-1位元組,則返回0xffff(-1)。頭文件:graphics.h函數77。initgraph()顯示模式控制函數(初始化圖形系統函數)功能:把圖形適配器設置為一種圖形模式,將選擇的圖形驅動程序(在BGI文件中)裝入到內存。調用方式: void far initgraph(int far *driver,int far *mode,char far*path) 其中: *driver可以是數值(0-10),也可是符號值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、 PC3270)。 *mode參數從圖形系統為各種常用的圖形適配器設置的圖形模式中(CGAC0、...、IBM8514HI--見頭文件graphics.h)選取。常用的有:VGAMED或1
Ⅲ 求C語言的數學函數大全
數學函數(原型聲明所在頭文件為math.h、stdlib.h、string.h、float.h)
int abs(int i) 返回整型參數i的絕對值
double cabs(struct complex znum) 返回復數znum的絕對值
double fabs(double x) 返回雙精度參數x的絕對值
long labs(long n) 返回長整型參數n的絕對值
double exp(double x) 返回指數函數ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,分配得來的n存貯在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回x的開方
double acos(double x) 返回x的反餘弦cos-1(x)值,x為弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度
double atan(double x) 返回x的反正切tan-1(x)值,x為弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度
double cos(double x) 返回x的餘弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
double tan(double x) 返回x的正切tan(x)值,x為弧度
double cosh(double x) 返回x的雙曲餘弦cosh(x)值,x為弧度
double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度
double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y) 返回直角三角形斜邊的長度(z),
x和y為直角邊的長度,z2=x2+y2
double ceil(double x) 返回不小於x的最小整數
double floor(double x) 返回不大於x的最大整數
void srand(unsigned seed) 初始化隨機數發生器
int rand() 產生一個隨機數並返回這個數
double poly(double x,int n,double c[])從參數產生一個多項式
double modf(double value,double *iptr)將雙精度數value分解成尾數和階,iptr返回整數部分,函數返回小數部分:fraction = modf(number, &integer);
double fmod(double x,double y) 返回x/y的余數
double atof(char *nptr) 將字元串nptr轉換成浮點數並返回這個浮點數
double atoi(char *nptr) 將字元串nptr轉換成整數並返回這個整數
double atol(char *nptr) 將字元串nptr轉換成長整數並返回這個整數
char *ecvt(double value,int ndigit,int *decpt,int *sign)
將浮點數value轉換成字元串並返回該字元串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
將浮點數value轉換成字元串並返回該字元串
char *gcvt(double value,int ndigit,char *buf)
將數value轉換成字元串並存於buf中,並返回buf的指針
char *ultoa(unsigned long value,char *string,int radix)
將無符號整型數value轉換成字元串並返回該字元串,radix為轉換時所用基數
char *ltoa(long value,char *string,int radix)
將長整型數value轉換成字元串並返回該字元串,radix為轉換時所用基數
char *itoa(int value,char *string,int radix)
將整數value轉換成字元串存入string,radix為轉換時所用基數
double atof(char *nptr) 將字元串nptr轉換成雙精度數,並返回這個數,錯誤返回0
int atoi(char *nptr) 將字元串nptr轉換成整型數, 並返回這個數,錯誤返回0
long atol(char *nptr) 將字元串nptr轉換成長整型數,並返回這個數,錯誤返回0
double strtod(char *str,char **endptr)將字元串str轉換成雙精度數,並返回這個數,
long strtol(char *str,char **endptr,int base)將字元串str轉換成長整型數, 並返回這個數。
int matherr(struct exception *e) 用戶修改數學錯誤返回信息函數(沒有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)
用戶修改數學錯誤返回信息函數(沒有必要使用)
unsigned int _clear87() 清除浮點狀態字並返回原來的浮點狀態
void _fpreset() 重新初使化浮點數學程序包
unsigned int _status87() 返回浮點狀態字
Ⅳ c語言中,函數類型有幾種
一般包括字元庫函數,數學函數,目錄函數,進程函數,診斷函數,操作函數等。
字元庫函數所在函數庫為ctype.h;數學函數所在函數庫為math.h、stdio.h、string.h、float.h;目錄函數所在函數庫為dir.h、dos.h;進程函數所在函數庫為stdlib.h、process.h。
診斷函數所在函數庫為assert.h、math.h;介面子程序所在函數庫為:dos.h、bios.h;操作函數所在函數庫為string.h、mem.h;時間日期函數函數庫為time.h、dos.h。
(4)c語言里數學函數有哪些擴展閱讀
C語言為一種程序設計的入門語言。由於C語言的語句中沒有提供直接計算sin或cos函數的語句,會造成編寫程序困難;但是函數庫提供了sin和cos函數,可以拿來直接調用。顯示一段文字,我們在C語言中找不到顯示語句,只能使用庫函數printf。
C語言的庫函數並不是C語言本身的一部分,它是由編譯程序根據一般用戶的需要,編制並提供用戶使用的一組程序。C的庫函數極大地方便了用戶,同時也補充了C語言本身的不足。在編寫C語言程序時,使用庫函數,既可以提高程序的運行效率,又可以提高編程的質量。
Ⅳ c語言中有哪些函數
C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結束標志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin時,getc(stdin)就等同於getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.
int
getchar(void)
getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:while
((c
=
getchar())
!=
'#')這是以#來結束的.
int
putchar(int
ch)
putchar(ch)主要是把字元ch寫到標准流stdout中去.
char
*
gets(char
*str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.
int
puts(char
*str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當前位置讀取一個字元.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數據寫入流式文件中.
數據塊讀寫函數
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數說明:
buffer:是一個指針。
對fread
來說,它是讀入數據的存放地址。
對fwrite來說,是要輸出數據的地址(均指起始地址)。
size:
要讀寫的位元組數。
count:
要進行讀寫多少個size位元組的數據項。
fp:
文件型指針。
Ⅵ C語言常用函數都有哪些
c庫函數
1。數學函數。<math.h>
2字元函數和字元串函數ctype.h
3輸入輸出函數<stdio.h>
4動態存儲分配函數calloc(),malloc().free(),realloc()
……
Ⅶ C語言數學函數
/*------------------------------*/
abs(計算整型數的絕對值)
相關函數 labs, fabs
表頭文件 #include<stdlib.h>
定義函數 int abs (int j)
函數說明 abs()用來計算參數j的絕對值,然後將結果返回。
返回值 返回參數j的絕對值結果。
範例 #ingclude <stdlib.h>
main(){
int ansert;
answer = abs(-12);
printf("|-12| = %d\n", answer);
}
執行 |-12| = 12
/*---------------------------------*/
exp(計算指數)
相關函數 log,log10,pow
表頭文件 #include<math.h>
定義函數 double exp(double x);
函數說明 exp()用來計算以e為底的x次方值,即ex值,然後將結果返回。
返回值 返回e的x次方計算結果。
附加說明 使用GCC編譯時請加入-lm。
範例 #include<math.h>
main()
{
double answer;
answer = exp (10);
printf("e^10 =%f\n", answer);
}
執行 e^10 = 22026.465795
/*-----------------------------------*/
sqrt(計算平方根值)
相關函數 hypotq
表頭文件 #include<math.h>
定義函數 double sqrt(double x);
函數說明 sqrt()用來計算參數x的平方根,然後將結果返回。參數x必須為正數。
返回值 返回參數x的平方根值。
錯誤代碼 EDOM 參數x為負數。
附加說明 使用GCC編譯時請加入-lm。
範例 /* 計算200的平方根值*/
#include<math.h>
main()
{
double root;
root = sqrt (200);
printf("answer is %f\n",root);
}
執行 answer is 14.142136
/*--------------------------------*/
fabs(計算浮點型數的絕對值)
相關函數:abs
表頭文件:#include<math.h>
定義函數:double fabs(double x);
函數說明:fabs()用來計算浮點型數x的絕對值,然後將結果返回。
返回值:返回參數x的絕對值計算結果
#include <math.h>
main()
{
double answer;
answer=fabs(-3.141592);
printf("|-3.141592|=%f\n",answer);
}
執行結果
|-3.141592|=3.141592
Ⅷ c語言中math頭文件中的函數有哪些
數學函數庫,一些數學計算的公式的具體實現是放在math.h里,具體有:
1 三角函數
double sin (double);
double cos (double);
double tan (double);
2 反三角函數
double asin (double); 結果介於[-PI/2, PI/2]
double acos (double); 結果介於[0, PI]
double atan (double); 反正切(主值), 結果介於[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圓值), 結果介於[-PI/2, PI/2]
3 雙曲三角函數
double sinh (double);
double cosh (double);
double tanh (double);
4 指數與對數
double exp (double);
double sqrt (double);
double log (double); 以e為底的對數
double log10 (double);
double pow(double x, double y)//計算以x為底數的y次冪
5 取整
double ceil (double); 取上整
double floor (double); 取下整
6 絕對值
double fabs (double);
double cabs(struct complex znum) //求復數的絕對值
7 標准化浮點數
double frexp (double f, int *p); 標准化浮點數, f = x * 2^p, 已知f求x, p ( x介於[0.5, 1] )
double ldexp (double x, int p); 與frexp相反, 已知x, p求f
8 取整與取余
double modf (double, double*); 將參數的整數部分通過指針回傳, 返回小數部分
double fmod (double, double); 返回兩參數相除的余數
9其他
double hypot(double x, double y);//已知直角三角形兩個直角邊長度,求斜邊長度
double ldexp(double x, int exponent);//計算x*(2的exponent次冪)
double poly(double x, int degree, double coeffs [] )//計算多項式
nt matherr(struct exception *e)//數學錯誤計算處理程序
source: 《C & C++ Code Capsules》
Ⅸ c語言中都有哪幾種函數
看包含什麼頭文件。
一般用的比較多的就是stdio.h,string.h和math.h三個頭文件裡面的函數。
都是標准庫函數,有一些事字元串處理函數,還有數學函數等等。
Ⅹ 在c語言里有多少種函數
共八種:分類函數,數學函數,目錄函數,進程函數,診斷函數,介面子程序,操作函數,時間日期函數 你可以在網路文庫里查看各函數的詳細信息及用法http://wenku..com/view/97c384360b4c2e3f572763d9.html