黑马程序员技术交流社区
标题: C语言 include的使用和递归函数 [打印本页]
作者: wangxu 时间: 2014-8-24 23:06
标题: C语言 include的使用和递归函数
源代码 -》 编译预处理 -> 编译 -> 链接 -》运行
编译预处理执行是在编译预处理(编译之前)的时候,进行解析处理的。
#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;
}
作者: 庄得超 时间: 2014-8-25 15:39
恩恩 ,总结的不错,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |