【C语言】手把手教你玩转循环语句

一.什么是循环语句

循环语句重点在于循环,在C语言中循环语句有while循环,for循环,和do while循环可以给我们使用,玩法多多,下面我来给大家举一个例子,便于更好的理解循环语句。

在这里插入图片描述
图片里我用绿色的线代表循环语句,蓝色的线代表循环终止条件,当满足我们的条件,积攒了足够的流量或者直接傍上了大款循环就会终止,一个完整的循环语句要有判断条件,调整部分和循环语句。下面让我们来进入今天的主题吧!

1.1while循环语句

首先我们来看一下while循环语句的格式,直接上代码!

int main()
{

	int i = 0;//初始化一个变量
	while (i < 5)//判断条件
	{
		printf("%d ",i);//循环语句
		
		i++;//调整部分
	}
	return 0;
}

在这里插入图片描述
这里我们发现,运行一下打印的1是0,1,2,3,4 这段代码的逻辑很简单,首先创立了一个变量i 之后判断i<5进入到while循环中,打印出i,之后i加一,直到判断i不符合条件后退出循环。我们发现这是有调整部分的情况,如果没有会发生什么呢?让我们来看一下。

int main()
{

	int i = 0;//初始化一个变量
	while (i < 5)//判断条件
	{
		printf("%d ",i);//循环语句
		
		
	}
	return 0;
}

在这里插入图片描述
我们发现没有调整部分会造成死循环,因为i一直等于0条件一直符合所以会无限打印0。

1.2while循环语句中的break

break我在上个文章switch语句里讲过(有兴趣的伙伴可以去看一下哦),翻译成中文就是打破的意思,当在循环中运行到break的时候会直接打破(跳出)这个循环接着执行下面的语句,下面直接上代码!

int main()
{

	int i = 0;//初始化一个变量
	while (i < 5)//判断条件
	{
		printf("%d ", i);//循环语句
		i++;
		if (i > 3)
		{
			break;
		}
	}
	printf("小黑子");

	return 0;
}

在这里插入图片描述

这里我们发现少打印了一个4,如果用刚才那段代码确实有4,因为这里我们用了一个if判断i是否>3如果大于3就会执行break,跳出这个循环,接着执行下面的“小黑子”

1.3while循环语句中的continue

break介绍完了,就该介绍跟他配套的continue了,值得注意的是break是直接跳出循环不再执行了,而continue是中止本次循环不再执行continue后面的语句了,所以和break用法有些不同,下面我们直接上代码!

int main()
{

	int i = 0;//初始化一个变量
	while (i < 5)//判断条件
	{
		if (i == 3)
		{
			continue;
		}
		printf("%d ", i);//循环语句
		i++;
		
	}
	

	return 0;
}

在这里插入图片描述
这里我们发现只打印了0 1 2并没有打印3而程序也一直没有结束,我们会发现当我的i=3时就会进入到if语句中执行continue而continue下面的内容不会被执行重新进行判断,也就是i++是没有机会执行的,导致i一直等于3进入到死循环。所以当我们用continue时一定要细心哦。

2.1 for循环语句

for循环也是一种循环语句不过跟while有些不同的是,它可以把对变量的初始化,判断语句,调整语句放进()中,下面给大家介绍一下for循环的结构,直接上代码!

include<stdio.h>
nt main()
{

	for (变量的初始化; 判断部分; 调整部分)
	{

		循环语句
	}

	return 0;
}

for循环中初始化部分只有第一次执行的时候才会运行,后面的循环会围绕着判断部分和调整部分来进行
在这里插入图片描述
从这张图我们可以看到,初始化只有程序进入的时候进行了一次,剩下的循环都围绕着判断部分和调整部分进行的。

我们来举个小栗子吧!
在这里插入图片描述
需要注意的是if()中的三条语句都要用分号来隔开,当然,不论是变量的初始化,调整语句都可以放在别的地方但是“;”不可以省略会造成语法错误
在这里插入图片描述
这里我就把初始化和调整语句放到了别处,结果也是不影响的

2.2 for循环中的break

for循环中的break用法跟while中一样,下面还是拿代码举例

int main()
{

	for (int i = 0; i <= 5; i++)
	{

		printf("%d ", i);
		if (i == 4)
		{
			break;
		}
	}

	return 0;
}

在这里插入图片描述
这里当i=4时会执行if语句中的break打破这个循环所以没有打印出5

2.3 for循环中的continue

for循环中的continue很特殊,continue语句当执行的时候后面的程序不在执行,在while语句中如果我们把调整部分放到continue后面就可能造成程序的死循环,但是在for循环当中这个问题能被很好的解决,下面举一个栗子

int main()
{

	for (int i = 0; i <= 5; i++)
	{

		printf("%d ", i);
		if (i == 4)
		{
			continue;
		}
	}

	return 0;
}

在这里插入图片描述
在这里我们可以看到程序没有造成死循环,是因为当continue执行后for先进行判断符合条件后,之后直接进行调整,也就是当i=4时遇到continue上去会先判断4是<=5的,然后进行调整增加,这样就不会造成死循环啦。

3.1 do while循环

do while是一个很有意思的循环,这个循环不管符不符合条件都会先把循环体的内容执行一遍,举个栗子,我想做个游戏,我不管符不符合我的条件我都都得先打印菜单出来供用户选择吧,这时候就可以用do while循环。下面给大家看一下do while循环的结构

int main()
{
	int i = 0;//初始化部分
	do
	{
		printf("%d ", i);
		i++;//调整部分
	} while (i<5);//判断部分
	return 0;
}

在这里插入图片描述
在这里我们可以看到打印了0 1 2 3 4那如果我把判断语句改一下会发生什么呢?
在这里插入图片描述
这里我们看到i根本不符合while的条件但还是执行了一次printf,也就是说do while不管你符不符合条件我先执行一次循环内容,所以ddo while的的使用场景很有限只能在一些特定条件下使用,正常情况下用for 或 while语句就可以代替,所以do while语句用的很少。

3.2 do while循环中的break

do while语句中的break和while当中的break是非常类似的,下面我用代码演示一下

int main()
{
	int i = 0;//初始化部分
	do
	{
		
		if(i==3)
		{
			break;
		}
		printf("%d ", i);
		i++;//调整部分
	} while (i<5);//判断部分
	return 0;
}

在这里插入图片描述
可以看到当i=3时判断if语句进入break循环直接结束跟while语句中的break用法一样

3.3 do while循环中的continue

直接上代码!

int main()
{
	int i = 0;//初始化部分
	do
	{
		
		if(i==3)
		{
			continue;
		}
		printf("%d ", i);
		i++;//调整部分
	} while (i<5);//判断部分
	return 0;
}

在这里插入图片描述
continue在do while中也进入了死循环,因为他没有机会再进行调整语句,所以在do while 中的continue跟while中的continue也是一模一样的。

二. 总结

经过这篇文章相信大家对C语言当中的循环语句有了一定得了解,大家可以动手试一试,实践才是检验真理的唯一标准。最后看完这篇文章的铁汁们给个点赞加关注,派大星会接下来一直给大家分享关于C语言的知识哦!抱拳了,老铁们!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值