赶紧进来!!轻松掌握C语言“顺序”、“分支”、“循环”三大结构

在这里插入图片描述

前言: C语言是一种结构化的语言,其中包含三大结构:顺序结构、分支结构、循环结构,每种结构设计理念都是符合我们生活逻辑,换言说: 计算机程序设计语言设计出来是为了方便人类,所以其此三大结构是根据人们生活日常而采用到计算机中的,所以在一个程序里一定有其中至少一种结构设计存在,今天一起详细了解这三大结构吧~~~

顺序结构↓↓↓

了解顺序结构

顺序结构是最简单的一种结构,先看一张顺序结构图在这里插入图片描述

它类似为我们生活中做一件事从开始到结束,比如:喝一口水,从你伸手拿起杯子喝水,咕噜咕噜把水喝下肚,然后放下水杯,你就完成了喝水这件事,这件事也就是一个顺序结构

顺序结构的实现

说到顺序结构的实现就非常简单了,请看一段代码
在这里插入图片描述
这串代码是不是非常熟悉,就是我们刚接触c语言写下的第一个代码,在屏幕上输出"Hello world",这串代码就是一个顺序结构,从main开始逐条语句往下运行直到return 0结束。

顺序结构的总结

顺序结构是三大结构里最好理解,实现起来很简单的结构,按照顺序从开始到结束依次执行。

分支结构↓↓↓

了解分支结构

分支结构就是一种类似于多种选择所以它可以叫做选择结构,而不同的选择带有不同的结果,比如在我们生活中散步时候走到一个分叉路口,此时你不得不作出选择走其中的一条路,你不可能分身出来两条都走,而走不同的路,你沿途会见到不同的风景,往小了说这是两条路,往大了说,是你人生不同的路,当你作出了选择,便要脚踏实地走下去,欣赏沿途每一处的风景~

分支结构的实现

C语言里实现分支结构有两种方法,先看一张分支结构图
在这里插入图片描述
根据判断条件,满足条件为true则运行语句a,不满足条件为false则运行语句b
而c语言中又是如何判断真假的呢?
在c语言中,0表示假,非0则表示真
实现分支的两种语句一种是if else语句 ,一种是switch case语句
两种语句都可以实现分支和多分支的效果,所谓分支就是有两种选择,多分支就是两种以上多种的选择,接下来我们一一了解这两个语句的实现。

if–else

先看一段代码
在这里插入图片描述
这是if else实现单分支
if后面括号里为表达式 ,当表达式结果为真时,则运行if下面的语句
当表达式为假时则运行else下面的语句,这张图我选择的是1,a==1
为真所有运行的是下面{}里的语句。这里注意:我们用if else时 运行的是下面的一条语句 ,要像运行多条语句得用{}将其多条语句括起来作为一个复合语句。
再看if else实现多分支↓
在这里插入图片描述
这是 if else实现多分支情况 ,此时多加了一条语句 else if ,它后面也有一个表达式,此时有了三个选项,当满足else if 旁边的表达式为真时会运行 其下面的语句, 注意 多分支 有多种选择也只能实现一种选择,从if表达式开始,当表达式为假则 判断else if表达式,如果if 表达式为真则此分支结构只会运行if 分支然后结束,即便else if表达式为真也不会运行。要想运行多个分支需要多个if 分支结构。

Switch --case

在这里插入图片描述
Switch case分支 switch后面括号里表达式为整形表达式(整形常量.整形变量.整形表达式),不可以为其他类型表达式,而case后面只能为整形常量表达式,不能为变量, (字符型.整形.枚举型都为整形)
当case后面的表达式与switch后面表达式相对应时,即a里面数是5,case后面是5则运行case 5:这个分支,按照常理来说应该只输出星期五才对,这里输出了星期五星期六星期天,是因为还少了个关键字break
在这里插入图片描述
因为在此分支结构中,case只表示分支的入口,即运行哪一个分支,而break表示分支的出口,运行break才会结束此结构,如果没有break会继续顺序运行下面分支,在每个case语句相应位置加上break此时就可以实现运行单分支情况,而不加break就可以实现 多分支情况。
Switch case此时有个 和if else还有不同的地方,if else 的else 语句表示的是其他所有输入会运行的分支,而这里switch case里并没有,其实是有的,这个关键字是default。
在这里插入图片描述
default表示的是默认情况,即所有分支都不满足时会运行该分支。

注意: switch 下面的分支语句要用{}括起来,并且 case 表达式 后面要用:引号 表示入口,case,default的位置可以任意,因为分支是跟条件是否匹配有关,他们的顺序是可以任意的。
字符型.整形.枚举型.实际上都为整形都可以做为表达式,
const修饰的变量为常变量,是一个具有常属性的变量本质上还是变量不能作为case后面的 分支判断
建议一般频率较高的分支放前面,默认情况的分支放后面…

