循环语句part2(break和continue语句)

一. break、continue语句

在循环执行的过程中,如果某些状况发生需要提前终止循环,就需要用到break和continue语句。
• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
⾏。
• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所
差异的。

1. while循环中的应用

do while循环中的用法与while循环中基本一致,就不详细说了。

1.1 break举例

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

运行程序,输出1 2 3 4
我们可以看到,在i=5时,通过break跳出循环。

1.2. continue举例

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

输出结果为5的死循环。
这是因为在遇到continue语句时,会自动跳过循环循环中continue后面的代码。

2. for循环中的应用

2.1 break举例

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

输出1 2 3 4
其实和while循环中的break一样,for循环中的break也是用来终止循环的。

2.2 continue举例

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

输出的结果是1 2 3 4 6 7 8 9 10,跳过了5。
所以在 for 循环中 continue 的作⽤是跳过本次循环中 continue 后的代码,直接去到循环的调
整部分。未来当某个条件发⽣的时候,本次循环⽆需再执⾏后续某些操作的时候,就可以使⽤
continue 来实现。

二.循环语句例题

1. do while循环补充

判断一个整数的位数
先用do while循环来解决这个问题:

#include<stdio.h>

int main()
{
	int n = 0;
	int count = 0;
	scanf_s("%d", &n);
	do
	{
		count++;
		n = n / 10;
	} while (n != 0);
	printf("%d", count);
	return 0;
}

效果:输入1234 输出4。

2.循环的嵌套

找出1~200整数中的素数,并将其打印在屏幕上。
这是博主第一次写出的代码,在此纪念一下。。

#include<stdio.h>
int main()
{
	int i = 1;
	int num = 1;
	for (i = 1; i <= 200; i++)//第一个循环,用于筛选数字
	{
		for (num = 2; num < i; num++)//第二个循环,用于尝试i能否被2~i-1之间的整数整除
		{
			if (i % num == 0)//如果真的有能够被整除的情况,则不是素数,跳出代码
				break;
			else if(num<i-1)//如果该num不能整除i,则跳过之后的打印,直接去调整num
				continue;
			else
				printf("%d\n", i);
		}
	}
	return 0;
}

这段代码可以进行优化,比如,因为所有偶数都可以被2整除,所以除了2以外的偶数不可能为素数。

  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值