【C语言】常用公式函数使用

1.sqrt()函数:求给定值的平方根

【原型】:

double sqrt (double x);

【功能】求给定值的平方根。

【参数】:x为待计算平方根的值。

【错误异常】:如果x<0会导致错误,出现异常。

示例:

//计算100的平方根值
#include <stdio.h>
#include <math.h>
int main()
{
	double sqrtValue;
	sqrtValue = sqrt(100);
	printf("the square root of 100 is %f\n", sqrtValue);
	return 0;
}

输出结果为:

the square root of 100 is 10.000000

2.excp() 函数:e的次幂函数

【原型】:

double exp (double x);

功能计算以e 为底的x 次方值,即ex 值。

【参数】:e为底值,x为指数值。

示例:

//计算e的2次方值
#include <stdio.h>
#include <math.h>
int main()
{
	double result;
	result = exp(2);
	printf(" %f\n", result);
	return 0;
}

输出结果为:

7.389056

3.pow()函数:求x的y次方(次幂)

【原型】:

double pow (double x, double y);

【功能】计算以x 为底的 y 次方值 ,并返回结果值。例如,设返回值为z,则z = xy

【参数】:x为底值,y为指数值。

【错误异常】

  • 若底数 x 为负数,且指数 y 不是整数,会导致错误。
  • 若底数 x 和指数 y 都是 0,可能会导致错误,与库的实现有关。
  • 若底数 x 是 0,指数 y 是负数,可能会导致 错误,与库的实现有关。
  • 若返回值 z过大或过小,会导致 range error 错误。

示例:

//计算x的y次幂值
#include <stdio.h>
#include <math.h>
int main()
{
	//幂函数求值
	printf("%f\n", pow(2.0, 2.0));
	printf("%f\n", pow(2.1, 2.0));
	printf("%f\n", pow(2.12, 2.12));
	return 0;
}

输出结果为:

4.000000
4.410000
4.918493

4.abs()/fabs()函数:求整数/浮点数的绝对值

【原型】:

int abs (int x); //整数
float fabs (float x); //浮点数

【功能】求取整数/浮点数的绝对值。

【参数】:x为一个整数/浮点数。

//计算整数/浮点数的绝对值
#include <stdio.h>
#include <math.h>
int main(void)
{
	int integer;
	float res;
	integer = abs(-2);
	res = fabs(-2.2);
	printf("整数绝对值为:%d\n",integer);
	printf("浮点数绝对值为:%f\n", res);
	return 0;
}

输出结果为:

整数绝对值为:2
浮点数绝对值为:2.200000

5.ceil()函数:向上取整

【原型】:double ceil (double x);

【功能】向上取整,即求不小于某个数的最小整数。

【参数】:x为要向上取整的参数。

示例:

//将参数向上取整
#include <stdio.h>     
#include <math.h>     
int main()
{
	printf("参数 1.1 向上取整,结果为: %.1f\n", ceil(1.1));
	printf("参数 -1.1 向上取整,结果为: %.1f\n", ceil(-1.1));
	printf("参数 2.9 向上取整,结果为: %.1f\n", ceil(2.9));
	printf("参数 -2.9 向上取整,结果为: %.1f\n", ceil(-2.9));
	return 0;
}

输出结果为:

参数 1.1 向上取整,结果为:2.0
参数 -1.1 向上取整,结果为:-1.0
参数 2.9 向上取整,结果为:3.0
参数 -2.9 向上取整,结果为:-2.0

6.floor()函数:向下取整

【原型】:double floor (double x);

【功能】向下取整,即求不大于某个数的最大整数。

【参数】:x为要向下取整的参数。

示例:

//将参数向下取整
#include <stdio.h>     
#include <math.h>     
int main()
{
	printf("参数 1.123 向下取整,结果为: %.1f\n", floor(1.123 ));
	printf("参数 -1.123 向下取整,结果为: %.1f\n", floor(-1.123 ));
	printf("参数 2.987 向下取整,结果为: %.1f\n", floor(2.987 ));
	printf("参数 -2.987 向下取整,结果为: %.1f\n", floor(-2.987 ));
	return 0;
}

输出结果为:

参数 1.123 向下取整,结果为:1.0
参数 -1.123 向下取整,结果为:-2.0
参数 2.987 向下取整,结果为:2.0
参数 -2.987 向下取整,结果为:-3.0

7.modf()函数:将浮点数分解为整数及小数两部分

【原型】double modf (double x, double* intpart);

【功能】将浮点数分解为整数和小数两部分。

【参数】:x为双精度浮点数,而intpart为保存整数部分的指针。

【返回值】:返回的是浮点数分解后的小数部分。设返回的小数部分值decimals = x (浮点数) - intpart(整数部分)。三个参数值的正负号相同。

示例:

//将浮点型参数分解为整数及小数两部分
#include <stdio.h>
#include <math.h>
int main()
{
	double x, intpart, decimals;

	x = 1.23456;
	decimals = modf(x, &intpart);
	printf("%f = %f - %f \n", decimals, x, intpart);
	return 0;
}

输出结果为:

0.234560= 1.234560-1.000000

8.hypot()函数:求直角三角形的斜边长

【原型】:double hypot (double x, double y);

【功能】求直角三角形的斜边长。

【参数】:x、y分别为直角三角形的两条直角边。

示例:

//求直角三角形斜边长
#include <stdio.h>
#include <math.h>
int main()
{
	double x, y, result;
	x = 3;
	y = 4;
	result = hypot(x, y);
	printf("直角三角形直角边长分别为 %f、%f,\n其斜边长为:%f \n", x, y, result);
	return 0;
}

输出结果为:

直角三角形直角边长分别为 3.000000、4.000000,
其斜边长为:5.000000

9. 角度、弧度互换公式

        度和弧度都是衡量角的大小的单位。度用 ° 来表示,弧度用 rad 表示。
        度和弧度之间的转换规则为:

弧度 = (180 / π )角度
角度 = (π / 180 )弧度
1rad = (180/π)° ≈ 57.3°
1° = (π/180)rad ≈ 0.01745rad