在 C++ 中,除了可以创建各种函数,还包含了各种有用的函数供您使用。这些函数写在标准 C 和 C++ 库中,叫做内置函数。您可以在程序中引用这些函数。C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。为了利用这些函数,您需要引用数学头文件 <cmath>。
| 函数名 | 格式 | 功能说明 | 列子 |
|---|---|---|---|
| 绝对值函数 | abs(x) | 求一个数的绝对值 | abs(-5) = 5 |
| 自然数指数函数 | exp(x) | 求实数x的自然指数e | exp(1)=2.718282 |
| 向下取整 | floor(x) | 求不大于实数x的最大整数 | floor(3.14) = 3 |
| 向上取整 | ceil(x) | 求不小于实数x的最小整数 | ceil(3.14) = 4 |
| 自然对数函数 | log(x) | 计算x的自然数对数 | log(1) = 0 |
| 指数函数 | pow(x,y) | 计算xy 结果为双精度实数 | pow(2,3) = 8 |
| 随机函数 | rand() | 产生0 到 RAND-MAX之间的随机数 | |
| 平方根函数 | sqrt(x) | 求实数x的平方根 | sqrt(25) = 5 |
常用的数学函数:
1.开平方 double sqrt(double x);
2.求常数e的x次方 double exp(double x);
3.求x的y次方 double pow(double x, double y);
4.求对数ln(x) double log(double x);
求对数lg(x) double log10(double x); 其他用换底公式
5.求x绝对值 int abs(x); long int abs(long int x); double fabs(double x);
6.取整函数
向上取整 : ceil(x)返回的是大于x的最小整数。
double ceil(double x); 如:ceil(10.5) == 11 ceil(-10.5) ==-10
向下取整 : floor(x) 返回的是小于或等于x的最大整数。
double floor(double x); 如:floor(10.5) == 10 floor(-10.5) == -11
fix (x) 朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
round (x) 四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2
7.产生随机数 0~32767 int rand(void);
8.取整与取余
double modf (double value, double* iptr); 将参数的整数部分通过指针回传, 返回小数部分,将双精度数value分解成尾数和阶
double fmod (double x, double y); 返回两参数相除的余数 , 返回x/y的余数
9.三角函数 求正弦 double sin(double x); 求余弦 double cos(double x); 求正切 double tan(double x); 反正切 double atan(double x);
10.反三角函数
double asin (double); 结果介于[-PI/2, PI/2]
double acos (double); 结果介于[0, PI]
double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2]
11. π的表示 const double pi = acos(-1.0);
12.三角形 , 任意两边之和大于第三边 if(a+b>c&&a+c>b&&c+b>a)
13. 闰年的判断 if(n%400==0||n%4==0&&n%100==0)能被4整除并且能被100整除或者能被400整除