毕业论文
您现在的位置: 语言识别 >> 语言识别市场 >> 正文 >> 正文

从零开始学习C语言丨循环结构

来源:语言识别 时间:2024/10/12
北京哪里治疗白癜风比较好 http://pf.39.net/bdfyy/xwdt/

各位朋友大家好呀!国庆前的最后一个工作日,不知道大家的心情是怎么样的,反正我几乎无心工作,已经迫不及待地想要开始美好的国庆假期了。

但再怎么躁动,还是得先把循环结构的内容整理出来,毕竟学习永不止步嘛!

首先,我们先来认识一下什么是循环?循环是在满足某个条件的情况下,让计算机帮忙重复执行某个命令或者某一块命令。

C语言中的循环结构包括了:for循环、while循环、do...while循环以及嵌套循环。

for循环

先来看一下for循环的语法结构:

for循环要具备的四个部分:

1、init:初始值。一般是变量赋值,只在第一次循环的时候才会被使用到,之后的每一次循环就用不到这个初始值。其作用是为了赋给后面的condition中进行判断。

2、condition:判断式。循环结构中的判断条件,第一次循环开始前接收init传过来的值,往后是接收increment传过来的值。判断是否成立,成立则开始循环,不成立就结束循环。

3、statements:执行语句。当condition里面的条件满足时,则会开始执行循环代码块里面的指令。

4、increment:增量表达式。每一次循环执行完语句后,都会调用increment中的命令,更新init定义的变量的值。然后传给condition,继续循环。

接下来,我们来用for循环来打印0-的内容:

第一个初始值,初始化了一个int类型的变量i,并给它一个初始值0。当然声明变量的行为,也可以在for循环之外定义的。

不过这两者是有区别的。for循环里面定义的称为临时变量,当for循环结束后,这个变量就从内存中删掉了,在循环结构之外使用变量i是会报错的;for循环外面定义的称为全局变量,即使循环结束,变量i还是存在,且此时的值是。

一般建议是在for循环中进行变量的初始化。

第二个判断式,判断i是否小等于,是的话就执行下面的打印命令,不是的话就结束循环不再运行。

第三个执行语句,每循环一次都会执行一次打印命令,把此时i的值打印在控制台。

第四个增量表达式,每循环一次,i变量就自增一次,然后传给判断式进行判断。以此往复2-4的内容。

那么有朋友要问,除了自增,我想自减行吗?

当然也是可以的。同样是打印0-之间的数字,但是要求是从开始。这时候初始值要初始化i变量的值是,判断式是小等于0,增量表达式就可以使用自减i--。

while循环同样,while循环也是需要初始值,判断式,执行语句以及增量表达式。

语法结构:

和for循环不同的是,while的初始值得在循环体外面进行初始化,然后将初始化后的变量传递给while关键字后面括号里的条件判断式。

do...while循环

和while循环很相似,但又有不同。同时,do...while是一种比较特殊的循环结构,即便判断的条件不满足,都至少会执行一次循环体的内容。

来看一个简单的例子:

如果按照while循环,首先会将初始化的i变量代入while后面的判断式。显然结果是不满足的,因此是不会执行代码块里面的内容。所以在while循环里面,这个案例只输出了一个0。

但在do...while里,这段代码的结果输出是:11。

按照我的理解,计算机语言是按顺序执行的,那么do...while循环首先被执行的是do后面的代码块。因此,执行了一次累加和打印命令。

紧接着运行到while的判断式,结果不满足条件,该循环就结束了。

最后再执行代码块外面的打印命令,而此时变量i的值已经发生了改变,结果就是11。

嵌套循环

循环结构同判断结构一样,也是可以进行嵌套(套娃行为)的。

例如:循环打印1-10中的所有值,在打印每一个值的时候,同时跟着要打印3个1。(用for循环写)

嵌套的行为在代码中建议是尽可能少用,一是影响代码的阅读性,二是会导致后期代码维护变得困难。

所以,嵌套这个行为尽可能少用;当不得不用的使用,也要尽可能少嵌套的层数,一般三个就差不多了。

关键字

C语言中有三个被应用在循环中的关键字,分别是:

break:用来终结循环的。

continue:用来跳过循环中符合某个条件的内容。

goto:用来把控制无条件转移到同一函数内被标记的语言。但这个关键字通常都不被建议使用,就不在这里展开了。

break和continue在循环中通常需要和判断结构结合在一起使用。

首先看一下break的使用。例如:我有一百个苹果,但我只需要从中拿出三个就够了。

运行结果:

你拿了1个苹果。

你拿了2个苹果。

你拿了3个苹果。

你已经拿到3个苹果了,停手吧!

再来看一下continue的使用。例如:10以内的数字,除了3的倍数的数字,其他都要打印出来。

运行结果:

死循环

前面都是在满足条件的情况下发生,那么如果一直都不满足判断式的条件,那么结果会是怎么样呢?

答案很明显,就是会一直循环下去,永不停息。

这种情况就会导致程序一直在运行当中,不会正常结束。这种情况就类似于先帝创业未半,而中道崩殂。也就被称之为死循环。

在程序中,一旦出现循环的判断条件一直处于满足的情况下,就要注意了。

死循环,一般都是要和break关键字结合在一起的,用来强行终止循环。

下面来看一下for循环、while循环、do...while循环的死循环状态。

想要让循环成为了一个死循环其实很简单,只要保证循环中判断条件式的结果一直是为真,也就是符合条件的情况。

总结

关于循环结构的知识就讲到这里结束了,文中有什么不足之处,希望大家可以在评论区留下宝贵建议。,准备用学习的判断和循环结构来实现简单的算法——二分法以及冒泡排序。

最后,祝福每一位朋友国庆节快乐!!!

转载请注明:http://www.0431gb208.com/sjszlff/7754.html