函数¶
函数¶
函数(Function)是一个可以被其他代码或其自身调用的代码片段。当函数被调用时,实际参数被作为输入传递给函数,并且函数可以返回输出。
C++内置函数¶
abs(x) 绝对值
fabs(x) 小数的绝对值
celi(x) 向上取整
floor(x) 向下取整
round(x) 四舍五入
pow(a, b) a的b次幂
swap(a, b) 交换
max(a, b) 较大值
min(a, b) 较小值
主函数¶
自定义函数¶
语法格式
其中,参数列表作为函数的输入,可以是零个或多个。
仅在函数内部使用,相当于函数内的局部变量。
有返回值的函数
无返回值的函数
使用函数编程的意义
如果在主函数中,多次使用相同的代码来完成类似的功能,代码会变得冗长,不易阅读和维护。
将相同功能的代码,封装到函数里实现,就可以重复使用了。
这叫做,模块化编程。
模块化编程,是重要的编程思想,我们要养成的代码习惯。
作用域¶
在 C++ 中,用大括号 {}
来表示作用域,其含义是启作用的区域。
下图中,红色框圈出来的 int a, int b
,是 f 函数内的局部变量,并不是第5行的 int a, b
;
两者名字虽然相同,但互相不打架。
在这里,我们需要注意的是:
合理的变量命名,把变量定义在合适的位置上,是我们基本的代码习惯。
下面代码,编译会报错吗?
判断质数的代码模板¶
bool is_prime(int n) {
if (n < 2) return false;
for (int i = 2; i <= n / i; i++)
if (n % i == 0) return false;
return true;
}
函数的调用¶
下面代码中,主函数调用了 f 函数,f 函数调用了 f2 函数。
f2()
执行完,返回给 f()
。
f()
执行完,返回给 main()
。
sort 函数¶
sort()
函数,是 #include <algorithm>
中的函数。
我们用来对数组内的元素进行排序。
从小到大排序
#include <bits/stdc++.h>
using namespace std;
int a[110], n;
int main() {
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
sort(a, a + n);
for (int i = 0; i < n; i++) cout << a[i] << ' ';
return 0;
}
从大到小排序
自定义一个 cmp
函数,用于确定元素之间的比较方式。