C语言之while、for、do-while循环语句,以及break,continue关键字和goto语句的基础语法

目录

前言

一、while循环

二、for循环

三、do-while循环

四、break和continue关键字

五、goto语句

总结


前言

   本文是接着上篇分支语句,来简单介绍C语言循环结构的基础语法,希望对大家有所帮助


一、while循环

while循环作为C语言三大循环之一,使用较多,语法结构与 if 类似,都是需要先进行判断,再是否进入代码块

1.语法

while循环的基础语法如下:

while (表达式)

{

    语句;

}

注意:这里如果不带上大括号,进入while只能执行下面一条语句,如果循环体只有一条可以省略,但是我还是建议循环体语句哪怕只有一条都带大括号,能有效避免错误代码

再次提醒:C语言中0表示假,非0表示真


2.循环的调整、判断以及循环流程

在一般的需求中,也就是不需要死循环,都有循环的调整和判断

我们先看下面代码:

while 后面的表达式,也就是这里的i变量,是用于判断是否进入循环体的,与if语句一样,表达式的值为真进入循环体,为假也就是0则直接结束循环

这里的 i-- 与 i++ 改变条件判断中的i的值,使其达到表达式的范围时结束循环,避免造成死循环

所以每次循环体的执行流程为:先进行条件判断,为真,则进入循环体,为假则直接结束循环,

进入循环体代码依次向下执行,执行完后再进行条件判断,循环往复


3.死循环

while的死循环在许多情况下用处还是挺多的

如图:

死循环里,whlie后面表达式里的值为非0就行,但我们习惯上使用1

上面我们使用了break语句结束循环,即在i 等于10的时候跳出循环,因为,即使是死循环,一般情况下,当循环满足我们的需求后,我们也会使用break关键字结束循环,而不会制造真正的死循环


4.while的嵌套循环

基本所有的分支循环语句都可以进行嵌套使用

如图:

执行顺序:外while循环执行一次,里while循环执行到条件不满足为止,即上图中当 j 等于4时跳出循环,然后 i 调整加1,随后外while循环执行第二次,j 被调整为0,再次进入里while循环,如此循环下去,直到 i 大于等于3外循环条件不满足,整个循环结束

注意:嵌套的循环次数和层数都没有限制,根据实际需求即可,另外while也可以嵌套for,do-while,三个循环语句之间可以任意嵌套使用


小结:

  以上就是while循环的基本内容 ,下面介绍for循环


二、for循环

for 循环是三种循环里使用最多的一种

1.语法

语法如下:

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

{

    语句;

}

  • 表达式1用于循环变量的初始化
  • 表达式2用于循环结束条件的判断
  • 表达式3用于循环变量的调整

注意:没有大括号只会执行一条语句

与while循环最大的不同就是,for循环将循环变量的初始化,条件判断,循环变量的调整都放在了循环的开头

执行顺序:首先执行表达式1初始化循环变量,接下来就是执行表达式2的判断部分,表达式 2 的结果如果==0,则循环结束, 表达式 2 的结果如果!=0则执行循环语句,循环语句执行完后,再去执行表达式3,调整循环变量,然后再去表达式 2 的地方执行判断,表达式 2 的结果是否为0,决定循环是否继续。

整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环

如图:(打印1到10的数字)

注意:如果我们把表达式2改为非0数字,for循环也会变成一个死循环


2.for循环的嵌套使用

如图:

与前面while嵌套循环对比,一样的结果,for循环看起来更简洁,因为while循环里的循环变量初始化和变量调整都写在循环体内,而for循环写在小括号里,这样也会导致continue的效果不一样,后面有说

for相比于while循环的优点:for循环的三个部分非常集中,便于代码的维护,如果循环体代码数量多,while循环三个部分较分散,所以形式上for循环更优


小结:

以上为for循环的基础内容,下面开始介绍do-while循环

注意:与while一样,for循环可以嵌套很多层,根据实际需求即可


三、do-while循环

在循环语句种,do-while使用最少

1.语法

语法如下:

do

{

    语句;

} while (表达式);

while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳 出循环

而do-while 循环则是先直接进入循环体,执行循环语句,然后再执行while后的判断表达达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环

所以在 do while 语句中循环体是至少执行一次的,这是 do while 循环比较特殊的地方

如图:(打印1至10)


小结:

do-while总体来说内容比较少,因为循环体至少执行一次,就适用先执行一次再判断是否继续的场景

do-while循环也可以嵌套另一个do-while,或者while和for,因为用法少,这里不再演示,和上面while,for嵌套形式一样


四、break和continue关键字

在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象,C语言提供break和continue这两个关键字,就是应用到循环中的(break也被用于switch中)

  • break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行
  • continue 的作用是跳过本次循环中的continue后的代码,在for循环和while循环中有所差异

1.break

while循环中终止循环,没有打印“hh”

for循环中终止循环,打印到5就终止了循环

do-while循环中,打印到5就跳出了循环

注意:break只会跳出本层循环,在嵌套循环中,如果break在里循环里执行,只会跳出里循环,而不会跳出外循环


2.continue

continue是继续的意思,在循环中的作用就是跳过本次循环中continue后的代码,继续执行下一次的循环

我们把上面三个代码中的break替换为continue

while中,这里程序没有结束标志,说明程序陷入了死循环,因为continue跳过了printf以及i++,i的值永远为1,程序也就不会停止下来


for循环中,我们发现程序正常打印了1至10,这是因为在for循环里,i++写在for后的小括号里,而当i==5时,continue直接跳到了i++,而不会像while循环那样跳过i++,因为continue后面没有了可跳过代码,对程序没有任何影响

我们把printf函数移动到if下面,我们发现除了5其他的都打印了,因为当i==5时,continue跳过了打印函数,直接跳到了表达式3,也就是i++,进行调整循环变量


do-while与while相似,只是会先执行一次循环体,这里不再演示


五、goto语句

C语言提供了⼀种非常特别的语法,就是goto语句和跳转标号,goto语句可以实现在同一个函数内跳转到设置好的标号处

1.语法

goto 标号;

标号:

标号名字任意英文,只要不和库函数和关键字冲突,最好带有意义明确的标号,注意符号

如图:

goto直接跳过了中间的打印函数,跳到了标号处

2.注意

goto语句如果使用不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们建议是能不用尽量不要使用,但goto语句也不是一无是处,在多层循环的代码中,如果想要跳出,使用goto语句就非常方便

如:

像这种多层循环嵌套,如果使用break一层一层跳出,非常繁琐,使用goto就非常简洁


总结

以上就是本文关于C语言循环结构的基础知识,感谢大家的支持,有什么问题欢迎评论区讨论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值