一、关于分文件

  1. 创建一个项目
  2. 使用多个cpp文件或.h文件等
  3. 只能有一个main函数

1.关于全局变量

  1. 在某个地方定义(在主函数之外 int a)
  2. 在某个地方调用(需要先声明 extern int a)
  3. 声明需要extern的原因是它不具备外部特性
  4. 函数自带外部特性,所以加不加extern都可

2.关于自定义头文件

  1. 后缀名(.h)
  2. 内部为正常定义形式
  3. 使用时为调用头文件形式(将<>换为””)

二、关于递归函数

1.基础特性

  1. 需要一个终止条件
  2. 以一定的规律不断重复调用该函数本身

2. 代码演示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;

int main()
{
int fib(int n); // 函数的声明
int n;
cin>>n; // 输入一个n,使用自定义函数来求第n位斐波那契数
cout<<fib(n); // 调用该递归函数并输出该数
return 0;
}

//自定义一个递归函数
int fib(int n)
{
if (n=1 || n=2)
{
return 1; // 因为斐波那契数第一位和第二位都是一,同时也可作为终止条件使用
}else {
return fib(n-1)+fib(n-2); // 此处为循环调用函数本身
}
}

注:在调用递归函数中的函数体时,后面的语句会被暂时搁置,在前面的函数执行完后才会继续执行
例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;

void f(int n)
{
if (n>=10)
{
f(n/10);
}
cout<<n; // 该语句会在上一个f(n/10)完全执行完后执行
}
int main()
{
f(12345); // 因为该函数定义在main函数之前,所以使用前无需声明
return 0;
}

输出为:
1
12
123
1234
12345