【C语言】循环语句

C语言初阶目录

C语言入门-第0节
C语言中的常量和变量
C语言的操作符上
C语言的操作符下
C语言staic的详细介绍和其他关键字的简单介绍
C语言分支语句



循环语句

在生活中,我们需要重复做一件事情,那在C语言中如何表示重复进行某件事情?C语言引进了循环语句。
循环语句有三种:while、for、do while。
我们首先来认识下while。


while循环

//while的语法结构
while(表达式)
   循环语句;

执行流程首先判断表达式是否为真,为真就执行循环语句,为假,就跳过循环,然后就一直判断,一直循环,直到表达式为假。在这里插入图片描述
注意while和if语句一样,后面只能跟一条语句。所以建议加花括号{ },不然可能导致死循环。
在这里插入图片描述

while循环中的break和continue

例子
在这里插入图片描述
加入break后
在这里插入图片描述

从例子中的输出结果可以看出,当i==5时,循环停止。

break的作用由上例中看出,break可以停止后期的所有的循环,直接终结循环。所以while中的break是用于永久终止循环的。

加入continue后
在这里插入图片描述

加入continue后结果是1 2 3 4 5 5 5 5 ……结果是死循环。为什么会出现这样的结果?
这与continue的作用有关

解读当i==5时,continue跳过后面循环后面的部分,直接进入下层循环,所以i永远都为5,没机会变成6,就一直打印5。
continue的作用continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转的while语句的判断部分,进行下次循环的入口判断。


for循环

为什么要有for循环既然有while循环了,为什么要有for循环?for循环的优点是什么?
在这里插入图片描述

循环变量是用来控制循环的次数的。
图中循环变量的初始化和判断和调整部分都是分隔开的,这就使得读者很难将他们联系起来,同时为了方便对代码进行调整,将这三部分集中起来,就有了for循环。

//for的语法结构
for(表达式1;表达式2;表达式3)//表达式1是循环变量的初始化部分,
                            //表达式2是判断部分,
                            //表达式3是调整部分
{
  循环语句;//同样,for后面只能跟一条语句,所以建议加{ }
}

例子
在这里插入图片描述

执行流程首先对循环变量进行初始化,再判断,结果为假跳出循环,为真进入循环,循环结束后,回到调整部分,调整后再判断,为真就进行进入循环,就这样一直循环到判断为假,终止循环。
注意第一次循环只经过初始化和判断部分,没经过调整部分,往后的循环只经过调整和判断部分,不进行初始化。

for循环的break和continue

加入break后
在这里插入图片描述

加入break后,循环停止,和while情况类似

加入continue后
在这里插入图片描述

加入continue后,跳过后面的内容,进入下轮循环,但与while不同,continue跳到for的调整部分,所以不会陷入死循环

for循环的变种

  1. 嵌套循环
    二维数组、逆序等方面都会用到
    例子在这里插入图片描述

当i=0时,j=0,j=1,j=2,打印3次
当i=1时,j=0,j=1,j=2,打印3次
当i=2时,j=0,j=1,j=2,打印3次

注意break只能跳出一层循环在这里插入图片描述

  1. 使用多个变量控制循环
    例子在这里插入图片描述

当i变成2时,判断部分为假,跳出循环,所以打印两次

建议

  1. for的初始化、判断、调整部分可以删除。
    但不建议随便删除for的初始化、判断、调整部分,容易出现问题
    在这里插入图片描述

没有判断部分的制约和调整部分使循环变量逼近结束条件,for就会死循环

  1. 赋值表达式的使用
    例子在这里插入图片描述

这里把0赋给j,赋值操作符返回左边变量的值,0被返回,0为假,跳过循环


do while循环

//do while循环的语法结构
do
{
  循环语句;
}while(表达式);

例子
在这里插入图片描述

先进入循环,打印i,i+1,再判断i是否为0

特点do while是先执行循环语句再判断

do while的break和continue

在这里插入图片描述

break跳出循环

在这里插入图片描述

当i = 5时跳过循环,无法变为6,永远打印5


今天介绍了三种循环语句,语句篇也就完结了,以后有用到循环的题我也会分享给大家。
感谢观看。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值