重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、C语言有现场的常用数学函数,所在函数库为math.h、stdlib.h。
创新互联主营梅江网站建设的网络公司,主营网站建设方案,app软件定制开发,梅江h5成都微信小程序搭建,梅江网站营销推广欢迎梅江等地区企业咨询
函数名及解释:
int abs(int i) 返回整型参数i的绝对值
double cabs(struct complex znum) 返回复数znum的绝对值
double fabs(double x) 返回双精度参数x的绝对值
long labs(long n) 返回长整型参数n的绝对值
double exp(double x) 返回指数函数ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度
double cos(double x) 返回x的余弦cos(x)值,x为弧度
double sin(double x) 返回x的正弦sin(x)值,x为弧度
double tan(double x) 返回x的正切tan(x)值,x为弧度
double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度
double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度
double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度
double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2
2、复杂的数学函数可以用自定义函数的形式实现。
例如:
double ConerVelocity(int A, double x1, double y1, double x2, double y2, double t1, double t2)
{
double T,V;
T=acos(abs(x1 * x2 + y1 * y2)/ sqrt(x1 * x1 +y1 * y1)/sqrt(x2 * x2 +y2 * y2));
V= (A * (t2-t1))/(2*sin(T/2));
return V;
}
C语言库函数,常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数
扩展资料
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
参考资料来源:百度百科-函数
一些数学计算的公式的具体实现是放在math.h里,具体有:
x的正弦值
double sin (double x);
x的余弦值
double cos (double x);
x的正切值
double tan (double x);
结果介于[-PI/2, PI/2],x值域为[-1,1]
double asin (double x);
结果介于[0, PI],x值域为[-1,1]
double acos (double x);
反正切(主值), 结果介于[-PI/2, PI/2]
double atan (double x);
反正切(整圆值), 结果介于[-PI, PI]
double atan2 (double y, double x);
x的双曲正弦值
double sinh (double x);
x的双曲余弦值
double cosh (double x);
x的双曲正切值
double tanh (double x);
幂函数e^x
double exp (double x);
x^y,如果x=0且y=0,或者x0且y不是整型数,将产生定义域错误
double pow (double x, double y);
x的平方根,其中x=0
double sqrt (double x);
以e为底的对数,自然对数,x0
double log (double x);
以10为底的对数,x0
double log10 (double x);
取上整
double ceil (double x);
取下整
double floor (double x);
x的绝对值
double fabs (double x);
标准化浮点数, x = f * 2^exp, 已知x求f, exp ( x介于[0.5, 1] )并返回f值
double frexp (double x, int *exp);
与frexp相反, 已知x, exp求x*2^exp
double ldexp (double x, int exp);
将参数的整数部分通过指针回传, 返回小数部分,整数部分保存在*ip中
double modf (double x, double *ip);
返回两参数相除x/y的余数,符号与x相同。如果y为0,则结果与具体的额实现有关
double fmod (double x, double y);
数学函数(原型声明所在头文件为math.h、stdlib.h、string.h、float.h)
int abs(int i) 返回整型参数i的绝对值
double cabs(struct complex znum) 返回复数znum的绝对值
double fabs(double x) 返回双精度参数x的绝对值
long labs(long n) 返回长整型参数n的绝对值
double exp(double x) 返回指数函数ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,分配得来的n存贮在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回x的开方
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度
double cos(double x) 返回x的余弦cos(x)值,x为弧度
double sin(double x) 返回x的正弦sin(x)值,x为弧度
double tan(double x) 返回x的正切tan(x)值,x为弧度
double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度
double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度
double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度
double hypot(double x,double y) 返回直角三角形斜边的长度(z),
x和y为直角边的长度,z2=x2+y2
double ceil(double x) 返回不小于x的最小整数
double floor(double x) 返回不大于x的最大整数
void srand(unsigned seed) 初始化随机数发生器
int rand() 产生一个随机数并返回这个数
double poly(double x,int n,double c[])从参数产生一个多项式
double modf(double value,double *iptr)将双精度数value分解成尾数和阶,iptr返回整数部分,函数返回小数部分:fraction = modf(number, integer);
double fmod(double x,double y) 返回x/y的余数
double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数
double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数
char *ecvt(double value,int ndigit,int *decpt,int *sign)
将浮点数value转换成字符串并返回该字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
将浮点数value转换成字符串并返回该字符串
char *gcvt(double value,int ndigit,char *buf)
将数value转换成字符串并存于buf中,并返回buf的指针
char *ultoa(unsigned long value,char *string,int radix)
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char *ltoa(long value,char *string,int radix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char *itoa(int value,char *string,int radix)
将整数value转换成字符串存入string,radix为转换时所用基数
double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0
int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0
long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0
double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,
long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数, 并返回这个数。
int matherr(struct exception *e) 用户修改数学错误返回信息函数(没有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)
用户修改数学错误返回信息函数(没有必要使用)
unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态
void _fpreset() 重新初使化浮点数学程序包
unsigned int _status87() 返回浮点状态字
/*------------------------------*/
abs(计算整型数的绝对值)
相关函数 labs, fabs
表头文件 #includestdlib.h
定义函数 int abs (int j)
函数说明 abs()用来计算参数j的绝对值,然后将结果返回。
返回值 返回参数j的绝对值结果。
范例 #ingclude stdlib.h
main(){
int ansert;
answer = abs(-12);
printf("|-12| = %d\n", answer);
}
执行 |-12| = 12
/*---------------------------------*/
exp(计算指数)
相关函数 log,log10,pow
表头文件 #includemath.h
定义函数 double exp(double x);
函数说明 exp()用来计算以e为底的x次方值,即ex值,然后将结果返回。
返回值 返回e的x次方计算结果。
附加说明 使用GCC编译时请加入-lm。
范例 #includemath.h
main()
{
double answer;
answer = exp (10);
printf("e^10 =%f\n", answer);
}
执行 e^10 = 22026.465795
/*-----------------------------------*/
sqrt(计算平方根值)
相关函数 hypotq
表头文件 #includemath.h
定义函数 double sqrt(double x);
函数说明 sqrt()用来计算参数x的平方根,然后将结果返回。参数x必须为正数。
返回值 返回参数x的平方根值。
错误代码 EDOM 参数x为负数。
附加说明 使用GCC编译时请加入-lm。
范例 /* 计算200的平方根值*/
#includemath.h
main()
{
double root;
root = sqrt (200);
printf("answer is %f\n",root);
}
执行 answer is 14.142136
/*--------------------------------*/
fabs(计算浮点型数的绝对值)
相关函数:abs
表头文件:#includemath.h
定义函数:double fabs(double x);
函数说明:fabs()用来计算浮点型数x的绝对值,然后将结果返回。
返回值:返回参数x的绝对值计算结果
#include math.h
main()
{
double answer;
answer=fabs(-3.141592);
printf("|-3.141592|=%f\n",answer);
}
执行结果
|-3.141592|=3.141592
您好,很高兴回答您的问题。
c语言中的数学函数,就是根据含义,按照正确的格式来使用,包括两个方面,第一是一定要写上头文件math. h,第二个是要完全遵循函数的格式:返回值类型 函数名(参数类型 参数名)的格式来操作哦。