while——do while——for 分支与循环的使用方法即注意事项(包括continue等关键字的使用)

每一个不曾起舞的日子都是对生命的辜负


前言

今天分享一下关于循环的三种基本使用方法和注意事项


一、for循环

1.格式

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

循环语句;

注意事项
1.表达式之间是英文分号,不要写冒号或逗号
2.”for()“后面没有分号!要知道单独分号代表空语句,即这条语句执行后相当于什么也没执行,在没有大括号的情况下,for的执行语句就是紧挨着他的后一条语句,那么结果就是你的循环只能控制这个空语句,大括号里的东西就与你无关了。

2.执行过程

第一步:执行表达式1
第二步:判断表达式2是否成立,成立则继续下一步,不成立则跳出循环;
第三步:执行for循环所控制的循环语句
第四步:执行表达式3
第五步:判断表达式2是否成立,成立则继续下一步,不成立则跳出循环;
第六步:执行for循环所控制的语句
然后重复四五六

3.代码实现

#include<stdio.h>
int main()
{
	int i = 0;
	int sum = 0;
	for (i = 0; i < 100; i++)
	{
		sum = sum + i;
	}
	printf("%d", sum);
	return 0;
}

其作用是计算0到99的整数数字之和
其作用是计算0到99的整数数字之和
最后在抛个小问题:猜猜跳出循环后i是多少
答案在文章末

二、while

1.格式

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

注意事项
“while()”后面也没有分号!原理同上

2.执行过程

第一步:先判断表达式结果是否为真,为真则进行下一步,为假则跳出循环。
第二步:执行循环语句。
第三步:返回while()再次判断表达式是否为真,为真则进行下一步,为假则跳出循环。
第四步:执行循环语句。
重复第三第四步

3.代码实现

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

—打印1到10之间的偶数
在这里插入图片描述
再想想跳出循环时n的值是多少
答案在文章末

三.do while

1.格式

do

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

注意:
1.最后的while后面有一个分号!!!,不加的话属于格式错误,编译都过不去
(前两个只是达不到你的预期效果,但可以编译)
2.他的特点是无论如何,循环至少发生一次,因为第一次执行循环语句不需要表达式正确与否。

2.执行过程

第一步:执行循环语句。
第二步:判断表达式是否为真,为真则进行下一步,为假则跳出循环。
第三步:返回do的大括号中,执行循环语句。
第四步:判断表达式是否为真,为真则进行下一步,为假则跳出循环。
重复第三第四步

3.代码实现

#include<stdio.h>
int main()
{
	int n = 10;
	do
	{
		if (n % 2 == 1)
			printf("%d是奇数\n", n);
			n--;
	} while (n);
	return 0;
}`

在这里插入图片描述
可以思考一下表达式判断了几次,循环语句执行了几次。

四 continue与break与goto

1.continue

continue是一个关键字
它的作用是不执行他后面的循环语句,而是直接结束本次循环,进行下一次循环

上代码

#include<stdio.h>
int main()
{
	int n = 10;
	while (n)
	{
		//if (n % 2 == 1)
		if (n % 2 == 0)
		{
			n--;
			continue;
		}
			printf("hello boy and girl   此时n为%d\n",n);
		n--;
	} 
	return 0;
}

在这里插入图片描述

2.break

作用:跳出所处循环
上代码

#include<stdio.h>
int main()
{
	int n = 10;
	while (n)
	{
		if (n == 3)
			break;
			printf(" 此时n为%d\n",n);
		n--;
	} 
	return 0;
}

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

#include<stdio.h>
int main()
{
	for (a)
	{
		for (b)
		{
			if (c)  //break执行后外面的循环不会终止,里面的会终止
				break;
		}
}
	return 0;
}

3.goto

刚才说了,break只能跳出一层循环,那怎莫跳出多层循环呢,用goto语句jike
1.使用方式
goto是一个关键字,它的使用要搭配一个标号,具体命名看个人习惯,我一般用again
2.上代码

#include<stdio.h>
int main()
{
again:	for (a)
	{
		for (b)
		{
			if (c)  //goto执行结果是将下一条执行语句设置为again后面的,然后运行下去
				goto again;
		}
}
	return 0;
}

注意:goto执行结果是将下一条执行语句设置为again后面的,然后运行下去,使用不当可能导致死循环,所以goto也有时也被称为流氓语句(狗头)
还有别的跳出多循环嵌套的方法嘛,有,用 return 0,不过就直接结束程序了,用的时候也要想清楚哦

总结

i是100;
n是0;
各执行了10次
刚开始写博客,那里写的不对欢迎指正,有什么建议也可以在评论区提一下
如果觉得有帮助就点个赞支持一下吧,谢谢啦!😁╰(°▽°)╯
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值