除了while循环外,C语言中还提供了do…while及for循环另外两种循环语句.
1. do…while循环
do…while循环的语法为:
不管条件表达式是否成立,循环语句至少循环一次,其他是与while一致的
do
{
循环体语句;
}while(条件表达式);
使用do…while打印0到9:
#include <stdio.h>
int main(int argc, char* argv[])
{
int i = 0;
do
{
printf("%d\r\n", i);
i++;
} while (i < 10);
return 0;
}
2. for循环
for循环的基本语法结构:
for(语句1;语句2;语句3)
{
循环体语句
}
其中
- 语句1为for循环开始前会执行的初始化语句
- 语句2为每次循环开始前,用作判断循环是否继续的条件表达式
- 语句3为每次循环结束后(下一次循环是否执行判断前)要执行的语句,一般用于步进
使用for循环打印0到9:
#include <stdio.h>
int main(int argc, char* argv[])
{
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d\r\n", i);
}
return 0;
}
for循环中的语句1-3并不要求一定存在,如以下for循环功能类似while(1):
#include <stdio.h>
int main(int argc, char* argv[])
{
for (;;)
{
printf("循环体\r\n");
}
return 0;
}
3. break与continue
在循环体内部,可以使用break或者continue语句。
- break:
跳出当前循环体
- continue:
提前结束本次循环,进入下一次循环是否继续的判断
break与continue举例:
(1)break
#include <stdio.h>
int main(int argc, char* argv[])
{
for (int i=0;i<9;i++)
{
if (i == 3)
{
break;
}
printf("%d\r\n",i);
}
return 0;
}
运行结果:使用break
循环到3,自动跳出循环
(2)continue
#include <stdio.h>
int main(int argc, char* argv[])
{
for (int i=0;i<9;i++)
{
if (i == 3)
{
continue;
}
printf("%d\r\n",i);
}
return 0;
}
运行结果:使用continue
跳过i==3
,继续执行循环
4. break与continue使用举例
下面的例子根据去食堂吃饭进行编写,当你去食堂吃饭,吃到
正常饭菜
,程序按顺序执行完一次,
把刚刚的东西吃掉
,当
吃到虫子
,可以
继续吃饭,while及if()-else if()使用continue跳过虫子
,继续执行判断;当遇到
石头或者吃饱
,就会
使用break跳出while循环
。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nInput = 0;
printf("食堂吃饭选项:\r\n1.正常饭菜\r\n2.虫子\r\n3.石头或者吃饱了\r\n");
while (1)
{
scanf("%d", &nInput);
if (nInput == 1)
{
printf("遇到了正常饭菜\r\n");
}
else if (nInput == 2)
{
printf("遇到了虫子\r\n");
continue;
}
else if (nInput == 3)
{
printf("遇到了石头或者吃饱了\r\n");
break;
}
printf("把刚刚的东西吃了\r\n");
}
printf("循环结束\r\n");
return 0;
}
运行结果:
5.学习视频地址:do-while循环、for循环、break与continue