通常来说,在c语言中,我们会使用while,if,do while来实现循环结构。
1:while 语句
while语句的语法形式如下
while(表达式)
语句;
换成代码的形式如下
表达式为真,循环进行,表达式为假,则循环终止。在c语言中,0表示为假,非零表示为真。
2:for语句
for语句的语法形式如下
for(表达式1;表达式2;表达式3)
语句
for循环的执行流程是, 先执行表达式1,在执行表达式2,在执行语句,在执行表达式3,这样重复循环。
其中 表达式1用于循环变量的初始化,表达式2用于循环结束条件的判断,表达式3用于循环变量的调整。
换成代码的形式如下
3:do while语句
这个do while语句区别的while语句的地方是,这个语句先执行一次,然后在判定循环是否进行,这个循环的特点就是,不论循环执不执行,语句都会执行一次。
do while语句的语法形式如下
do
语句;
while(表达式);
这里需要注意的是这个do while语句的()后面会跟一个分号!
换成代码的形式如下
在循环结构中,我们通常也还会使用两个关键字,一个是break,一个是continue。
那咱们就先说说break,
break这个关键字的作用就是终止循环。只要break被执行,就会跳出循环,然后继续往后执行。
break在while循环,do while循环,for循环中的作用都差不多
代码演示如下,设置了 i 如果等于5 就会执行break,当break被执行后,直接跳出循环,所以就只会打印1 2 3 4。 break在while ,for ,do while上作用一致。
再说说continue
关键字continue的作用是跳过本次循环后面的代码,继续进行下一次循环。
continue在while和dowhile的情况上是一样的,都会进入死循环,但在for循环上就会不一样。
continue在while 和do while循环中代码演示如下
为什么会出现这样的情况呢,因为continue会跳过本次循环后面的代码,所以i++这个就不会被执行,所以 i 的值就会一直是5,但是 i如果等于5了,就会执行continue,所以就会进入死循环。
但是在for语句中就不会出现这样的死循环,
因为continue只跳过了后面的printf,但是我们从for语句的执行流程得知,for是先执行表达式1,在执行表达式2,在执行语句,在执行表达式3的,所以,continue只跳过了printf但i++没跳过。所以i++变成6,就不会向while,do while那样进入死循环了。
以后就是我对c语言中循环结构的学习,如有不足或者错误之处,尽可批评指正。