C语言之路

相信许多学C语言的小伙伴都是从“这是我的第一个C语言程序”开始的,我也一样,起初觉得C语言很简单,但我们开始学的都是皮毛,但当你爱上编程,你会发现越来越有兴趣,同时也会觉得头皮有点凉快。网上老是能刷到一下人展示,也有些人夸编程,在有的人看来编程索然无味,但有很多人却又十分感兴趣,为了找到自己程序的bug可以一晚上不睡觉,我分享一下自己的经历。

我不知道我为啥选C语言,因为我不能决定,学校安排的,但学到最后其实学了一丢丢,我开始觉得循环好难理解,但当你学了递归,你就会知道其实都很难,反正学习无极限,能多学就多学。开始不知道为啥C语言要设立数组,但后面听老师讲解,这是计算机本身条件决定的。当我还在为循环烦恼时,大佬早就学完指针了,听着我听不懂的专业术语。

C语言的原码和补码,我就已经有点不知所措,后面当我学懂了,我才知道其实就是人为规定的,很多东西必须要自己了解本质后才能更加深刻明白,就像你学数学一样。下面我分享一下递归吧。

递归函数。递归分为直接递归与间接递归两种,直接递归简单地说就是函数自己调用自己,如A()调用A()为直接递归。间接递归是指函数在嵌套调用过程中出现了一种循环一个函数在它的函数体内调用它自身的过程称为递归调用,这种函数称为递调用的现象,也就是出现了函数间接调用自己的情况,如A()调用B(),B()调用A(),或者A()调用B(),B()调用C(), C()调用A()等为间接递归。两种递归的实质是一样的,均出现了函数自己调用自己的现象。

递归注意事项:

  1. 弄清递归的本质:主从未知到已知的倒推求解方式。
  2. 分而治之:即严格按将一个规模n的问题变为规模较小的n- I或n-2等问题来解决,而大规模问题与较小规模问题具有同样的解决方案。
  3. 按照分而治之的理论,设计一个好的函数模型是递归的关键。
  4. 递归终止条件是必不可少的,缺少了递归终止条件意味着递归可能会无限执行而造成系统的崩溃。因为递归是用堆栈来实现的,而显然系统不允许堆栈的无限增长。
  5. 还有一点就是不要调用次数过多,不然效率不高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值