2. 数学函数(math.h)

为了方便数学计算,C 语言标准库中提供和常用的数学函数。

头文件

math.h

常用的数学函数:

函数
说明
三角函数
double sin(double x);
正弦(x 是弧度)
double cos(double x);
余弦(x 是弧度)
double tan(double x);
正切(x 是弧度)
double asin(double x);
反正弦,返回值范围 [-pi/2, pi/2]
double acos(double x);
反余弦,返回值范围 [0, pi]
double atan(double x);
反正切,返回值范围 [-pi/2, pi/2]
指数和对数函数
double sqrt(double x);
求平方根
double pow(double x, double y);
幂运算,返回 x 的 y 次方。
double exp(double x);
返回 e 的 x 次幂
double log(double x);
自然对数
double log10(double x);
求以 10 为底 x 的对数
其它函数
double fabs(double x);
求 x 的绝对值
double ceil(double x);
x 向上取整
double floor(double x);
x 向下取整
double fmod(double x, double y);
浮点数求余数

示例:

// filename: math.c
#include <stdio.h>
#include <math.h>

#define PI (3.14159265)

int main(int argc, char * argv[]) {
    printf("sin(0): %f\n", sin(0));
    printf("cos(PI/4): %f\n", cos(PI/4));  //  cos(45°)
    printf("sqrt(9.0): %f\n", sqrt(9.0));  // 求 9 的平方根
    printf("log10(1000): %f\n", log10(1000));

    return 0;
}

编译和运行结果如下:

weimingze@mzstudio:~$ gcc -o math math.c
weimingze@mzstudio:~$ ./math
sin(0): 0.000000
cos(PI/4): 0.707107
sqrt(9.0): 3.000000
log10(1000): 3.000000

练习:

写一个程序,输入一个角度(0 ~ 360),返回这个角度的正弦值,余弦值,正切值。

注意:需要将角度转换成弧度再求值。