分支结构的总结

if --else 和switch–case 两个分支关键字 介绍完了,是不是觉得它们语法上都差不多,但是他们分别适用于不同的场景,在不同情况下使用相对于的语句会事半功倍。

循环结构↓↓↓

了解循环结构

循环结构就很有趣了,这是它的基本流程图
在这里插入图片描述
这种结构类似于我们生活中一些需要反复做的事,比如剥豆子,你需要反复做着同样的动作,直到把豆子剥完才会停下来。
这个循环结构设计就在于,当我们开始循环时会不停的按顺序执行循环体的语句,直到满足某个条件后结束循环才停止,实现循环结构有三个关键字,一个是while,一个是for,一个是do–while,上面图的第一个是 while 和for 的结构,第二个是do–while的结构 ,他们不同是一个序号判断条件才开始运行,第二个是不管条件先运行一次再判断条件。

循环结构的实现

while循环

先看一段代码
在这里插入图片描述
while 后面的是循环终止表达式,即当该表达式里是假时,循环终止,如表达式是真,则进入循环体运行{}里的为循环体,当运行完后会再次回到while表达式,运行表达式为假结束循环 为真运行循环体内的语句,实现循环的效果,上图我表达式为a 而a的值是10 ,我运行循环体,循环体里有语句a–使得每运行一次a的值自减1,最后a为0时结束循环,打印了10条语句,如果没有a–则会造成死循环。
注意: 使用while,不要造成了死循环,否则程序就出了bug

for循环

老规矩,上代码↓
在这里插入图片描述
for语句 后面括号内有三大部分每个部分之间用;分号隔开,第一部分是初始化部分,这个部分对构成循环的变量进行初始化,一开始a被初始化为10,但在for循环开始的第一部分将其赋值为了5,第二部分为判断部分,即循环终止表达式,当此部分为真时开始运行循环体即下面{}里的内容,为假则结束循环,最后运行完结构体会来到第三部分调整部分,该部分主要是对构成循环条件的变量进行调整,主要使其趋近于循环判断表达式,如果没有该部分此时会造成死循环。
而这三大部分理论上都可以省略,只留下; 第一部分省略表示不初始化,第二部分省略表示 没有判断条件,此时会无限循环执行循环体的内容,第三部分省略表示不执行调整部分。
对于循环初始化和判断部分一般采用左闭右开区间
这样做法便于确定循环次数
如for(i=4;i<10;i++) 为[4,10)
for(i=4;i<=9;i++)区间为[4,9] 它们的循环趟数都是10次
第一种左闭右开可以之间右值减左值104得到循环次数6次
而全闭区间需要9-4+1得到循环次数,在以后使用循环会出现更多场景,用左闭右开区间更方便计算循环趟数.
注意: 初学for 尽量不要省略,一步步写,不能图方便而造成了死循环,死循环对于一个程序运行没有任何意义只是一个bug。

do–while循环

↓↓↓
在这里插入图片描述
do–while语句最大特点是第一次不用进行循环表达式判定就可以运行一次循环体,循环完后再进行循环终止条件表达式,当为假时结束循环,为真时继续运行循环体. 此时a值为0 按常理来说是假,但是根据do–while特性直接运行了循环体,然后再判断条件为假结束循环。
注意:do放最前,后面用{}括起来然后接着while (表达式) 后面一定要加上;分号 !!

循环结构里 break continue用法

在这三个循环语句中都可以使用关键字break 和continue,break语句表示终止循环,在循环体中运行了break此时循环会结束, continu 关键字 在while 和do while 循环语句里表示 跳过本次循环 进入下一次循环的循环条件判断表达式(while的循环判断表达式在循环语句开头,do while 在最后面),当结束此次循环跳转到对应的循环判断表达式里判断,满足条件则会再进入循环,不满足则退出;而在for语句里的continue则是结束此次循环跳到 for语句的调整部分,运行完调整部分才会运行循环条件终止表达式,为真则进入循环体,为假则结束循环。

循环结构的总结

三个循环语句 各有各的特点,相对来说for循环功能更全面,但是不能一概而论,还是那句话不同场景用不同的语句可以事半功倍,关键字功能的设计是有它使用的意义的。不管是哪种循环,最好都要加上{}否则只会运行下面一条语句,且使用时一定要注意循环条件终止表达式,不要粗心造成了死循环!!!

在这里插入图片描述

很高兴你能耐心看完,相信你看完这章对这三大结构已经初步掌握了,不过光看是远远不够的,要多花时间去写代码,实践是检验真理的唯一标准。下期我会在这些结构的基础上加一些新知识 手把手出一个c语言实现小游戏的代码,期待一下~~~

文章中有什么讲解不周到的还请多多指出,定当第一时间改正,
制作不易,给个一键三连叭~~~

在这里插入图片描述

评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛牛要坚持

感谢!!兄弟你的支持是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值