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

本文探讨C语言的控制流基础,包括顺序、分支和循环,并指出这些基本控制方式与算法的紧密关系。作者通过递归和循环的例子强调,尽管计算机能够轻松处理迭代逻辑,但人类理解这类思维时可能会遇到困难。建议通过练习来适应这种思维方式。
摘要由CSDN通过智能技术生成

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

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

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

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

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

这里写图片描述

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

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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值