C语言中的循环(for、while、do while)

for 、while 、do while

while循环

while基本语句

while(表达式)
     语句;

我们会发现while语句与if语句十分相似,但是二者功能并不相同

#include<stdio.h>
int main()
{
	while (1)
		printf("hello word!\n");
	return 0;
}

在这里插入图片描述

#include<stdio.h>
int main()
{
	if (1)
		printf("hello word!\n");
	return 0;
}

在这里插入图片描述
while语句中只要满足表达式,就能循环执行while包含的语句,而if语句不能实现循环

for循环

for语句的基本形式

for(表达式1; 表达式2; 表达式3)
    语句;
  • 表达式1: 用于循环变量的初始化
  • 表达式2: 用于循环结束条件的判断
  • 表达式3:用于循环变量的调整
    从这就可以看出for语句的三个判断条件十分集中,便于代码的管理,这也是为什么for循环语句相较于其它两种语句使用较多

对比while循环和for循环

我们用两种循环来实现在屏幕上打印1~10

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

很明显,两个程序的结果都是一样的,但从代码形式上看,for循环的代码比较集中,有利于代码的维护,在代码过多时,while循环的条件会比较分散不利于管理,可见for循环更胜一筹。当然,我们还需结合实际需求选择合适的循环语句。

do while循环

do while语句形式

do
   语句;
while(表达式)

do while 循环会先执行语句部分,在进行表达式的判断,所以do while循环体是至少执行一次的。
一般do while 使用在循环体至少被执行一次的场景下,所以使用得比较少

break和continue语句

  • break 永久的终止循环,只要break被执行,就会直接跳出循环,继续往后执行。
  • continue跳过本次循环continue后面的代码,其在for循环和while循环中会有所差异

while循环中的break和continue

break

#include<stdio.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)
			break;//当i等于5时,执行break终止循环,屏幕只会打印0 1 2 3 4
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}

在这里插入图片描述
continue

#include<stdio.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)
			continue;//i等于5时,执行continue跳过后面语句,所以i一直等于五,一直continue,
			//一直跳过printf和i的调整语句,程序陷入死循环
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}

在这里插入图片描述
通过对比我们会发现两个程序都打印了 0 1 2 3 4但是包含continue的程序并没有结束而是陷入了死循环,而break直接终止了循环

for循环中的break和continue

  • break在for中依然是终止循环
  • continue则会跳过本次循环Continue后的语句来到for循环的调整部分进行后续的循环判断,这就不同于while循环了,while循环中会跳到while后表达式中,在使用时我们要清晰的知道二者的区别。
#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			break;// i等于5是,break执行终止循环,屏幕上打印1 2 3 4
		printf("%d ", i);
	}
	return 0;
}

#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
	continue;//i等于5是跳过后面程序来到i的调整部分继续执行后续循环。屏幕打印1 2 3 4 6 7 8 9 10
		printf("%d ", i);
	}
	return 0;
}

do while循环中的break和continue

其实和while语句中的break和continue类似

循环的嵌套

在C语言中的循环,常常都将for、while、do while 三种循环结合使用使得功能更加多样化,能够更好的贴合实际需求。

今天的shark 博客就到这里了,大家可以一起交流哦!!!

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值