源代码 -》 编译预处理 -> 编译 -> 链接 -》运行 编译预处理执行是在编译预处理(编译之前)的时候,进行解析处理的。 #include 是编译预处理指令
#include作用就是拷贝文件到#include指令所在位置
#include " " 1、在当前文件所在的路径下查找 2、如果上面没有找,到编译器include路径查找 3、如果编译器include路径下没有找到,系统的include路径下查找 4、如果上面三个都没有找到就报错了。 #include <> 1、编译器的include路径下查找 2、如果没有找到就系统include路径下查找 3、如果都没有找到就报错
当包含我们自己写的文件就是使用 #include "" 当包含系统提供头文件的时候,就是用#include <>
递归函数:自己调用自己函数
// 1、计算 1 + 2 + 3 + ... + n 怎么写一个递归函数: 1、找规律: fun(n) 与 fun(n - 1) 或fun(n + 1) 2、确定函数返回、÷、的条件
fun(n) = 1 + 2 + 3 + ... + n; fun(n - 1) = 1 + 2 + 3 + ... + (n -1);
fun(n) = fun(n - 1) + n;
fun(1) = 1
int sum(int n){ if (n == 1) { return 1; } return sum(n - 1) + n; }
// 计算n阶乘 1 * 2 * 3 ... * n /* fun(n) = fun(n-1) * n fun(1) = 1
*/
int fun(int n) { if (n == 1) { return 1; } return fun(n-1) * n; }
//计算 x 的 y 次方 /* fun(x,y) = x * x *.. x;(y) fun(x,y-1) = x * x *.. x;(y -1)
fun(x,y) = fun(x,y-1) * x; fun(x,1) = x; */
int pow1(int x,int y) { if (y == 1) { return x; } return pow1(x,y-1) * x; }
int main(int argc, const char * argv[]) {
int result = sum(3); result = fun(4); result = pow1(2, 3); printf("result = %d\n",result); return 0; }
|