C语言常用库函数C库函数1.数学函数头文件为#include<math.h>或者#include"math.h"函数名函数原型功能返回值说明abs int abs(int x) 求整数x的绝对值计算结果acos double acos(double x) 计算cos-1(x)的值计算结果X应在-1到1范围内asin double asin(double x) 计算sin-1(x)的值计算结果X应在-1到1范围内atan double atan(double x) 计算tan-1(x)的值计算结果Atan2 double atan2(doublex,double y)计算tan-1(x/y)的值计算结果cos double cos(double x) 计算cos(x)的值计算结果X的单位为弧度cosh double cosh(double x) 计算x的双曲余弦函数cosh(x)的值计算结果exp double exp(double x) 求e x的值计算结果fabs double fabs(double x) 求x的绝对值计算结果floor double floor(doublex)求出不大于x的最大整数该整数的双精度实数fmod double fmod(doublex,double y)求整除x/y的余数返回余数的双精度实数frexp double frexp(double 把双精度数val分返回数字val, int *eptr) 解为数字部分(尾数)x和以2为底的指数n,即val=x*2nn存放在eptr指向的变量中部分x 0.5≤x<1log double log(double x) 求log e x,即ln x 计算结果log10 double log10(doublex)求log10x 计算结果modf Double modf(doubleval, double *iptr)把双精度数val分解为整数部分和小数部分,把整数部分存到iptrVal的小数部分pow double pow(doublex,double y)计算xy的值计算结果rand Int rand(void)产生随机-90到32767间的随机整数随机整数sin Double sin(double x) 计算sin x的值计算结果X单位为弧度sinh double sinh(double x) 计算x的双曲正弦函数sinh(x)的值计算结果sqrt Double sqrt(double x) 计算x计算结果X应≥0 tan Double tan(double x) 计算tan(x)的值计算结果X单位为弧度tanh Double tanh(double x) 计算x的双曲正切函数tanh(x)的值计算结果isg rap hIntisgraph(int ch);检查ch是否可打印字符(其ASCII码在0x21和0x7E之间),不包括空格是,返回1;不是,则返回0ctype.hisl owe rIntislower(int ch);检查ch是否小写字母(a~z)是,返回1;不是,则返回0ctype.hisp rin t Intisprint (intch);检查ch是否可打印字符,(包括空格),其ASCII码在0x20和0x7E之间,是,返回1;不是,则返回0ctype.hisp unc tIntispunct(int ch);检查ch是否标点字符(不包括空格),即除字母、数字和空格以是,返回1;不是,则返回0ctype.h外的所有可打印字符iss pac eIntisspace(int ch);检查ch是否空格符、跳格符(制表符)或换行符是,返回1;不是,则返回0ctype.hisu ppe rIntisupper(int ch);检查ch是否大写字母(A~Z)是,返回1;不是,则返回0ctype.hisx dig it Intisxdigit (intch);检查ch是否一个十六进制数字字符(即0~9,或A~F,或a~f)是,返回1;不是,则返回0ctype.hstr catchar*strcat(char*str1,char*str2);把字符串str2接到str1后面,str1最后面的’\0’被取消Str1string.hstr chrchar*strchr(char*str,intch);找出str指向的字符串中第一次出现字符ch的位置返回指向该位置的指针,如找不到,则返回空指针string.hstr cmpchar*strcmp(char*str1,char*str2);比较两个字符串str1、str2Str1<str2,返回负数;Str1=str2,返回0;str1>str2,返回正数。
string.hstr cpychar*strcpy(char*str1,char把str2指向的字符串复制到str1中去返回str1string.h*str2);str len unsignedintstrlen(char*str);统计字符串str中字符的个数(不包括终止符’\0’)返回字符个数string.hstr strchar*strstr(char*str1,char*str2);找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)返回该位置的指针,如找不到,返回空指针string.htol owe rinttolower(int ch);将ch字符转换为小写字母返回ch所代表的字符的小写字母string.htou ppe rinttoupper(int ch);将ch字符转换为大写字母返回ch所代表的字符的大string.h写字母2.输入输出函数函数名函数原型功能返回值说明ClearerrVoidclearerr(FILE*fp)使fp所指文件的错误,标志和文件结束标志置0无CloseIntclose(int fp)关闭文件关闭成功返回0;不成功,返回1;非ANSI标准CreatIntcreat(char*filename,int以mode所指定的方式建立文件成功则返回正数;否则返回-1非ANSI标准mode)EofInteof(intfd)检查文件是否结束遇文件结束,返回1;否则返回0非ANSI标准FcloseIntfclose(FILE *fp)关闭fp所指的文件,释放文件缓存区有错则返回非0;否则返回0FeofIntfeof(FILE *fp)检查文件是否结束遇文件结束符返回非0值;否则返回0FgetcIntfgetc(FILE *fp)从fp所指定的文件中取得下一个字返回所得到的字符,若读入错误,返回符EOFFgetsChar*fgets(char*buf,intn,FILE*fp)从Fp指向的文件读取一个长度为(n-1)的字符串,存入起始地址为buf的空间返回地址buf,若遇文件结束或出错,返回NULLFopenFILE*fopen(char*filename,char *mode)以mode指定的方式打开名为filename的文件成功,返回一个文件指针(文件信息区的起始地址);否则返回0FprintfIntfprintf(FILE*fp,char*format,args,...)把args的值以format指定的格式输出到fp指向的文件中实际输出的字符数FputcIntfputc(charch,FILE*fp)将字符ch输出到fp指向的文件中成功,返回该字符;否则返回非0FputsIntfputs(char *str,FILE*fp)将str指向的字符串输出到fp所指定的文件成功返回0;若出错返回非0FreadIntfread(char*pt,unsignedsize,unsignedn,FILE*fp)从fp所指定的文件中读取长度为size的n个数据项,存到pt所指指向的内存区返回所读的数据项个数,如遇文件结束或出错返回0FscanfIntfscanf(FILE*fp,charformat,args,...)从fp指定的文件中按format给定的格式将输入数据送到args所已输入的数据个数指向的内存单元(args 是指针)FseekIntfseek(FILE*fp,longoffset,int base)将fp所指向的文件的位置指针移到以base所给出的位置为基准、以offset为位移量的位置返回当前位置;否则,返回-1FtellLongftell(FILE *fp)返回fp所指向的文件返回fp所指向的文件的读写位置中读写位置FwriteIntfwrite(char*ptr,unsignedsize,unsignedn,FILE*fp)把ptr所指向的n*size个字节输出到fp所指向的文件中写到fp文件中的数据项的个数GetcIntgetc(FILE *fp)从fp所指向的文件中读入一个字符返回所读的字符,若文件结束或出错,返回EOFGetcharIntgetchar(void)从标准输入设备读取下一个所读字符。
若文件结束或出错,字符返回-1GetwIntgetw(FILE *fp)从fp所指向的文件中读取下一个字(整数)输入的整数。
若文件结束或出错,返回-1非ANSI标准OpenIntopen(char*filename,intmode)以mode指出的方式打开已存在的名为filename的文件返回文件号(整数);如打开失败,返回-1非ANSI标准Printf Int 按输出字Formatprintf(char *format, args,...)format指向的格式字符串所规定的格式,将输出表列args的值输出到标准输出设备符的个数,若出错,返回负数可以是一个字符串,或字符数组的起始地址PutcIntputc(charch,FILE*fp)把一个字符ch输出到fp所指的文件中输出的字符ch,若出错,返回EOFPutcharIntputchar(char把字符ch输出到标准输出的字符ch,若出错,ch) 输出设备返回EOFPutsIntputs(char *str)把str指向的字符串输出到标准输出设备,将’\0’转换为回车换行返回换行符,若失败,返回EOFPutwIntputw(intw,FILE*fp)将一个整数w(即一个字)写到fp指向的文件中返回输出的整数,若出错,返回EOF非ANSI标准ReadIntread(int从文件号fd所返回真正读入非ANSI标准fd,char *buf,uns igned count)指示的文件中读count个字节到由buf指示的缓冲区中的字节个数,如遇文件结束返回0,出错返回-1RenameIntrename(char*oldname,char*newname)把由oldname所指的文件名,改为由newname所指的文件名成功返回0;出错返回-1RewindVoidrewind(FILE *fp)把fp指示的文件中的位置指针置于无文件开头位置,兵清除文件结束标志和错误标志ScanfIntscanf(char*format,args,...)从标准输入设备按format指向的格式字符串所规定的格式,输入数据给args所指向的单元读入并赋给args的数据个数,遇文件结束返回EOF,出错返回0Args为指针Write Int 从buf返回实非ANSIwrite(int fd,char *buf,uns igned count)指示的缓冲区输出count个字符到fd所标志的文件中际输出的字节数,如出错返回-1标准3.动态存储分配函数函数名函数原型功能返回值CallocVoid*calloc(unsignedn,unsignsize)分配n个数据项的内存连续空间,每个数据项的大小为size分配内存单元的起始地址,如不成功,返回0freeVoidfree(void*p)释放p所指的内存区无mallocVoid*malloc(unsignedsize)分配size字节的存储区所分配的内存区起始地址,如内存不够,返回0ReallocVoid*realloc(void *p,将p所指出的已分配内存区的返回指向该内存区的指针Unsigned size)大小改为size,size 可以比原来分配的空间大或小。