网站首页 | 新闻视点 | 中国高校 | 高考专递 | 高校招生 | 考研考博 |
教学资源 | 论文教案 | 英语专栏 | 百狐网站 | 就业创业 | 出国留学 |
生活频道 | 动漫世界 | 游戏时空 | 电脑学习 | 文秘资源 | 学术讲座 |
彩信铃声 | 站长手册 | 视频音频 | olympics | 大学商城 | 英语学习 |
加入收藏
设为首页
网站导航
您现在的位置: 中国大学网 >> 电脑 >> 水平考试 >> 资讯正文
网 站 搜 索
推 荐 信 息
热 门 信 息
  程序员考试补课笔记-第七天           
程序员考试补课笔记-第七天
∷∷ 中国大学http://www.unjs.com 文章来源:中国大学电脑网络  ∷∷
程序员考试补课笔记-第七天

今天终于都讲到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

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:");

  scanf("%d",&m);

  printf("the step to moving %3d diskes:\n",m);

  hanoi(m,'A','B','C');

}

/*运行情况如下:

input the number of diskes:3 回车

the step to moving 3 diskes:

A-->C

A-->B

C-->B

A-->C

B-->A

B-->C

A-->C


书上说hanoi(n-1,one,three,two);是把"one"上的n-1个往"two"上移,接着move(one,three);然后是hanoi(n-1,two,one,three)即把"two"上的n-1个往"three"上移;

|h(2,1,3,2)|h(1,1,2,3)=>move(1,3) move(3,2) move(2,1) move(1,3) j)

{

int k=1,i=2,j=3;

pirntf("%d\n",i*3);

printf("%d\n",j*10);

}

printf("%d",k);

}


单击上面文本框即可复制文本框内的文字,方便您推荐给您QQ上的好友,记得常回来看看哦!   
  • 上一条资讯:

  • 下一条资讯:
  • 【声明:本站所发表的全部或部分内容仅代表个人观点,与本站无关,谢谢合作!】
      广而告之
    特别感谢西部数码提供本站空间!版权所有 Copyright© 2006-2010 中国大学
    中华人民共和国网站备案号/经营许可证号:渝ICP备05000110号
    本站部分内容来自互联网,如有侵权,请告知站长为谢!
    不良信息,欢迎举报!国家不良信息举报中心