定义域错误可以理解为超出了函数的适用范围,如果发生了定义域错误,设errno为EDOM
如果结果不能表示为double值,则发生值域错误,如果结果上溢,则函数返回HUGE_VAL的值,设errno为ERANGE,如果函数下溢,函数返回0
宏
HUGE_VAL
展开为一个很大的正的的double型的表达式,通常超出了float类型的范围,可以用来承载"正无穷"
三角函数
#include<math.h>
double acos(double x); //计算x在[0,pi]范围内的反余弦值
double assin(double x); //计算x在[0,pi]范围内的反正弦值
double atan(double x); //计算x的反正切主值
double atan2(double y,double x);//计算y/x的反正切主值
double cos(double x); //计算以弧度为单位的x的余弦值
double sin(double x); //计算以弧度为单位的x的正弦值
double tan(double x); //计算以弧度为单位的x的正切值
双曲函数
#include<math.h>
double cosh(double x); //计算x的双曲余弦
double sinh(double x); //计算x的双曲正弦
double tanh(double x); //计算x的双曲正切
指数函数和对数函数
#include<math.h>
double exp(double x); //计算以自然对数的x次幂
double frexp(double value, int* exp); //把浮点数value分解成一个规格话小数和一个2的整数次幂,将这个整数存储在*exp中
double ldexp(double x, int exp); //计算一个浮点数和一个2的整数次幂的积
double log(double x); //计算x的自然对数
double log10(double x); //计算x的以10为底的对数
double modf(double value, double* iptr);//把浮点数value分解成整数部分和小数部分,他们的符号和参数的相同,把整数部分存储在*iptr
幂函数
#include<math.h>
double pow(double x, double y); //计算x的y次幂
double sqrt(double x); //计算x的非负平方根
double cell(double x); //计算>=x的最小整数
double fabs(double x); //计算浮点数x的绝对值
double floor(double x); //计算<=x的最大整数
double fmod(double x, double y);//计算x/y的浮点余数