C语言基础(三)之控制流

C语言控制流主要是顺序,分支,循环。这三种方式基本上是语言学上必须提供的三种方式,还有一种特殊的方式是在函数层面,就是递归。

本以为控制流部分其实没有什么好说的,三种基本控制方式都是显而易见的,但是,最近一直研究NFA,发现真是难懂,但是代码写出来就是基本的控制流组成的,后来又想起KMP算法,排序算法,发现这些都是基本控制流组成的。于是我猜想控制流不是简单的表面上的东西,这东西和算法是紧密相关的。

在没有展开说之前,我想说一句我一直以来觉得非常有哲学的一句话“计算机是简单的”!
你仔细想想,如果去除所有这些复杂逻辑,计算机本身就是一个电子与器件的组合,他能做的事情也是0 1 的输出。至于为什么有些人包括本人都觉得计算机学习来总是有障碍,主要的原因还是思维的方式问题。

我们很容易思考一个顺序执行过程的算法,比如说今天做什么,明天做什么,后天做什么等等。但是分支和循环,就很难理解了,尤其是循环和分支组合的时候。

首先我们要明白为什么我们很容易理解一个顺序过程的算法,因为这种思维方式是线性的,画个图就明白了

这里写图片描述

熟悉线性表的同学肯定熟悉这样的结构。对于这样的结构我们还是很容易理解的。

如果单纯的是分支结构,我们也是很好理解的,因为分支结构虽然说是一种类似于树状的一种图状结构,但是单纯的某一个分支其实还是线性的结构。

这里写图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值