1、C语言常用函数数学函数数学函数的原型 math.h中数学函数表函数名称函数与型参类型函数功能返回值acosdouble acos(x)double x;计算cos-1(x)的值-1=x=1计算结果asindouble asin(x)double x;计算sin-1(x)的值1=x=1计算结果atandouble atan(x)double x;计算tan-1(x)的值计算结果atan2double atan2(x,y)double x;计算tan-1(x/y)的值计算结果cosdouble cos(x)double x;计算cos(x)的值x的单位为弧度计算结果coshdouble cosh(
2、x)double x;计算x的双曲余弦cosh的值计算结果expdouble exp(x)double x;求ex的值计算结果fabsdouble fabs(x)double x;求x的绝对值计算结果floordouble floor(x)double x;求不大于x的最大整数该整数的双精度实数fmoddouble fmod(x,y)double x,y;求整除x/y的余数返回余数的双精度实数frexpdouble frexp(val,eptr)double val;int * eptr把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n,n存放在eptr指向的变量中数
3、字部分x0.5=x=0)计算结果tandouble tan(x)double x;计算tan(x)的值x位为弧度计算结果tanhdouble tanh(x)double x;计算x的双曲线正切函数tanh(x)的值计算结果字符函数字符函数原型在ctype.h中字符函数表函数名称函数与行参类型函数功能返回值isalnumint isalnum(ch)int ch;检查ch是否字母或数字是字母或数字返回;否则返回0isalphaint isalpha(ch)int ch;检查ch是否字母是字母返回1;则返回0iscntrlint iscntrl(ch)int ch;检查ch是否控制字母(其ASCI
4、I码在0和0xlf之间)是控制字符,返回1;否则返回0isdigitint isdigit(ch)int ch;检查ch是否数字(09)是数字返回1;否则返回0isgraphint isgraph(ch)int ch;检查ch是否是可打印字符(其ASII码在021到07e之间)不包括空格是打印字符返回1;否则返回0islowerint islower(ch)int ch检查ch是否是小写字母(az)是小写字母返回1;否则返回0isprintint isprint(ch)int ch检查ch是否可打印字符(不包括空格),其ASCII码值在021到07e之间是可打印字符,返回1;否则返回0issp
5、aceint isspace(ch)int ch;检查ch是否空格、跳格符(制表符)或换行符是,返回1;否则返回0函数名称函数与行参类型函数功能返回值isupperint isupper(ch)int ch;检查ch是否大写字母(AZ)是大写字母,返回1;否则返回0isxdigitint isxdigit(ch)int ch检查ch是否一个十六进制数字(即09,或AF,af)是,返回1;否则返回0tolowerint tolower(ch)int ch将ch字符转换为小写字母返回ch对应的小写字母toupperint toupper(ch)int ch将ch字符转换为大写字母返回ch对应的大写
6、字母字符串函数字符串函数原型在string.h中字符串函数表函数名称函数与行参类型函数功能返回值memchrvoid memchr(buf,ch,count)void * buf;char ch;Unsigned int count;在buf的前count个字符里搜索字符ch首次出现的位置返回值指向buf中ch第一次出现的位置指针;若没有找到ch返回NULLmemcmpint memcmp(buf1,buf2,count)void * buf1,* buf2;unsigned int count按字典顺序比较由buf1和buf2指向数组的前count个字符buf1buf2;为正数;memcpy
7、void *memcpy(to,from,count)void * to,*from;unsigned int count;将from指向数组中的前count个字符拷贝到to指向的数组中,from和to指向的数组不允许重叠返回指向to的指针mem-movevoid * mem-move(to,from,count)void * to,* from;unsigned int count;将from指向的数组中的前count个字符拷贝到to指向的数组中,from和to指向的数组可以允许重叠返回指向to的指针memsetvoid * memset(buf,ch,count)void * buf;ch
8、ar ch;unsigned int count;将字符ch拷贝到buf所指向的数组的前count个字符串返回bufstcatchar * strcat(str1,str2)char *str1, * str2;把字符串str2街道str1后面,取消原来的str1最后面的串结束符0返回str1函数名称函数与行参类型函数功能返回值strchrchar * strchr(str,ch)char * str;int ch;找出str指向的字符串中第一次出现字符ch的位置。返回指向该位置的指针,若找不到,则应返回NULL。strcmpint strcmp(str1,str2)char * str1 ,
9、*str2;比较字符串str1和str2str1str2;为正数;strcpychar * strcpy(str1,str2)char * str1, * str2;把str2指向的字符串拷贝到str1中去返回str1strlenunsigned int strlen(str)char *str;统计字符串str中字符的个数(不包括终止符0)返回字符个数strncatchar * strncat(str1,str2,count)char * str1, * str2;Unsigned int count;把字符串str2指向的字符串中最多count个字符连到串str1后面,并以NULL结尾返回
10、str1strncmpint strncmp(str1,str2,count)char * str1, * str2;unsigned int count;比较字符串str1和str2中最多的前count字符str1str2;为正数;strncpychar * strncpy(str1,str2,count)char * str1, * str2;unsigned int count;把Str2指向的字符串中最多前count个字符拷贝到串str1中去返回str1strnsetchar * setnset(buf,ch,count)char *buf;char ch;unsigned int c
11、ount;将字符ch拷贝到buf所指向的数组的前count个字符串中返回bufstrsetchar * strset(buf,ch)char * buf;char ch;将buf所指向字符串中的全部字符都变为ch返回bufstrstrchar * strstr(str1,str2)char * str1, * str2;寻找str2指向的字符串在str1指向的字符串中首次出现的位置反回str2指向的子串首次出现的地址,否则返回NULL输入输出函数输入输出函数原型在stdio.h中输入输出函数表函数名称函数与行参类型函数功能返回值Clearerrvoid clearerr(fp)FILE * F
12、P;清除文件指针错误无函数名称函数与行参类型函数功能返回值closeint close(fp)int fp;关闭文件(非ANSI标准)关闭成功返回0,不成功返回-1creatint creat(filename,mode)char * filename;int mode;以mode所指定的方式建立文件(非ANSI标准)成功则返回正数,否则返回-1eofin eof(fd)int fd;判断文件(非ANSI标准)是否结束遇文件结束,返回1;否则返回0fcloseint fclose(fp)FILE * fp;关闭fp所指的文件,释放文件缓冲区关闭成功返回0;否则返回非0feofint feof(
13、fp)FILE * fp;检查文件是否结束遇文件结束返回非0;否则返回0ferrorint frrrorfp)FILE * fp;测试fp所指的文件是否有错误无错误返回;否则返回非0fflushint fflush(fp)FILE * FP;将fp所指的文件的控制信息和数据存盘存盘正确返回0;否则返回非0fgetcin fgetc(fp)FILE * fp;从fp指向的文件中取得下一个字符返回得到的字符。若出错返回EOFfgetschar * fgets(buf,n,fp)char * buf;int n;FILE * fp;从fp指向的文件读取一个长度为(n-1)的字符串,存入起始地址为bu
14、f空间返回地址buf,若遇文件结束或出错,则返回EOFfopenFILE * fopen(filename,mode)char * filename. * mode;以mode指定的方式打开名为filename文件成功,返回一个文件指针;否则返回0fprintfint fprintf(fp,format,args,)FILE * fp;char * format;把args的值以format指定的格式输出到fp所指定的文件中实际输出的字符数fputcint fputc(ch,fp)char ch;FILE * FP;将字符ch输出到fp指向的文件中成功,则返回该字符,否则返回EOFfputsi
15、nt fputs(str,fp)char str;FILE * fp;将str所指定的字符串输出到fp指定的文件中成功返回0,若出错返回EOFfreadint fread(pt,size,n,fp)char * pt;unsigned size;unsigned n;FILE * fp;从fp所指定的文件中读取长度为size的n个数据项,存到pt所指向的内存区返回所读的数据项个数,如遇文件结束或出错,返回0fscanfint fscan(fp,format,args,)FILE * fp;char format;从fp指定的文件中按给定的for-mat格式将读入的数据送到args所指向的内存变
16、量中(args是指针)已输入的数据个数函数名称函数与行参类型函数功能返回值fseekint fseek(fp,offset,base)FILE * fp;long offset;int base;将fp所指向的文件的位置指针移到base所指出的位置为基准,以offset为offset为位移量的位置返回当前位置,否则返回返回-1ftelllong ftell(fp)FILE * fp;返回fp所指向的文件中的读写位置返回文件中的读写位置,否则返回0fwriteint fwrite(ptr,size,n,fp)char * ptr;FILE * fp;unsigned size,n;把ptr所指向
17、的n * size个字节输出到fp所指向的文件中写到fp文件中的数据项的个数getcint getc(fp)FILE * fp从fp指向的文件中读入下一个字符返回读入的字符;若文件结束后或出错返回EOFgetcharint getchar()从标准输入设备读取下一个字符返回字符,r若文件结束或出错返回-1getschar * gets(str)char * str;从标准输入设备读取字符串存入str指向的数组成功返回指针str,否则返回NULLopenint open(filename,mode)char * filename;int mode;以mode指定的方式打开已存在的名为filena
18、me的文件(非ANSI标准)返回文件号(正数);若文件打开失败,返回-1printfint printf(format,args,)char * format;在format指定的字符串的控制下,将输出列表args的值输出到标准输出设备输出的字符个数。若出错,否则返回负数putcint putc(ch,fp)int ch;FILE * fp;把一个字符ch输出到fp所指的文件中输出的字符ch,若出错,返回EOFputcharint putchar(ch)char ch;把字符ch输出到标准的输出设备输出字符ch,若出错,则返回EOFputsint puts(str)char * str;把st
19、r指向的字符串输出到标准输出设备,将0转换为回车换行返回换行符,若失败,返回EOFputwint puw(w,fp)int I;FILE *fp;将一个整数I(即一个字)写到fp所指的文件(非ANSI标准)中返回输出整数;若出错,返回EOFreadint read(fd,buf,count)int fd;char * buf;unsigned int count;从文件号fd所指示的文件(非ANSI标准)中读count个字节到buf指示的缓冲区中返回真读入的字节个数,如遇文件结束返回0,出错返回-1函数名称函数与行参类型函数功能返回值removeint remove(fname)char *
20、fname;删除fname为文件名的文件成功返回0,出错返回-1renameint rename(oname,nname)char * oname, * nname;把oname所指的文件名改为由nname所指的文件名成功返回0;出错返回-1rewindvoid rewind(fp)FILE * fp;将fp指定的文件指针置于文件头,并清除文件结束标志和错误标志成功返回0;出错返回非零值scanfint scanf(format,args,)char * format;从标准输入设备按format指示的格式字符串规定的格式,输入数据给args所指示的单元。Args为指针读入并赋给args数据个
21、数。遇文件结束返回EOF;若出错返回0writeinr write(fd,buf,count)int fd;char * buf;unsigned count;从buf指示的缓冲区输出count个字符到fp所指的文件(非ANSI标准)中返回实际输出的字节数,如出错返回-1动态存储分配函数动态存储分配函数的远型在stdlib.h中动态存储分配函数表函数名称函数与行参类型函数功能返回值callocvoid * calloc(n,size)unsigned n;unsigned size;分配n个数据项的内存连续空间,每个数据项的大小为size分配内存单元的起始地址,若不成功,返回0freevoid
22、 free(p)void * p;释放p所指的内存区无mallocvoid * malloc(size)unsigned size;分配size字节的内存区所分配的内存区地址,如内存不够,返回0reallocvoid * realloc(p,size)void * p;unsigned size将p所指的已分配的内存区的大小改为size,size可以比原来分配的空间大或小返回指向该内存区的指针。若重新分配失败,返回NULL其他函数“其他函数”是C语言的标准库函数,由于不便归入某一类,所以单独列出。函数的原型在stdlib,h中其他函数表函数名称函数与行参类型函数功能返回值absint abs(
23、num)int num;计算整数num的绝对值返回计算结果atofdouble atof(str)char * str;将str指向的字符串转换为一个double型的值返回双精度计算结果atoiint atoi(str)char * str;将str指向的字符串转换为一个int型的整数返回转换结果atollong atol(str)char * str;将str所指向的字符串转换一个long型的整数返回转换结果exitvoid exit(status)int status;终止程序运行。将status 的值返回调用的过程无itoachar * itoa(n,str,radix)int n,ra
24、dix;char * str将整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串中返回一个指向str的指针labslong labs(num)log num计算长整数num的绝对值返回计算结果ltoachar * ltoa(n,str,radix)long int n;int radix;char * str;将长整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串中返回一个指向str的指针randint rand()产生0到RAND-MAX之间的伪数。RAND-MAX在头文件中定义。返回一个伪随机(整)数randomint random(
25、num)int num;产生0到num之间的随机数返回一个随机(整)数Random-izevoid randomize()初始化随机函数。使用时要求包含头文件time.h无systemint systen(str)char * str;将str所指向的字符串作为命令传递DOS的命令处理器返回所执行命令的退出状态函数名称函数与行参类型函数功能返回值stroddouble strtod(start,end)char * start;char * *end;将start指向的数字字符串转换成double,直到出现不能转换为浮点数的字符为止,剩余的字符串赋给指针end *HUGE-VAL是turbo
26、C在头文件math.h中定义的数学函数溢出标志值返回转换结果。若未转换则返回0。若转换出错,返回HUGEVAL表示上溢,或返回-HUGEVAL表示下溢strtollong int strtol(start,end,radix)char * start;char * *end;int radix将start指向的数字字符串转换成long,直到出现不能转换为长整型数的字符为止,剩余的字符串赋给指针end。转换时,数字的进制由radix确定。 * LONG-MAX是turbo C在头文件limits.h中定义的long型可表示的最大值返回转换结果。若未转换则返回0。若转换出错,返回LONGVAL表示上溢,或返回-LONGVAL表示下溢运算符及其结合性优先级运算符含义要求操作数的个数结合性1()圆括号1(单止运算符) 左结合性(从左向右)下标运算符2(双目运算符)箭头运算符.圆点运算符2!逻辑非运算符1(单目运算符) 右结合性(从右向左)按位取反运算符+ +自增运算符 自减运算符负号运算符(类型)强制类型转换运算符*指针间接引用运算符&取地址运算符sizeof取占内存大小运算符优先级运算符含义要求操作数的个数结合性3*乘法运算符2(双目运算符)左结合性
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1