文章目录
- 1. while 语句介绍
- 1.1 语法结构
- 1.2 while 语句执行的流程
- 2. while 语句中的 break 和 continue
- 2.1 break 介绍
- 2.2 continue 介绍
- 我们已经掌握了 if 语句,当条件满足的情况下,if 语句的后的语句执行,反之不执行;
- 但是 if 语句只会执行一次,由于生活中的很多事情实际上是:同一件事需要多次去完成;
- 这个时候 C 语言中就引入了 while 语句,可以用来时间循环。
1. while 语句介绍
1.1 语法结构
while(表达式)
{
循环语句;
}
- 表达式结果为真(非零)的时候,执行循环语句的内容,反之不进入循环。
- 其实 while 语句使用起来和 if 非常相似,只有一个单词的区别而已;
#include <stdio.h>
int main()
{
if (1)
{
printf("表达式为真则执行 if 语句里的内容\n");
}
while (1)
{
printf("书写起来和 if 语句只有一个单词的区别\n");
}
return 0;
}
1.2 while 语句执行的流程
举个栗子
- 在屏幕上打印 1-10 的数字。
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)//打印结果还要包含10
{
printf("%d ", i++);
}
putchar('\n');
return 0;
}
2. while 语句中的 break 和 continue
2.1 break 介绍
- 在循环的过程中如果达成了某种条件,循环就会结束
- 例如:在不断学习的过程中,家里的房子上多了个拆字,那还学个啥。
- 在循环中只要遇到 break,就停止后期的所有的循环,直接终止循环。
- 所以:while 中的 break 是用于永久终止循环的。
举个栗子
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
{
break;//当 i 自增到 5 的时候结束循环,
//不会继续执行接下来的循环体,所以只能打印到 4
}
printf("%d ", i++);//只会打印1-4
}
putchar('\n');
return 0;
}
2.2 continue 介绍
- continue 是用于跳过本次循环后面的代码的,也就是本次循环中 continue 后边的代码不会再执行,
- 而是直接跳转到 while 语句的判断部分,进行下一次循环的入口判断。
谨慎使用 continue
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
{
continue;
//跳过接下来的循环体,然后执行下一次循环
}
printf("%d ", i++);//本次循环中,这步被跳过了
}
putchar('\n');
return 0;
}
- 这段代码中,我们预想的结果应该是在 i = 5 的时候跳过本次循环,然后从 i = 6 时继续执行循环;
- 所以预想中得结果应该是 1 2 3 4 6 7 8 9 10,然而:
- 结果显然和预期有所出入,并且程序并未结束,进入了死循环
- 错误分析: