1 数学函数()
三角函数:
sin
cos
tan
反三角函数:
asin
acos
atan
双曲函数:
sinh
cosh
tanh
指数和对数函数:
以e为底的指数函数
exp
自然对数函数
log
以10为底的对数函数
log10
其他函数:
平方根
sqrt
绝对值
fabs
乘幂,第一个参数作为底,第二个是指数
double pow(double, double)
实数的余数,两个参数分别是被除数和除数
double fmod(double, double)
注:所有上面未给出类型特征的函数都取一个参数,其参数与返回值都是double类型。
下面函数返回双精度值(包括函数ceil和floor)。在下表里,除其中有特别说明的参数之外,所有函数的其他参数都是double类型。
函数原型
意义解释
ceil(x)
求出不小于x的最小整数(返回与这个整数对应的double值)
floor(x)
求出不大于x的最大整数(返回与这个整数对应的double值)
atan2(y, x)
求出 tan-1(y/x),其值的范围是[-pai,pai]
ldexp(x, int n)
求出x2n
frexp(x, int exp)
把 x分解为 y2n, 是位于区间 [1/2,1)里的一个小数,作为函数结果返回,整数n 通过指针exp返回(应提供一个int变量地址)。当x 为0时这两个结果的值都是0
modf(x, double
ip)
把x分解为小数部分和整数部分,小数部分作为函数返回值,整数部分通过指针ip返回。
2常用函数bsearch和qsort
1)二分法查找函数bsearch:
void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum));
函数指针参数cmp的实参应是一个与字符串比较函数strcmp类似的函数,确定排序的顺序,当第一个参数keyval比第二个参数datum大、相等或小时分别返回正、零或负值。
2)快速排序函数qsort:
void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *));
qsort对于比较函数cmp的要求与bsearch一样。设有数组base[0],…,base[n-1],元素大小为size。用qsort可以把这个数组的元素按cmp确定的上升顺序重新排列。