0Pricing
C Academy · 课时

三角函数与对数

计算 sin、cos、log 和 exp。

三角函数与对数 是 CoddyKit 上的免费 C Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C Academy 课程共包含 4 节课。

三角函数和对数

math.h 头文件包含 sin、cos 和 tan 等三角函数,以及 log 和 log10 等对数函数。

它们都接受并返回 double 值。

角度使用弧度

重要:三角函数要求角度使用弧度,而不是度数。

一整圈是 2 x pi 弧度。半圈(180 度)是 pi 弧度。

正弦和余弦

sin(x) 和 cos(x) 返回介于 -1 和 1 之间的值。

角度为 0 时,正弦值为 0,余弦值为 1。

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

int main(void) {
    printf("sin(0) = %.1f\n", sin(0.0));
    printf("cos(0) = %.1f\n", cos(0.0));
    return 0;
}

将度数转换为弧度

如果要使用度数,请先进行转换。将度数乘以 pi / 180。

这里计算 90 度的正弦值,结果应为 1。

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

int main(void) {
    double deg = 90.0;
    double rad = deg * M_PI / 180.0;
    printf("sin(90 deg) = %.2f\n", sin(rad));
    return 0;
}

tan 函数

tan(x) 返回一个角的正切值,它等于 sin(x) / cos(x)。

45 度的正切值为 1。

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

int main(void) {
    double rad = 45.0 * M_PI / 180.0;
    printf("tan(45 deg) = %.2f\n", tan(rad));
    return 0;
}

反三角函数

如果要反向计算(从比值求回角度),请使用反函数:

  • 反正弦使用 asin
  • 反余弦使用 acos
  • 反正切使用 atan

它们返回的角度单位是弧度。

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

int main(void) {
    double angle = atan(1.0);
    printf("atan(1) = %.4f rad\n", angle);
    return 0;
}

自然对数

log(x) 是自然对数,也就是以 e 为底的对数(e 约为 2.718)。

它回答了“e 必须提升到多少次方才能得到 x?”这个问题。请注意,log(1) 为 0。

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

int main(void) {
    printf("log(1) = %.1f\n", log(1.0));
    printf("log(M_E) = %.1f\n", log(M_E));
    return 0;
}

以 10 为底的对数

对于常见的以 10 为底的对数,请使用 log10(x)。

由于 1000 等于 10 的 3 次方,log10(1000) 等于 3。

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

int main(void) {
    printf("log10(1000) = %.1f\n", log10(1000.0));
    return 0;
}

exp 函数

exp(x) 是 log 的反函数:它将 e 提升到 x 次方。

因此,exp(0) 为 1,而 log(exp(2)) 返回 2。

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

int main(void) {
    printf("exp(0) = %.1f\n", exp(0.0));
    printf("exp(1) = %.3f\n", exp(1.0));
    return 0;
}

定义域警告

对数只对正数有定义。

  • log(0) 返回负无穷
  • 对负数使用 log 会返回 NaN

同样,asin 和 acos 只接受介于 -1 和 1 之间的输入。

组合使用

这个程序将角度转换为弧度,求出它的正弦值,然后输出以 10 为底的对数,展示这两类函数如何结合使用。

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

int main(void) {
    double rad = 30.0 * M_PI / 180.0;
    printf("sin = %.2f\n", sin(rad));
    printf("log10(100) = %.0f\n", log10(100.0));
    return 0;
}

快速检查

回想一下三角函数要求使用什么单位。

回顾

您学会了 sin、cos 和 tan 使用弧度,以及它们的反函数 asin、acos 和 atan。

您还认识了 log(自然对数)、log10(以 10 为底的对数)和 exp。对数的输入必须为正数。下一节:舍入和绝对值。

常见问题解答

「三角函数与对数」课时是免费的吗?

是的 — 「三角函数与对数」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C Academy 课程的其余内容,请升级到 CoddyKit PRO。 C Academy 课程共包含 4 节课。

「三角函数与对数」这节课中我会学到什么?

计算 sin、cos、log 和 exp。 你通过在浏览器中直接运行的动手代码来练习 C Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 C Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 C Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「三角函数与对数」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 C Academy 课中编写并运行代码吗?

能。每节 C Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 包含 math.h
  2. 幂与根
  3. 三角函数与对数
  4. 舍入与绝对值
← 返回 C Academy