分支语句和循环语句——循环语句(for、do……while)详解

🌹作者:云小逸
📝个人主页:云小扬的主页
📝码云:云小扬 (YunXiaoYang003) - Gitee.com
🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。希望春天来之前,我们一起面朝大海,春暖花开!🤟
👏专栏:C语言初阶👏专栏:C语言进阶👏专栏:数据结构和算法👏
👏专栏:C++初阶—👏专栏:C++进阶–👏专栏:Linux学习👏


前言

今天我们接着上一次的分支语句和循环语句——循环语句(while),继续讲分支语句和循环语句——循环语句(for、do……while)
——————————————————————————————


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

(1)语法:

我们已经知道了while循环,但是我们为什么还要一个for循环呢?
首先来看看for循环的语法:

for(表达式1; 表达式2; 表达式3)
 循环语句;

表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止
表达式3为调整部分,用于循环条件的调整。

#include<stdio.h>
int main(void)
{
	int i = 0;
	for (i = 1; i < 10; i++)
	///for(i=1/*初始化*/; i<=10/*判断部分*/i++/*调整部分*/)
	{
		printf("%d ", i);
	}
	return 0;
}

在这里插入图片描述
流程图:
在这里插入图片描述

(2)for和while的对比:

int i = 0;//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
 printf("hehe\n");
 i = i+1;//调整部分
}
for(i=1; i<=10; i++)//实现相同的功能,使用while
{
 printf("hehe\n");
}

在这里插入图片描述

可以发现在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较 远,这样
查找修改就不够集中和方便。所以,for循环的风格更胜一筹;for循环使用的频率也最高。

(3)for中的break和continue的作用:

我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。
但是还是有些差异:

#include<stdio.h>
int main(void)
{
	int i = 0;
	for (i = 1; i < 10; i++)
	{
		if (i == 5)
		break;
		continue;
		printf("%d ", i);
	}
	return 0;
}

在这里插入图片描述
在这里插入图片描述

(3) for语句的循环控制变量

建议:

  1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
  2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

建议一: 不可在for 循环体内修改循环变量,防止 for 循环失去控制

#include<stdio.h>
int main(void)
{
	int i = 0, j = 0;
	for (i=0; i < 3; i++)
	{
		for (; j < 3; j++)
			printf("%d ",j);
		printf("\n");
	}
	return 0;
}

在这里插入图片描述

在这里插入图片描述

建议二: 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

int i = 0;
for(i=0; i<10; i++)//前闭后开的写法
{}
for(i=0; i<=9; i++)//两边都是闭区间
{}

注:当for循环中判断条件省略时意味着判断恒成立!!!

(4)一道面试题:

//请问循环要循环多少次?
#include <stdio.h>
int main()
{
 int i = 0;
 int k = 0;
 for(i =0,k=0; k=0; i++,k++)
        k++;
 return 0;
}

在这里插入图片描述原因:因为条件判断语句是赋值语句,不是判断语句,k=0,为0为假,程序直接退出for循环!!!

5. do…while()循环

先循环后判断

(1)语法:

do
 循环语句;
while(表达式);

(2) do语句的特点

循环至少执行一次,使用的场景有限,所以不是经常使用。

#include <stdio.h>
int main()
{
 int i = 10;
 do
 {
 printf("%d\n", i);
 }while(i<10);
 return 0;
}

在这里插入图片描述

(3)do while循环中的break和continue

类似于while,这里就不赘述了。

最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:

1.做更好的自己,而不是完美的别人。
2.谁都愿意做自己喜欢的事情,可是,做你该做的事情,才叫成长。
3.活成一个真正有形的人,而不是—摊肉、一团混乱不堪的情绪。
4.放弃很容易,但坚持—定很酷
5.知识不是力量,知识用起来才是力量。
6.人生只有两个选择,要么忙着死,要么忙着活! 熬得住就出众,熬不住就出局,你的野心很大,所以没资格停下。
7.白天归顺生活,夜晚忠于自己

最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)

愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚菜鸟逐渐成为大佬。加油,为自己点赞!

  • 78
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 127
    评论
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 ]
评论 127
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云小逸

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

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

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

打赏作者

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

抵扣说明:

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

余额充值