level 9
读人Readman
楼主
作者:李文超
本文系原创,如需转载,请注明作者及出处。
这是一系列随笔性质的文章,待全部写完后作者会统一进行校对和整理,使之更具有系统性和逻辑性。
本文在759833857的qq空间和草间低语的新浪微博同步更新。欢迎感兴趣朋友来交流。
当你不接触C语言的时候你总会胸中豪情万丈,欲与天公试比高,总想在心中把这世上的编程语言排个名次,分个高下,弄个兵器谱之类的东西,你也当一把百晓生的瘾。
然后有一天你与C语言不期而遇了,你知道了它的博大与内涵,你开始虚怀若谷,你开始谦虚谨慎,那种xx天下第一,xx语言是世界上最好的编程语言,之类的话再也不会从你的口中说出。
就连在C语言范围内,你也不会再计较什么哪种方法那种形式是最好的,因为一千个读者心中就有一千个哈姆雷特,不管什么用法,只要你用着顺手,用着喜欢,就是好的用法。
for循环也是。
for作为一种循环,它能做的事while大法几乎都能做,如果你偏爱,并且沉迷于while的简洁,那你完全不用了解for循环也是可以的。
我一开始也很喜欢while而疏远for,因为相对while来说,for的结构稍微复杂那么一点点,而且思路并不是那种很流畅的自然思路,而是需要你分析理解一下设计者定下的规则。
毕竟是一种与计算机交流的语言,不能完全像自然语言那样去写,否则就不需要专门设计编程语言了,我们直接写一篇作文给电脑去读好了(当然,经过几十年的发展,编程语言越来越有这种向自然语言贴近的趋势,希望有一天电脑可以直接听懂我们的自然语言吧)
for的结构看上去怪怪的:
for(1初始条件;2循环条件;3循环后动作)
{
4需要循环执行的动作;
}
我为什么要编号,因为不编号就没法讲了,打字都要累死。其实也没那么累啦,只是更方便讲顺序而已。
看好了,它的运行顺序是,先执行1,再执行2,然后是4,最后是3,然后又回到2,如果2的条件仍然成立的话就继续执行4,执行完一次之后再回到3,然后再回到2……如此往复,直到2的条件变得不成立为止。
我知道这可能有点抽象了,不是我一贯的风格,我最初也是这样纠结了很久,不过在某一时刻豁然开朗之后马上就理解了这个概念,然后就不觉得它是个问题了,可能就是俗话说的难者不会会者不难吧。
咱们来举个例子。
for(你爹的怒气值为零;当你爹的怒气值小于一百的时候;怒气值每次加一)
{
你把你爹收藏多年的全套小浣熊百变天书一张一张给撕了个干净;
}
最终就是当你爹的怒气值突破一百的时候,跳出循环,接下来等待你的是什么我想也不必多说吧。
for循环就很适合干这种类型的事情,它的结构更紧凑清晰,至于你觉得能用它干什么,这就看你个人的感悟了,我只是举个例子而已,我绝对没有因为我儿子把我的收藏品糟蹋了而打他屁屁。
所以从某种程度上来说,也许for循环不是最好的循环,但人人都会喜欢for循环。
PS:for的意思是为了谁谁谁而去做某件事,可能跟当这个字没什么关系,不过本身它也是为了实现跟while不一样的作用而被设计出来的,为了大括号里的循环动作能够一直持续下去,它要在小括号里的条件中不停的来回转跳,我是这样理解的。
2017年05月16日 05点05分
1
本文系原创,如需转载,请注明作者及出处。
这是一系列随笔性质的文章,待全部写完后作者会统一进行校对和整理,使之更具有系统性和逻辑性。
本文在759833857的qq空间和草间低语的新浪微博同步更新。欢迎感兴趣朋友来交流。
当你不接触C语言的时候你总会胸中豪情万丈,欲与天公试比高,总想在心中把这世上的编程语言排个名次,分个高下,弄个兵器谱之类的东西,你也当一把百晓生的瘾。
然后有一天你与C语言不期而遇了,你知道了它的博大与内涵,你开始虚怀若谷,你开始谦虚谨慎,那种xx天下第一,xx语言是世界上最好的编程语言,之类的话再也不会从你的口中说出。
就连在C语言范围内,你也不会再计较什么哪种方法那种形式是最好的,因为一千个读者心中就有一千个哈姆雷特,不管什么用法,只要你用着顺手,用着喜欢,就是好的用法。
for循环也是。
for作为一种循环,它能做的事while大法几乎都能做,如果你偏爱,并且沉迷于while的简洁,那你完全不用了解for循环也是可以的。
我一开始也很喜欢while而疏远for,因为相对while来说,for的结构稍微复杂那么一点点,而且思路并不是那种很流畅的自然思路,而是需要你分析理解一下设计者定下的规则。
毕竟是一种与计算机交流的语言,不能完全像自然语言那样去写,否则就不需要专门设计编程语言了,我们直接写一篇作文给电脑去读好了(当然,经过几十年的发展,编程语言越来越有这种向自然语言贴近的趋势,希望有一天电脑可以直接听懂我们的自然语言吧)
for的结构看上去怪怪的:
for(1初始条件;2循环条件;3循环后动作)
{
4需要循环执行的动作;
}
我为什么要编号,因为不编号就没法讲了,打字都要累死。其实也没那么累啦,只是更方便讲顺序而已。
看好了,它的运行顺序是,先执行1,再执行2,然后是4,最后是3,然后又回到2,如果2的条件仍然成立的话就继续执行4,执行完一次之后再回到3,然后再回到2……如此往复,直到2的条件变得不成立为止。
我知道这可能有点抽象了,不是我一贯的风格,我最初也是这样纠结了很久,不过在某一时刻豁然开朗之后马上就理解了这个概念,然后就不觉得它是个问题了,可能就是俗话说的难者不会会者不难吧。
咱们来举个例子。
for(你爹的怒气值为零;当你爹的怒气值小于一百的时候;怒气值每次加一)
{
你把你爹收藏多年的全套小浣熊百变天书一张一张给撕了个干净;
}
最终就是当你爹的怒气值突破一百的时候,跳出循环,接下来等待你的是什么我想也不必多说吧。
for循环就很适合干这种类型的事情,它的结构更紧凑清晰,至于你觉得能用它干什么,这就看你个人的感悟了,我只是举个例子而已,我绝对没有因为我儿子把我的收藏品糟蹋了而打他屁屁。
所以从某种程度上来说,也许for循环不是最好的循环,但人人都会喜欢for循环。
PS:for的意思是为了谁谁谁而去做某件事,可能跟当这个字没什么关系,不过本身它也是为了实现跟while不一样的作用而被设计出来的,为了大括号里的循环动作能够一直持续下去,它要在小括号里的条件中不停的来回转跳,我是这样理解的。