在 C 语言中计算反正切(arctan)

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何在C编程中计算反正切(arctan)函数。本实验涵盖三个主要步骤:从用户输入中读取一个实数,使用 atan() 函数计算反正切,并以弧度为单位打印结果。完成本实验后,你将对如何使用C进行三角计算有扎实的理解。

本实验首先教你如何从用户那里读取一个实数,这对于计算反正切至关重要。接下来,你将使用 atan() 函数计算输入数字的反正切。最后,你将以弧度为单位打印结果,以便你理解输出。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/data_types("Data Types") c/FunctionsGroup -.-> c/math_functions("Math Functions") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/data_types -.-> lab-435149{{"在 C 语言中计算反正切(arctan)"}} c/math_functions -.-> lab-435149{{"在 C 语言中计算反正切(arctan)"}} c/user_input -.-> lab-435149{{"在 C 语言中计算反正切(arctan)"}} c/output -.-> lab-435149{{"在 C 语言中计算反正切(arctan)"}} end

读取任意实数

在这一步中,我们将学习如何在C编程中读取一个实数,以便计算反正切(arctan)函数。

首先,让我们创建一个新的C源文件来实现我们的程序:

cd ~/project
nano read_number.c

现在,将以下代码添加到文件中:

#include <stdio.h>

int main() {
    double number;

    printf("输入一个实数:");
    scanf("%lf", &number);

    printf("你输入的是:%f\n", number);

    return 0;
}

让我们来分析一下这段代码:

  • double number; 声明一个变量来存储实数
  • scanf("%lf", &number); 从用户输入中读取一个双精度浮点数
  • printf("你输入的是:%f\n", number); 显示输入的数字

编译并运行程序:

gcc read_number.c -o read_number
./read_number

示例输出:

输入一个实数:3.14
你输入的是:3.140000

使用 atan() 函数

在这一步中,我们将修改之前的程序,使用 atan() 函数来计算输入数字的反正切。

使用以下代码更新 read_number.c 文件:

cd ~/project
nano read_number.c

添加以下内容:

#include <stdio.h>
#include <math.h>

int main() {
    double number, angle;

    printf("输入一个实数:");
    scanf("%lf", &number);

    angle = atan(number);

    printf("输入的数字:%f\n", number);
    printf("以弧度表示的反正切(arctan):%f\n", angle);

    return 0;
}

代码中的关键更改:

  • 添加 #include <math.h> 以使用数学函数
  • 使用 atan() 函数计算反正切
  • 添加一个新的 angle 变量来存储结果
  • 打印输入数字及其反正切

使用数学库编译程序:

gcc read_number.c -o read_number -lm
./read_number

示例输出:

输入一个实数:1
输入的数字:1.000000
以弧度表示的反正切(arctan):0.785398

以弧度为单位打印角度

在这一步中,我们将改进程序,以提供关于以弧度为单位的反正切角度的更详细输出。

使用以下代码更新 read_number.c 文件:

cd ~/project
nano read_number.c

添加以下内容:

#include <stdio.h>
#include <math.h>

int main() {
    double number, angle;

    printf("输入一个实数:");
    scanf("%lf", &number);

    angle = atan(number);

    printf("输入的数字:%f\n", number);
    printf("以弧度为单位的反正切(arctan):%f\n", angle);
    printf("以度为单位的角度:%f\n", angle * 180.0 / M_PI);

    return 0;
}

代码中的关键更改:

  • 使用 angle * 180.0 / M_PI 添加了弧度到度的转换
  • 使用 math.h 中的 M_PI 常量进行精确转换
  • 添加了一个额外的打印语句以显示以度为单位的角度

编译程序:

gcc read_number.c -o read_number -lm
./read_number

示例输出:

输入一个实数:1
输入的数字:1.000000
以弧度为单位的反正切(arctan):0.785398
以度为单位的角度:45.000000

总结

在本实验中,我们学习了如何从用户输入中读取一个实数,并使用 atan() 函数计算其以弧度为单位的反正切(arctan)。我们首先创建了一个C程序,提示用户输入一个实数,然后显示输入的数字。接下来,我们修改了程序,使用 atan() 函数计算输入数字的反正切,并以弧度为单位打印结果。本实验提供了实现这些功能的逐步指南,确保对该过程有清晰的理解。