各位朋友大家好呀!国庆前的最后一个工作日,不知道大家的心情是怎么样的,反正我几乎无心工作,已经迫不及待地想要开始美好的国庆假期了。
但再怎么躁动,还是得先把循环结构的内容整理出来,毕竟学习永不止步嘛!
首先,我们先来认识一下什么是循环?循环是在满足某个条件的情况下,让计算机帮忙重复执行某个命令或者某一块命令。
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