ANIS 标准库
前言
还未写完暂时写了ctype、string和math的标准库方法,明天继续完成。
< assert.h>
< ctype.h>
字符类测试函数
方法名 | 作用描述 | 返回值 |
---|---|---|
isalnum(ch) | 检查ch是否为字母或数字 | 是返回1;否则返回0 |
isalpha(ch) | 检查ch是否为字母 | 是返回1;否则返回0 |
iscntrl(ch) | 检查ch是否为控制字符 | 是返回1;否则返回0 |
isdigit(ch) | 检查ch是否为数字 | 是返回1;否则返回0 |
isgraph(ch) | 检查ch是否为可打印字符,不包括空格 | 是返回1;否则返回0 |
islower(ch) | 检查ch是否为小写字符 | 是返回1;否则返回0 |
isprint(ch) | 检查ch是否为可打印字符 | 是返回1;否则返回0 |
ispunct(ch) | 检查ch是否为标点符号 | 是返回1;否则返回0 |
isspace(ch) | 检查ch是否为空格、制表符或换行符 | 是返回1;否则返回0 |
isupper(ch) | 检查ch是否为大写字母 | 是返回1;否则返回0 |
isxdight(ch) | 检查ch是否为一个16进制数 | 是返回1;否则返回0 |
tolower(ch) | 将ch字符转换位小写字母 | 返回这个小写字母 |
toupper(ch) | 将ch字符转换位大写字母 | 返回这个大写字母 |
< errno.h>
< float.h>
< limits.h>
< locale.h>
< math.h>
数学的函数
参数和返回值都是双精度类型。
函数名 | 函数功能描述 |
---|---|
sin(x)、cos(x)、tan(x) | 三角函数 |
asin(x)、acos(x)、atan(x) | 反三角函数 |
atan2(y,x) | arctan(y/x) |
sinh(x)、cosh(x)、tanh(x) | 双曲三角函数 |
exp(x)、log(x)、log10(x) | 指数和对数 |
ldexp(x,n)、frexp(x,&e) | 计算x乘以2的n次方、将x分解为尾数和指数,返回尾数,储存x的是2的指数 |
modf(x,ip)、fmod(x,y) | 分解x的是整数和小数部分,返回小数,整数部分储存到ip中,实数x除以实数y的余数 |
pow(x,y)、sqrt(x) | 计算x的y次方,计算x的平方根 |
ceil(x)、floor(x)、fabs(x) | 向上取整、向下取整、取绝对值 |
< setjmp.h>
< signal.h>
< stdarg.h>
< stddef.h>
< stdio.h>
< stdlib.h>
标准效能函数库
方法名 | 作用描述 | 返回值 |
---|---|---|
abs(n) | 求整型n的绝对值 | 返回n的绝对值 |
labs(n) | 求长整型n的绝对值 | 返回n的绝对值 |
div(n,d) | 求整型n除以整型d的商和余数 | 返回div_t型的数据,其中商保存在div_t.quot,余数保存在div_t.rem |
ldiv(n,d) | 求长整型n除以整型d的商和余数 | 返回ldiv_t型的数据,其中商保存在ldiv_t.quot,余数保存在ldiv_t.rem |
rand() | 产生一个随机数([0,随机种子数]) | 返回一个随机数 |
srand(n) | 设置n为随机数种子 | 返回空值 |
exit(status) | 终止程序执行 | 无返回值 |
system(s) | 将字符串s传递到系统终端执行 | 无返回值 |
转换方法
方法名 | 作用描述 | 返回值 |
---|---|---|
atof(s) | 将字符串s转换为双精度实数型s | 返回双精度实数型s |
atoi(s) | 将字符串s转换为整型s | 返回整型s |
atol(s) | 将字符串s转换为长整型s | 返回长整型s |
strtod(s,&endp) | 将字符串前endp位置的字符转换为双精度实数型s,如果endp指向的是NULL则会将全部字符串转换成双精度实数型s | 返回前endp的字符串所转换的双精度实数型s |
strtol(s,&endp,b) | 将字符串s的前endp的字符串按基数b转换为b进制数,保存为长整型 | 返回这个转换后的b进制数 |
strtoul(s,&endp,b) | 将字符串s的前endp的字符串按基数b转换为b进制数,但保存为无符号长整型 | 返回转换后的无符号长整型b进制数 |
储存分配方法
方法名 | 作用描述 | 返回值 |
---|---|---|
malloc(size) | 分配size大小的储存区 | 返回这片区域的首地址 |
callor(nobj,size) | 分配n个数据项obj的内存连续空间,每个数据项obj大小为size | 返回其首地址 |
newptr = realloc(ptr,size) | 在ptr所指的内存区中追加size大小的空间 | 返回这个区域的首地址 |
free(ptr) | 释放ptr所指的内存空间 | 无返回值 |
数组操作方法
方法名 | 作用描述 | 返回值 |
---|---|---|
bsearch(key,array,n,size,cmpf) | 在有序数组array中以比较函数cmpf来二分查找key值位置 | 返回key值得位置 |
qsort(array,n,size,cmpf) | 使用快速排序算法排序数组array | 无返回值 |
< string.h>
字符串操作
下面的s是字符串,而cs、ct是常量字符串。
方法名 | 作用描述 | 返回值 |
---|---|---|
strlen(s) | 统计字符串s中的字符个数,不包含’\0’字符 | 返回字符个数 |
strcpy(s,ct) | 将字符串ct复制到字符串s中 | 返回字符串s的首地址 |
strcat(s,ct) | 将字符串ct接到字符串s后面 | 返回字符串s的首地址 |
strcmp(cs,ct) | 比较字符串cs和字符串ct | cs<st 返回负数; cs==ct返回0; cs>ct返回正数 |
strncmp(cs,ct,n) | 只比较字符串cs和字符串ct的第n个字符 | cs<st 返回负数; cs==ct返回0; cs>ct返回正数 |
strchr(cs,ch) | 在字符串cs中找到第一个出现字符ch的位置 | 如果找到返回一个指针,指针指向字符ch的位置;否则返回空指针 |
strrchr(cs,ch) | 在字符串cs中找到最后一个出现字符ch的位置 | 如果找到返回一个指针,指针指向字符ch的位置;否则返回空指针 |
memcpy(s,ct,n) | 从字符串ct中复制n个字符到字符串s中 | 返回字符串s的首地址 |
memmove(s,ct,n) | 从字符串ct中复制n个字符到字符串s中(可能会覆盖数据) | 返回字符串s的首地址 |
memcmp(cs,ct,n) | 比较字符串cs和字符串ct的前n个字符所组成的字符串的大小 | cs<st 返回负数; cs==ct返回0; cs>ct返回正数 |
memchr(cs,ch,n) | 在字符串cs的前n个字符中找到第一个与字符ch相同的位置 | 如果找到返回一个指针,指针指向字符ch的位置;否则返回空指针 |
memset(s,ch,n) | 写入字符ch到字符串s的前n个空间中 | 返回空值 |