数学标准库
-
C 标准库 (
<math.h>
)- 这是 C 语言的标准数学库,提供了各种数学函数,如三角函数、指数函数、对数函数等。
- 示例函数:
sin
,cos
,tan
,exp
,log
,sqrt
,pow
,fabs
,fmod
等。
-
C++ 标准库 (
<cmath>
)- C++ 的标准数学库,基本上与
<math.h>
相同,但在 C++ 中提供了更好的类型安全性和命名空间支持。 - 示例函数:与
<math.h>
类似,但通常使用std::
命名空间。
- C++ 的标准数学库,基本上与
数学函数库
-
三角函数:
sin(x)
: 正弦函数。cos(x)
: 余弦函数。tan(x)
: 正切函数。asin(x)
: 反正弦函数。acos(x)
: 反余弦函数。atan(x)
: 反正切函数。
-
指数与对数函数:
exp(x)
: 自然指数函数 ( e^x )。expm1(x)
: 计算 ( e^x - 1 ),对于接近零的 x 更精确。log(x)
: 自然对数函数 ( \ln(x) )。log10(x)
: 以 10 为底的对数函数。pow(x, y)
: 计算 ( x^y )。
-
幂和根函数:
sqrt(x)
: 平方根函数。cbrt(x)
: 立方根函数。hypot(x, y)
: 计算 ( \sqrt{x^2 + y^2} )。
-
取整和取余函数:
floor(x)
: 向下取整函数。ceil(x)
: 向上取整函数。round(x)
: 四舍五入函数。trunc(x)
: 截断函数,保留整数部分。fmod(x, y)
: 返回 x 除以 y 的余数。
-
其他函数:
fabs(x)
: 绝对值函数,浮点数。abs(x)
: 绝对值函数,整数。
算术运算符
C 和 C++ 支持多种基本的数学运算符,这些运算符可以用来执行常见的算术操作。下面是 C/C++ 中的一些基本数学运算符及其用途:
-
加法 (
+
):- 用于两个数相加。
- 示例:
int sum = 5 + 3;
-
减法 (
-
):- 用于两个数相减。
- 示例:
int difference = 5 - 3;
-
乘法 (
*
):- 用于两个数相乘。
- 示例:
int product = 5 * 3;
-
除法 (
/
):- 用于两个数相除。
- 对于整数除法,结果会被截断为整数(向下取整)。
- 示例:
int quotient = 5 / 3; // 结果为 1
- 示例:
double quotient = 5.0 / 3; // 结果为 1.6666666666666667
-
取模 (
%
):- 用于获取两个整数相除后的余数。
- 示例:
int remainder = 5 % 3; // 结果为 2
-
自增 (
++
):- 用于增加变量的值。
- 示例:
int i = 1; i++;
-
自减 (
--
):- 用于减少变量的值。
- 示例:
int i = 1; i--;
-
前缀自增 (
++i
):- 在使用变量之前先增加变量的值。
- 示例:
int j = ++i;
-
后缀自增 (
i++
):- 先使用变量的值,然后再增加变量的值。
- 示例:
int j = i++;
-
前缀自减 (
--i
):- 在使用变量之前先减少变量的值。
- 示例:
int j = --i;
-
后缀自减 (
i--
):- 先使用变量的值,然后再减少变量的值。
- 示例:
int j = i--;
除了上述基本运算符之外,C/C++ 还支持一些复合赋值运算符,这些运算符结合了赋值运算符和算术运算符,例如:
+=
(加法赋值)-=
(减法赋值)*=
(乘法赋值)/=
(除法赋值)%=
(取模赋值)
示例:
cpp
int x = 5;
x += 3; // 等价于 x = x + 3;