系统函数
系统函数
是将函数封装入库,供用户使用的一种方式。方法是把一些常用到的函数编完放到一个文件里,供不同的人进行调用。
像 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次方:8log10
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) = 2sqrt
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的绝对值是:100ceil
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'。