除了while循环外,C语言中还提供了do...while及for循环另外两种循环语句
do...while循环
do...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; }
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; }
break与continue
在循环体内部,可以使用break或者continue语句。
- break:跳出当前循环体
- continue:提前结束本次循环,进入下一次循环是否继续的判断
#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; }