三种循环语句的详解和使用(for,while,do-while)

对于刚接触编程的小可爱们,肯定会碰到这三种循环,书上写的有可能会过于专业化,会让我们感觉很难理解,在这里我就用最简洁明了的表达方式帮你理解并且学会使用这三种循环。
对于大佬们,读完你也许会新体会,新发现哟[可爱]。
同时我会在最下面说一说循环的两个小跟班(break和continue
在这里插入图片描述

for 循环

这种循环应该是用的最多的,也是一种很好理解的循环。

结构(这还是必须要了解的)

for循环的结构如下:

for(初始化表达式 ; 循环控制语句 ; 增值表达式)
{
  语句序列
}

大括号内的内容称为循环体(就是循环执行的内容)。
注意:循环体内是可以包含很多条语句的。
书上一般都会这样写,但是会让人感觉很懵逼,那我们就来翻译下[嘻嘻]。
循环其实就是重复的做一件事,在这个同时我们还要规定循环的次数(就是重复做多少遍),我们数数的过程是不是就相当于记录次数了,循环也就是这样。

for(从几开始数 ;数到几结束 ;数增加或减少)
{
  我们重复干的事
}

用法(简单粗暴教你会用)

至于使用,最简单的也就是重复输出一句话了。

int n=10; // 规定循环多少次
for(int i=0;i<n;i++)
{
    printf("重复做的事\n");
}

注意这里,我用了个临时变量 i 来控制循环的次数,并且是在括号内定义的,这样的好处很多(比在for外面定义好),就不细说了。
同时增值表达式不是只能写i++的(i–,i += 2,i * =3,…)这些都是可以写的,根据自己的玩法写[哈哈哈]
我们先来细说循环执行的过程:

1.首先就是执行 int i = 0 (这句话只会在刚开始循环时执行一遍,后面就不会执行了)
2.然后执行循环控制语句(i<n)
如果循环控制语句为真(此时 i<n),执行循环体(就是那句输出语句)
如果循环控制语句为假(此时 i>=n),结束本次循环
3.执行增值表达式(i++)
4.继续从2.开始往下执行(直到循环控制语句为假,退出循环)

运行结果:(当然就是输出10遍“重复做的事”,不信你数[自豪])
在这里插入图片描述
for循环能帮我们干的事有很多很多…
注意这点:初始化表达式 ,循环控制语句 ,增值表达式 ,这三个位置都是可以不写的,至于想要怎么玩就看你们自己的了。[嘻嘻]

int n=10; // 规定循环多少次
int i = 0;
for(;;)
{
    if(i>=10)
        break;
    printf("重复做的事\n");
    i++;
}

这样写的代码是和上面一样的效果的:(不信你试试)
在这里插入图片描述

同时,break和continue配合循环使用,会有很不一样的效果的,在下面我会说的。

while 循环

这种循环也是很常用的,也十分好理解,其实跟for循环差不多,只不过是把初始化条件写到外面了,把增值表达式写到里面了

结构(书上一般都会这样写)

while循环的结构如下:

while(循环控制表达式)
{
  语句序列
}

我:这种循环就很简单直白了,如果循环表达式为真就执行循环体(上面说过了),每次执行循环体前都要先判断下,知道循环表达式为假就结束循环。
读者:什么是循环体,再说一遍
笔者:得令[毕恭毕敬]

在这里插入图片描述

循环体:大括号内的所有内容,可以不止一句。

用法(那么简单你绝对一看就会)

一般来说用 while循环用于倒数或者不清楚循环次数的遍历

int n=10; 
while(n>0)
{
    printf("看到这里的小可爱最帅/最美\n");
    n--;
}

我们只要写好控制语句,每次执行循环体前就会先判断下循环控制表达式是否为真,为真就继续执行循环,否则就结束循环。
注意:如果在循环体内忘了对影响循环控制表达式的变量(就是这个 n)进行改变,就会使这个循环变成死循环(一直执行)

运行结果:
10遍当然表达不了我内心的赞美,奈何篇幅有限[卑微]

在这里插入图片描述

do-while 循环

我:这种循环有区别于while循环
读者:这不是废话吗

在这里插入图片描述
我[鼻青脸肿]:先别打,还没说完
读者:继续说吧
我[卑微,哭泣]:while循环执行循环体前都会先判断下(执行循环控制表达式),而do-while循环会在执行循环控制表达式前先执行一遍循环体(这第一遍循环体是不进行判断的,直接执行)

结构(书上是这样的)

do
{
  语句序列
}while(循环控制表达式);

用法(就这?)

这种循环用的不是很频繁,但是有时用这种循环会给力,很合适。

int n=10;
do
{
    printf("此时的n=%d\n",n);
    n--;
}while(n>0);

注意:千万不要漏掉那个 n-- ,不然也会是死循环。
当n=0时就会跳出循环了,因为执行循环体的条件是n>0

运行结果:
在这里插入图片描述
读者:不看也知道
我[卑微]:我错了,都怪我多此一举

在这里插入图片描述

如何中途跳出循环呢

有时在我们执行循环的时候并不知带具体的循环次数,或者我们想要剔除某种特殊的情况,这是就需要用到循环的两个小跟班了(break和continue)
不叫小跟班的代码:

for(int i=1;i<=10;i++) //打印1-10这10个数
{
    printf("%d\n",i);
}

运行结果:
在这里插入图片描述

break(大哥)

break为啥是大哥呢,因为break说让循环停,立马就结束了循环。

break:打印6前面的数
循环:不是输出10个数吗
break:把嘴给我闭上,我说个数,到6的就给我结束,不准打印

叫上break的代码:

for(int i=1;i<=10;i++) 
{
    if(i==6)
        break;
    printf("%d\n",i);
}

运行结果:
在这里插入图片描述

大哥果然是大哥!(佩服)

continue(小弟)

continue也想像大哥那样,奈何实力有限,只能结束一次循环体,下次循环还继续执行。
continue默默地叹了口气
在这里插入图片描述

叫上continue的代码:

for(int i=1;i<=10;i++)
{
    if(i==6)
        continue;
    printf("%d\n",i);
}

运行结果:
在这里插入图片描述
非常感谢读到这里的小可爱们(不妨点个赞再走吧)
别忘了关注哟[感谢][激动]

在这里插入图片描述
加油!

共同努力!

Keafmd

  • 1572
    点赞
  • 3043
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 110
    评论
MATLAB中的do-while循环是一种改进的while循环,它保证循环代码块至少运行一次,并在每次迭代后测试条件。其语法如下: ```matlab do code to be executed inside the loop while condition ``` 与普通的while循环不同的是,do-while循环先执行循环体中的代码,然后再判断条件是否满足。如果条件满足,则继续执行循环体,否则结束循环。 在MATLAB中,并没有内置的do-while循环结构,但我们可以通过使用while循环来模拟实现do-while循环。例如,下面的代码展示了如何使用while循环实现一个do-while循环: ```matlab sum2 = 0; i = 1; while true sum2 = sum2 + i; i = i + 1; if(i > 999) break; end end disp(sum2) ``` 在上述例子中,我们初始化了sum2的值为0,并设定了起始值i为1。然后,我们使用while循环来进行迭代操作。在每次循环中,我们计算sum2的值,并将i增加1。当i大于999时,我们使用break语句来跳出循环。最后,我们使用disp函数在控制台上显示sum2的值。 通过以上代码,我们实现了一个类似do-while循环的功能,使得循环代码至少执行一次,并在每次迭代后测试条件是否满足。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [matlab循环语句详解](https://blog.csdn.net/weixin_44463965/article/details/130461292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Matlab的循环语法](https://blog.csdn.net/qq1437715969/article/details/97245575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛哄哄的柯南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值