三角函数与对数
计算 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 反馈 — 无需本地设置。