常用ANSI C标准库函数

数学函数

应包含头文件<math.h>

函数名函数原型功能说明
absint abs(int x)计算并返回整数x的绝对值
acosdouble acos(double x)计算并返回arccos(x)的值要求x在-1~1之间
asindouble asin(double x)计算并返回arcsin(x)的值要求x在-1~1之间
atandouble atan(double x)计算并返回arctan(x)的值
atan2double atan2(double x,double y)计算并返回arctan(x/y)的值
cosdouble cos(double x)计算并返回cos(x)的值x的单位为弧度
coshdouble cosh(double x)计算并返回双曲余弦函数cosh(x)的值
expdouble exp(double x)计算并返回 ex 的值
fabsdouble fabs(double x)计算并返回x的绝对值x为双精度
floordouble floor(double x)计算并返回不大于x的最大双精度整数
fmoddouble fmod(double x,double y)计算并返回x/y后的余数
frexpdouble frexp(double val,int *eptr)把双精度数val分解成数字部分(尾数)x和以2为底的指数n,即 val=x2n ,n存放在eptr指向的变量中返回尾数x,x在0.5~1.0之间
labslong labs(long x)计算并返回长整数x的绝对值
logdouble log(double x)计算并返回自然对数ln(x)的值x>0
log10double log10(double x)计算并返回常用对数log10(x)的值x>0
modfdouble modf(double val,int *iptr)把双精度数val分解成数字部分和小数部分,小数部分返回,把整数部分存放在iptr指向的双精度型变量中
powdouble pow(double x,double y)计算并返回 xy 的值
pow10double pow10(int x)计算并返回 10x 的值
sindouble sin(double x)计算并返回正弦函数sin(x)的值x的单位是弧度
sinhdouble sinh(double x)计算并返回双曲正弦函数sinh(x)的值
sqrtdouble sqrt(double x)计算并返回x的平方根x>=0
tandouble tan(double x)计算并返回正切函tan(x)的值x的单位是弧度
tanhdouble tanh(double x)计算并返回双曲正切函数tanh(x)的值

字符判别与转换函数

应包含头文件<ctype.h>

函数名函数原型功能说明
isalnumint isalnum(int ch)检查ch是否是字母或数字是字母或数字返回1,否则返回0
isalphaint isalpha(int ch)检查ch是否是字母是字母返回1,否则返回0
isasciiint isascii (int ch)检查ch是否是ASCII字符是返回1,否则返回0
iscntrlint iscntrl (int ch)检查ch是否控制字符(其ASCII码在0和0xlF之间)是控制字符返回1,否则返回0
isdigitint isdigit (int ch)检查ch是否是数字
isgraphint isgraph (int ch)检查ch是否是可打印字符,不包括空格和控制字符是可输出字符返回1,否则返回0
islowerint islower(int ch)检查ch是否是小写字母是小写字母 1,否则返回0
isprintint isprint (int ch)检查ch是否是可打印字符,包括空格
ispunctint ispunct (int ch)检查ch是否是标点字符(不包括空格),即除字母、数字和空格以外的所有可输出字符是标点返回1,否则返回0
isspaceint isspace (int ch)检查ch是否是空格、水平制表符(‘\t’)、回车符(‘\n’)、走纸换行(‘\f’)、垂直制表符(‘\v’)或换行符(‘\n’)是返回1,否则返回0
isupperint isupper(int ch)检查ch是否是大写字母是大写字母返回1,否则返回0
isxdigitint isxdigit (int ch)检查ch是否是一个十六进制数字是返回1,否则返回
tolowerint tolower (int ch)将ch字符转换为小写字母返回ch对应的小写字母
toupperint toupper (int ch)将ch字符转换为大写字母返回ch对应的大写字母

字符串处理函数

应包含头文件<string.h>

