登录

系统函数

系统函数

是将函数封装入库,供用户使用的一种方式。方法是把一些常用到的函数编完放到一个文件里,供不同的人进行调用。

像 cin 跟 cout 属于我们一直使用的系统函数

提示

cmath 中常用函数

  • pow

  • log10

  • sqrt

  • abs

  • labs

  • fabs

  • ceil

  • floor

pow

pow(a,b)

指数运算,得到 a 的 b 次方,a<sup>b</sup>。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    cout << "2的3次方:" << pow(2,3) << endl;
    return 0;
}

运行结果:

2的3次方:8

log10

log10(x)

计算以 10 为底的双精度实数 x 的对数。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double x = 100;
    cout << "log10(x) = " << log10(x) << endl;
    return 0;
}

运行结果:

log10(x) = 2

sqrt

sqrt(a)

开根运算,得到 a 开 2 次根的值。也可以用pow(a,0.5)的方式来实现开根运算。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    cout << "9开根的值:" << sqrt(9) << endl;
    return 0;
}

运行结果:

9开根的值:3

::

abs

abs(number)

计算整数 number 的绝对值

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int number = -100;
    cout << "number的绝对值是:" << abs(number) << endl;
    return 0;
}

运行结果:

number的绝对值是:100

ceil

ceil(x)

计算不小于双精度实数 x 的最小整数

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double x = 3.6;
    cout << "ceil(x) = " << ceil(x) << endl;
    return 0;
}

运行结果:

ceil(x) = 4

可以理解为给数字 x 进行向上取整。

floor

floor(x)

计算不大于双精度实数 x 的最小整数

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double x = 3.6;
    cout << "floor(x) = " << floor(x) << endl;
    return 0;
}

运行结果:

floor(x) = 3

可以理解为给数字 x 进行向下取整。

提示

其它常用函数

  • sizeof

  • memset

  • malloc

  • free

sizeof

sizeof(x)

得到变量 x 的内存大小。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a = 1;
    double b = 1.2;
    char c = 'a';
    string d = "abc";
    cout << sizeof(a) << endl;
    cout << sizeof(b) << endl;
    cout << sizeof(c) << endl;
    cout << sizeof(d) << endl;
    return 0;
}

不同的变量占据的内存大小不一样。

memset

void *memset(void *s, int ch, size_t n)

memset(a,1,sizeof(int)*5)

批量设置从 a 开始,连续 5 个内存空间的值为 1。要注意的是,memset 是对字节进行操作,一般用来初始化字符型数组。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char word[] = "apple";
    memset(word, 'a',5);
    for(char i: word)
        cout<<i<<endl;
    return 0;
}

a 的值被重置为 5 个'a'。

登录