您的位置是:首页 >> 计算机 >> 计算机水平考试 >> 文章阅读

程序员考试补课笔记-第七天


日期:
2005-8-22 22:29:00
来源:
作者:
编辑
bbhboy
今天终于都讲到C语言比较后的范围了,"函数"说是C语言的一切真的没错(可能有吧,我不知道)。很多书上都说着函数是C语言根本,就是说函数是构成C语言的。看以下这个程序:  

main()  

{  

  printf("Hello World");  

}  

  main()就是C语言里最特殊的一个函数,是构成整个程序的关键。在C编译器里首先就是要找出这个主函数才开始执行编译,好了,说了一些书上原来的东西。现在我们就来看看C语言里的函数究竟是怎么的,如果我们从基础的说起也没有什么意思。那么我们就从函数的另一个特点说起,"递归函数"相信很多人都知道这个吧,看过老潭的教程应该都知道他经典的第一个递归程序吧:  

int abc(int n)  

{  

  int s;  

  if(n >1) s= n*abc(n-1);  

  else s=1;  

  return (s);  

}  

  从这个源程序很容易就看出有一个同自己名字的函数在里面,所以以后我们看到一个函数里面调用自己就是递归函数了。而且我们看一个递归函数就主要就是看它是否一个返回的条件,就好像一条又黑又深的山洞,我们前去探险如果往到底就一定要回头,就算是更深的也要返回啊!所以我们判定一个递归函数是否成立也常常是看它的返回条件。至于上面的那个源程序我也不想多说了,应该大家也看得明白。  

这里就看看另一个利用递归函数做的题目吧,就是诺汉塔(老潭的书上也是有的)。  

#include <stdio.h>   

void move(char x,char y)   

{  

  printf("%c-->%c\n",x,y);  

}   


void hanoi (int n,char one ,char two,char three)   

{  

  if(n==1) move (one ,three);   

  else   

  {  

    hanoi (n-1,one,three,two);   

    move(one,three);   

    hanoi(n-1,two,one,three);   

  }   

}   


main()   

{   

  int m;   

  printf("input the number of diskes:");   
此文共有4页 上一页 1 2 3 4 下一页
关闭窗口

   兆联特别申明
1)除本站特殊规定外,本站所有信息均不拥有版权,仅供学习参考!
2)站内大部分内容注明出处及详细信息,版权归作者所有!如果您觉得不妥请及时与我站联系,我们将立即删除。
3)本站提供的资料您只有阅读权,并不等于您得到文章的所有权,本站反对将我站提供的资料直接使用。