函数名函数原型功能说明
memsetvoid *memset (void *buf, char ch, unsigned count)将字符ch复制到buf指向的数组前count个字符中返回buf
memcpyvoid *memcpy (void *dest, const void *src, size_t n)从src所指的内存地址拷贝n个字符到dest所指的内存地址。和strncpy不同,memcpy并不是遇到’\0’就结束,而是一定会拷贝完n个字节返回dest
memmovevoid *memmove (void *dest, const void *src, size_t n)从src所指的内存地址拷贝n个字符到dest所指的内存地址,和memcpy有一点不同,memcpy的两个参数src和dest所指的内存区间如果重叠则无法保证正确拷贝,而memmove却可以正确拷贝返回dest
strcatchar *strcat (char *str1, const char *str2)把字符串str2接到sht1后面,取消原来str1最后面的串结束符“\0”返回str1
strchrchar *strchr (char *str, int ch)找出str指向的字符串中第一次出现字符ch的位置返回指向该位置的指针,如找不到,则返回0
strcmpchar *strcmp (const char *str1, const char *str2)比较字符串str1和str2若str1 < str2,返回-1 str1=str2 返回0 str1 > str2,返回1
strcpychar *strcpy (char *str1, const char *str2)把str2指向的字符串复制到str1中去返回str1
strlenint strlen(const char *str)统计字符串str中字符的个数(不包括结束符“\0”)返回字符个数
strlwrchar *strlwr(char *str)将串str中的字母转为小写字母返回str
strncatchar *strncat (char *str1, const char *str2, unsigned count)把字符串str2指向的字符串中最多count个字符连到串str1后面,并以’\0’结尾返回str1
strncpychar *strncpy (char *str1, const char *str2, unsigned count)把字符串str2指向的字符串中前count个字符复制到串str1中去返回str1
strstrchar *strstr (const char *str1, const char *str2)寻找str2指向的字符串在str1指向的字符串中首次出现的位置返回str2指向的字符串啊首次出现的地址,否则返回0
struprchar *strupr(char *str)将串str中的字母转换为大写字母返回str

内存管理函数

应包含头文件<stdlib.h>,也有编译系统包含<malloc.h>

函数名函数原型功能说明
callocvoid *calloc(unsigned num,unsigned size)分配num个数据项的内存连续空间,每个数据项的大小为size返回分配内存单元的起始地址,如不成功,返回0,动态空间中初始值自动为0
freevoid free (void *ptr)释放ptr所指内存区
mallocvoid *malloc (unsigned size)分配size字节的内存区返回所分配的内存区地址,如内存不够,返回0
reallocvoid *realloc (void *ptr,unsigned newsize)将ptr所指的已分配的内存区的大小改为newsize,size可以比原来分配的空间大或小返回指向该内存区的指针,若重新分配失败,返回0

类型转换函数

应包含头文件<stdlib.h>

函数名函数原型功能说明
atofdouble atof (char *str)将str指向的字符串转换为一个double型的值返回双精度计算结果
atoiint atoi (char *str)将str指向的字符串转换为一个int型的值返回转换结果
atollong atol (char *str)将str指向的字符串转换为一个long型的值返回转换结果
ecvtchar *ecvt (double value, int ndigit, int *decpt, int *sign)将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点返回字符串值
fcvtchar *fcvt (double value, int ndigit, int *decpt, int *sign)以指定位数为转换精度,余同ecvt()返回字符串值
gcvtchar *gcvt (double value, int ndigit, int *buf)将双精度浮点型值转换为字符串,转换结果中包含十进制小数点返回字符串值
itoachar *itoa (int value,char *str,int radix )将整数value的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串返回一个指向str的字符串
strtoddouble strtod(char *str, char **endptr)讲一个字符串转换为double值返回double型的浮点数
strtollong strtol(char *str, char **endptr, int base)将一个字符串转换为长整数长整数值
ultoachar *ultoa(unsigned long value, char *string, int radix)将一个无符号长整数转换为字符串返回字符串值

输入输出函数

应包含头文件<stdio.h>

函数名函数原型功能说明
clearerrvoid clearerr (FILE *fp)复位错误标志
fcloseint fclose(FILE *fp)关闭文件指针fp所指向的文件,释放缓冲区成功返回0,出错返回EOF并设置errno
feofint feof(FILE *fp)检查文件是否结束遇文件结束符返回非0值,否则返回0
ferrorint ferror(FILE *fp检查fp指向的文件中的错误无措时返回0,有错时返回非0值
fflushint fflush(FILE *fp)如果fp所指向的文件是“写打开”,则将输出缓冲区的内容物理地写入文件;若文件是“读打开”的,则清除输入缓冲区中的内容成功返回0,出现写错误时,返回EOF
fgetcint fgetc(FILE *fp)从fp指向的文件中取得一个字符返回所取得的字符,若读入出错则返回EOF
fgetschar *fgets(char *buf, int n, FILE *fp)从fp指向的文件读取一个长度为(n-1)的字符串,存放到起始位置为buf的空间成功则返回地址buf,若读入出错则返回NULL
fopenFILE *fopen(const char *filename, const char *mode)以mode指定的方式打开名为filename的文件成功则返回一个文件指针,否则返回NULL
fprintfint fprintf(FILE *fp, char *format[,argument,...]将argument的值以format指定的格式输出到fp所指向的文件中返回实际输出字符个数,出错则返回负数
fputcint fputc(char ch, FILE *fp)将字符ch输出到fp指向的文件中成功则返回该字符,否则返回EOF
fputsint fputs(char str, FILE *fp)将str指向的字符串输出到fp指向的文件中成功则返回0,否则返回非0
freadint fread(void *ptr, unsigned size, unsigned n, FILE *fp)从fp所指向的文件中中读取长度为size的n个数据项,存到ptr所指向的内存区中返回所读的数据项个数,若遇到文件结束或出错,返回0
fscanfint fscanf(FILE *fp, char *format[,argument,...])从fp所指向的文件中的按format指定的格式将输入数据送到argument所指向的内存单元已输入的数据个数
fseekint fseek(FILE *stream, long offset, int base)将fp所指向的文件位置指针移到以base所指出的位置为基准,以offset为位移量的位置返回当前位置,否则返回-1
ftelllong ftell(FILE *fp)返回fp所指向的文件中的读写位置返回fp所指向的文件中的读写位置
fwriteint fwrite(const void *ptr, unsigned size, unsigned n, FILE *fp)将ptr所指向的n*size字节输出到fp所指向的文件中返回写到fp所指向的文件中的数据项的个数
getcint getc(FILE *stream)从fp所指向的文件中读入一个字符返回所读字符,若文件结束或出错,返回EOF
getcharint getchar(void)从标准输入设备读取下一个字符返回所读字符,若文件结束或出错,返回-1
getschar *gets(char *str);从标准输入设备读入字符串,放到str所指定的字符数组中,一直读到接收换行符或EOF时为止,换行符不作为输入串的内容,变成’\0’后作为该字符串的结束
perrorvoid perror(const char *str)向标准错误输出字符串str,并随后附上冒号以及全局变量errno代表的错误消息的文字说明
printfint printf(const char *format[,argument,...])将输出列表argument的输出到标准输出设备输出字符的个数,若出错,则返回负数
putcint putc(char ch, FILE *fp)将一个字符ch输出到fp指向的文件中返回输出的字符ch;若出错,返回EOF
putcharint putchar(char ch)将一个字符ch输出到标准输出设备返回输出的字符ch;若出错,返回EOF
putsint puts(const char *string)将str指向的字符串输出到标准输出设备,将’\0’转换为回车换行返回换行符;若出错,返回EOF
renameint rename(char *oldname, char *newname)把oldname所指的文件名改为由newname指定的文件名成功返回0,出错返回1
rewindvoid rewind(FILE *fp)将fp指向的文件中的位置指针置于文件的开头位置,并清除文件结束标志
scanfint scanf(const char *format[,argument,...])从标准输入设备按format指向的字符串规定的格式,输入数据给argument所指向的单元读入并赋给的数据个数,遇文件结束返回EOF;出错返回0

其他常用函数

应包含头文件<stdlib.h>

函数名函数原型功能说明
exitvoid exit (int status)调用该函数时程序立即正常终止,清空和关闭任何打开的文件,程序正常退出状态由status等于0表示,非0表明定义实现错误
randint rand()产生0到RAND_MAX之间的伪随机数(RAND_MAX在头文件中定义)返回一个伪随机(整)数
srandvoid srand(unsigned seed)为函数rand()生成的伪随机数序列设置起点种子值
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值