从最浅层剖析C语言——第三节(超详细讲解各种循环体系)

1. 前情引入

C语言总共提供了三种循环语句

分别是while循环,for循环,do while循环

首先讲解while语句,大家可以通过while语句作为入门循环的第一个循环体系,因为它的执行流程和for循环十分类似

2. while循环

2.1 while的语法结构

while的语法结构跟for循环十分类似

举个例子来说明

上面两个,都是在括号里面写表达式,表达式输出结果为1(非零代表真),所以便执行了接下来的

不同的是,while循环语句一旦一直为真,便会无休止的打印hello,无法结束

其余语法规则与if语句基本一致

2.2 while语句的执行流程

首先判断while循环括号里面的输出值为0还是非0,为真(非零)便继续执行下面的语句,如果为假(0),那么便相当于之前switch语句里面提到的break(出口)进行跳出,结束循环,从而避免了一个循环体系无休止的进行下去

2.3 while循环的作用

我们在以后很多地方,都会用到循环体系,循环可以说是C语言学习中不可或缺的部分

无论是在各种竞赛还是在日常学习以及学校的考试中,循环的重要性是不言而喻的

我们这里先来实践循环一个最粗浅的应用

使用while循环打印1到10的数字在屏幕上

通过基本的while循环的应用,我们便成功打印出了1到10的数字出来

2.4 while循环的小练习

随机输入一个正整数,逆过来打印这个正整数的每一位

输入1527,打印7 2 5 1

那么思考一下,我们应该如何实现这样的一个功能呢?

很明显我们需要先从个位开始打印,慢慢往更高位进行打印,那么在最开始我们就需要用到%(取余数操作符)

任何一个数%10,得到的一定是它的个位数

接下来我们只需要继续/10,因为整型变量除以10的时候,是会直接去除小数保留整数的,所以我们不用担心会出现小数,这个时候,原来的十位就变成了现在的个位,继续进行%10的操作即可打印出原本的十位数,这样循环进行下去,最后逆着打印的功能就实现了

上面就成功逆序打印出了10086

3. for循环

3.1 for循环的语法结构

首先,值得强调的是for循环在三种循环结构中是使用的最多的那一个

在我们后续介绍for循环的语法规则的时候大家就能明白为什么是使用最多的那一个

for循环使用语法如下

for(表达式1;表达式2;表达式3)

表达式1用于循环变量的初始化

表达式2用来作为是否结束循环的条件

表达式3用于每次循环的过程中变量的调整

例如,我们现在用for循环来打印1到10的数字,观察一下与while循环有何异同之处

可以观察出同样功能的代码,用for循环比while循环更简略一点,并且在while循环中同样有着for循环所需要的三个表达式

都是需要首先将变量进行初始化,然后设定循环是否能够结束的条件,最后进行每次循环对变量的调整

所以for循环从某种程度上来讲,就是while循环的简略版

3.2 for循环的执行流程

值得注意的是,表达式1(变量的初始化)只执行一次,而表达式2和表达式3将会循环执行很多次,直到循环最终停止

3.3 for循环的小练习

计算1到100之间三的倍数的数字之和

那我们首先先需要判断出1到100的三的倍数,通过for循环首先出现1到100的数字,然后通过if语句判断其是否是三的倍数,然后进行相加

3.4 for循环中的break和continue

break正如switch语句中的break(出口)是一样的意思,一旦执行到break语句便彻底跳出了这个循环,正如下面这个代码中,我们在打印1到10的数字中加入了break

在break发挥作用的时候,for循环语句打印完五之后便彻底跳出了循环

那continue的作用顾名思义,根据英文意思继续,意思就是继续执行,那我们如果把上面的break替换成continue会如何执行呢?

大家可以看到,在1到10的过程中,唯独少了一个5,这是因为continue虽然是继续的意思,但是是跳转到循环的第三个表达式部分,随后继续执行下面的循环,所以continue语句下面的语句是不会被执行的

4. do while循环

4.1 do while循环的语法结构

语法结构如下:

do

语句;

while(表达式);

while和for这两个循环都是先判断是否满足循环条件,才会选择进入循环还是不进入循环

但是do while循环则是先进入循环体,执行循环语句,然后再执行while后的判断表达式,表达式为真(非零)则进行下一次,表达式为假(0),则不再继续进行循环

4.2 do while循环的执行流程

以下是三个循环的执行流程对比

do while语句需要先执行上面的语句,在执行完前面的语句之后才会去判断表达式是否继续循环

也就是说:在do while语句之中,循环体是至少要执行一次的,这是它的特殊之处

其余语法与while循环基本一致

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值