C语言cos()函数:求余弦值
头文件:
| 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() 函数求出该角度以便对比。








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。