文章目录
一. 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以外的偶数不可能为素数。