C语言中求余弦值的相关函数总结_C 语言

C语言cos()函数:求余弦值
头文件:

#include <math.h>

cos() 函数用来求余弦值,即求角的临边长度除以斜边长度的比值,其原型为:
   

 double cos(double x);

【参数】x 为一个弧度。

【返回值】返回-1 至1 之间的计算结果。

弧度与角度的关系为:
弧度 = 180 / π 角度
角度 = π / 180 弧度

使用 rtod( ) 函数可以将弧度值转换为角度值。

注意,使用 GCC 编译时请加入-lm。

【实例】求两个角度的余弦值并输出,

#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;
}

运行结果:

cos(1.000000) is 0.540302
cos(3.141593) is -1.000000

程序中的参数都是直接使用的弧度值,如果只知 道角度,可以使用角度乘以 π / 180 的方法得到弧度值。

C语言cosh()函数:求双曲余玄值
头文件:

#include <math.h>

cosh()用来计算参数x 的双曲余玄值,然后将结果返回。其原型为:

  double cosh(double x);

双曲余弦的数学定义式为:

  (exp(x)+exp(x))/2

注意,使用 GCC 编译时请加入-lm。

双曲余弦在区间 -5 <= x <= 5 上的函数图像。

【实例】求0.5的双曲余弦值。

#include <math.h>
main(){
  double answer = cosh(0.5);
  printf("cosh(0.5) = %f\n", answer);
}

运行结果:

cosh(0.5) = 1.127626

又如,求双曲余弦上某一点的值。

#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;
}

运行结果:

cosh(1.000000) = 1.543081

程序先定义两个double型变量,resut保存计算结果,x提供双曲余弦函数点。语句resut = cosh(x);的作用是求该函数上x点对应的数值,然后把结果赋值给resut。

C语言acos()函数:求反余弦的值
头文件:

#include <math.h>

acos() 函数返回一个以弧度表示的反余弦值,其原型为:

  double acos (double x);

【参数】x 为余弦值,范围为 -1 到 1 之间,超出此范围将会导致错误,并设置 errno 的值为 EDOM.

【返回值】返回 0 至 π 之间的计算结果,单位为弧度,在函数库中角度均以弧度来表示。

弧度与角度的关系为:
弧度 = 180 / π 角度
角度 = π / 180 弧度

注意:使用 GCC 编译时请加入-lm。

【实例】求 0.5 的反余弦。

#include <math.h>
main(){
  double angle;
  angle = acos(0.5);
  printf("angle = %f\n", angle);
}

运行结果:

angle = 1.047198

又如,由余弦值求对应的角度。

#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;
}

运行结果:

acos(0.540302) is 1.000000
acos (-1.000000) is 3.141593

这个例子可以对照余弦函数例子学习,示例中都是使用余弦值作为参数,然后再使用 acos() 函数求出该角度以便对比。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c语言
余弦
c语言余弦函数、c语言反余弦函数、c语言求正弦和余弦、余弦c语言、c语言计算余弦值,以便于您获取更多的相关知识。

时间: 2025-01-07 15:56:58

C语言中求余弦值的相关函数总结_C 语言的相关文章

C语言中计算正弦的相关函数总结_C 语言

C语言sin()函数:正弦函数头文件:  #include <math.h> sin() 函数用来求给定值的正弦值,其原型为: double sin(double x); [参数]给定的值(弧度). [返回值]返回-1 至1 之间的计算结果. 弧度与角度的关系为: 弧度 = 180 / π 角度 角度 = π / 180 弧度 使用 rtod( ) 函数可以将弧度值转换为角度值. 注意,使用 GCC 编译时请加入-lm. 举例如下: #include <stdio.h> #incl

C语言中static的作用及C语言中使用静态函数有何好处_C 语言

想了解Java中static关键字的作用和用法详细介绍,请点击此处了解详情. 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条,分别是: 一是隐藏功能,对于static修饰的函数和全局变量而言 二是保持持久性功能,对于static修饰的局部变量而言. 三是因为存放在静态区,全局和局部的static修饰的变量,都默认初始化为0 下面我逐一给大家介绍: (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有

简单讲解C语言中宏的定义与使用_C 语言

宏定义是预编译功能的一种, 预编译又称为预处理, 是为编译做的预备工作的阶段.处理#开头的指令, 比如拷贝 #include 包含的文件代码,#define宏定义的替换,条件编译等. 使用宏定义的好处:使用宏定义的好处:可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改.例如 π 这个常量,我们有时候会在程序的多个地方使用,如果每次使用都重新定义,一来比较麻烦,二来容易出错,所以我们可以把 π 做成宏定义来使用.   语法说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性

浅析C语言中的数组及字符数组_C 语言

我们来编写一个程序,以统计各个数字.空白符(包括空格符.制表符及换行符)以及所有其它字符出现的次数.这个程序的实用意义并不大,但我们可以通过该程序讨论 C 语言多方面的问题. 所有的输入字符可以分成 12 类,因此可以用一个数组存放各个数字出现的次数,这样比使用 10 个独立的变量更方便.下面是该程序的一种版本: #include <stdio.h> /* count digits, white space, others */ main() { int c, i, nwhite, nothe

C语言中基础小问题详细介绍_C 语言

1.printf格式输出函数 如果格式控制说明项数多于输出表列个数,则会输出错误数据:如果输出表列个数多于格式控制说明数,则多出数不被输出.%md,m指的是输出字段的宽度.如果输出字段位数小于m,则左端以空格补齐,若大于m,则按照实际位数输出.%-md,基本同上,只不过不同之处在于,空格在右端补齐printf参数可以是常量,变量或表达式,VC++ 6.0中采用从右向左顺序求值,从左向右输出如 复制代码 代码如下: int x = 5; printf("%4d%4d%4d", x, ++

在C语言中调用C++做的动态链接库_C 语言

今天在做东西的时候遇到一个问题,就是如何在C语言中调用C++做的动态链接库so文件 如果你有一个c++做的动态链接库.so文件,而你只有一些相关类的声明, 那么你如何用c调用呢,别着急,本文通过一个小小的例子,让你能够很爽的搞定.   链接库头文件: head.h class A { public: A(); virtual ~A(); int gt(); int pt(); private: int s; }; firstso.cpp #include <iostream> #include

浅谈c语言中类型隐性转换的坑_C 语言

谨记:在C语言中,当两种不同类型之间运算时,低字节长度类型会向高自己长度类型转换,有符号会向无符号类型转换. 举例子如下: #include <stdio.h> void func(void) { int i = 1; unsigned char c1 = 1; signed char c2 = -1; if (c2 > i){ printf("\r\n -1 > 1"); } else{ printf("\r\n -1 <= 1");

深入解析C语言中的内存分配相关问题_C 语言

C内存分配区域 程序代码区存放函数体的二进制代码 全局数据区全局变量和静态变量的存储是放在一起的.初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域.常量数据存放在另一个区域里.这些数据在程序结束后由系统释放.我们所说的BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称 栈区由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据

C语言中的隐式函数声明_C 语言

1 什么是C语言的隐式函数声明 在C语言中,函数在调用前不一定非要声明.如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码.下面是一个例子: int main(int argc, char** argv) { double x = any_name_function(); return 0; } 单纯的编译上述源代码,并没有任何报错,只是在链接阶段因为找不到名为any_name_function的函数体而报错. [smstong@centos192 test]$