1
|
#include <math.h>
|
cos() 函数用来求余弦值,即求角的临边长度除以斜边长度的比值,其原型为:
1
|
double cos ( double x);
|
【参数】x 为一个弧度。
【返回值】返回-1 至1 之间的计算结果。
弧度与角度的关系为:
弧度 = 180 / π 角度
角度 = π / 180 弧度
使用 rtod( ) 函数可以将弧度值转换为角度值。
注意,使用 GCC 编译时请加入-lm。
【实例】求两个角度的余弦值并输出,
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include<stdio.h>
#include<math.h>
int main( void )
{
double angl,result;
angl = 1;
result = cos (angl); /*求余弦值*/
printf ( "cos(%lf) is %lf\n" ,angl,result); /*格式化输出*/
angl = 3.1415926;
result = cos (angl); /*求余弦值*/
printf ( "cos(%lf) is %lf\n" ,angl,result); /*格式化输出*/
return 0;
}
|
运行结果:
1
2
|
cos(1.000000) is 0.540302
cos(3.141593) is -1.000000
|
程序中的参数都是直接使用的弧度值,如果只知 道角度,可以使用角度乘以 π / 180 的方法得到弧度值。
C语言cosh()函数:求双曲余玄值
头文件:
1
|
#include <math.h>
|
cosh()用来计算参数x 的双曲余玄值,然后将结果返回。其原型为:
1
|
double cosh ( double x);
|
双曲余弦的数学定义式为:
1
|
( exp (x)+ exp (x))/2
|
即
注意,使用 GCC 编译时请加入-lm。
双曲余弦在区间 -5 <= x <= 5 上的函数图像。
【实例】求0.5的双曲余弦值。
1
2
3
4
5
|
#include <math.h>
main(){
double answer = cosh (0.5);
printf ( "cosh(0.5) = %f\n" , answer);
}
|
运行结果:
1
|
cosh(0.5) = 1.127626
|
又如,求双曲余弦上某一点的值。
1
2
3
4
5
6
7
8
9
10
|
#include<stdio.h>
#include<math.h>
int main( void )
{
double resut;
double x =1;
resut = cosh (x); /*求双曲余弦值*/
printf ( "cosh(%lf) = %lf\n" ,x,resut); /*格式化输出*/
return 0;
}
|
运行结果:
1
|
cosh(1.000000) = 1.543081
|
程序先定义两个double型变量,resut保存计算结果,x提供双曲余弦函数点。语句resut = cosh(x);的作用是求该函数上x点对应的数值,然后把结果赋值给resut。
C语言acos()函数:求反余弦的值
头文件:
1
|
#include <math.h>
|
acos() 函数返回一个以弧度表示的反余弦值,其原型为:
1
|
double acos ( double x);
|
【参数】x 为余弦值,范围为 -1 到 1 之间,超出此范围将会导致错误,并设置 errno 的值为 EDOM.
【返回值】返回 0 至 π 之间的计算结果,单位为弧度,在函数库中角度均以弧度来表示。
弧度与角度的关系为:
弧度 = 180 / π 角度
角度 = π / 180 弧度
注意:使用 GCC 编译时请加入-lm。
【实例】求 0.5 的反余弦。
1
2
3
4
5
6
|
#include <math.h>
main(){
double angle;
angle = acos (0.5);
printf ( "angle = %f\n" , angle);
}
|
运行结果:
1
|
angle = 1.047198
|
又如,由余弦值求对应的角度。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include<stdio.h>
#include<math.h>
int main( void )
{
double angl,result;
angl = 1;
result = acos ( cos (angl)); /*求反余弦值*/
printf ( "acos(%lf) is %lf\n" , cos (angl),result); /*格式化输出*/
angl = 3.1415926;
result = acos ( cos (angl)); /*求反余弦值*/
printf ( "acos(%lf) is %lf\n" , cos (angl),result); /*格式化输出*/
return 0;
}
|
运行结果:
1
2
|
acos(0.540302) is 1.000000
acos (-1.000000) is 3.141593
|
这个例子可以对照余弦函数例子学习,示例中都是使用余弦值作为参数,然后再使用 acos() 函数求出该角度以便对比。