初识C之循环语句三剑客
Posted zsQgqdsd1002
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识C之循环语句三剑客相关的知识,希望对你有一定的参考价值。
循环语句
前言
上一篇我们简单的介绍了选择语句两兄弟的基本介绍以及各自存在的缺陷,那么C语言中除了选择语句还有很多其他的特殊语句,我们今天要介绍的就是——循环语句三剑客。
一、循环是什么?
提到循环语句就不得不先说一下循环,因为你既然叫循环语句,那么肯定是在循环的情况下才可以去使用这个循环语句。那么循环是什么呢?就是同一件事情我们要完成很多次,打个比方吧,我们每天起床睡觉就是循环,每分每秒的呼吸就是循环,那么循环语句就是为了处理这些有关于循环的问题而诞生的。
我们来看一个简单的问题,求1+2+…+5的值,没有循环语句我们要怎么做?
int main()
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
printf("%d", a + b + c + d + e);
return 0;
那我要是求1+2+…+10000呢?还要这么写吗?这肯定是行不通的,无论是从时间还是内存上来讲,在数字很大的情况下,这种穷举就很难出色的完成任务,所以这个时候就需要我们的循环语句三剑客出现了。
二、循环语句三剑客
1.for循环
基本介绍
我们先开简单认识一下for循环的结构:
for(表达式1; 表达式2; 表达式3)
语句;
这就是一个简单的for循环的结构,其中
表达式1:初始化部分,用于初始化循环变量
表达式2:判定部分,条件为真时循环,否则跳出循环
表达式3:调整部分,用于调整循环,多用于使循环变量更接近表达式2的判定部分
我们用for循环简单的演绎一下刚刚提到的问题:
int main()
int sum = 0;
for(int i = 0; i < 10000; i++)
sum = sum + i;
printf("%d", sum);
return 0;
是不是觉得简单明了多了?这就是循环语句处理这些问题时候的优势。
执行顺序
for循环的运算顺序是什么样子的呢?首先for循环会先执行表达式1,对循环变量进行初始化;然后执行表达式2,判断变量是否满足循环条件,如果满足则进入for循环中执行其中的语句,语句执行结束后执行表达式3,如果不满足则跳出循环。然后从第二轮开始就不会执行表达式1了,直接从表达式2开始执行,判断,若为真进入循环执行完语句后执行表达式3…往复循环,直到表达式3的调整使得循环变量不再满足表达式2时结束循环。
注意事项
for循环里的三个表达式要使用;连接起来,不能使用,更不能省略!
对于for循环来讲,括号里的表达式理论上来说都是可以省略的,但是一定要清楚各个表达式的意义,根据具体遇到的问题来判断是否应该添加表达式!
2.while循环
基本介绍
while循环的结构和for循环来说也算是大同小异,所有的循环都需要三要素,while循环也不例外,由于while循环不太好抽象出来,我们举例说明:
int i = 0;//初始化循环变量
int sum = 0;
while(i < 10001)//对循环变量的判断
sum = sum + i;
i++;//循环变量的调整
printf("%d", sum);
我们前面说到所有的循环都离不开三要素,那是哪三要素呢?就是初始化,判断和调整,在上面的代码中,我用注释标记了各个要素所在的位置。只要是循环,就一定要有一个循环结束的点,类似于递归一样,一定要让这个调整条件无限的接近于循环结束的条件。
执行顺序
在while循环中,执行的顺序和for循环是一样的,先执行初始化条件,然后执行判断条件,最后执行while代码块里的调整条件,依旧是从第二次循环开始时不执行初始化条件,直到循环变量不满足判断条件为止。
注意事项
感觉while循环好像没有什么要注意的说,基本没有容易犯错的地方…
3.do while循环
基本介绍
do while循环我们依旧是用举例的方法来进行演绎:
int i = 0;//初始化循环变量
int sum = 0;
do
sum = sum + i;
i++;//循环变量的调整
while (i < 10000);//判断条件
printf("%d", sum);
do while也是具备着循环语句所需要的三要素,我依旧会在代码块中为大家标记出来。
执行顺序
到了do while这里,执行顺序就有了一些改变了,首先呢还是先执行初始化部分,然后do while会先执行代码块里的语句,包括对循环变量的调整,最后再执行判断条件,然后往复循环。所以说,do while循环无论如何一定会执行一次循环体,这是与其他两剑客所不一样的地方,是我们需要记住的。
注意事项
一定要清楚do while语句的执行顺序,这样才能给出准确的调整条件以及判断条件!
do while语句while()记得要加;
总结
以上就是今天我想分享给大家的内容,今天只是简单的介绍了循环三剑客的结构和执行条件,还有很多的内容并没有提及到,比如说使用的范围还有各自的区别等等,这些我都会在以后的内容慢慢呈现给大家。如果有什么错误的地方或者有待提高的地方,欢迎大佬们联系我,一起学习一起进步,谢谢大家!
以上是关于初识C之循环语句三剑客的主要内容,如果未能解决你的问题,请参考以下文章