1. do-while循环
1.1 语法形式
1 do
2 语句;
3 while(表达式);
while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;
而 do while循环则是先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式。表达式为真,就会进行下一次,表达式为假,则不再继续循环。
1.2 do while循环的执行流程
1.3 do while 循环实例
在屏幕上打印1~10的值
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i = i + 1;
} while (i <= 10);
return 0;
}
do while 使用在循环体至少被执行一次的场景下。
2.break 和 continue
2.1 while循环中的 break 和continue 举例
2.1.1 break 举例
#include <stdio.h>
int main()
{
int i = 1;
while (i < 10)
{
if (i == 5)
break; //当 i等于5时,执行break,循环就终止了,不再打印,不再循环
printf("%d ", i);
i = i + 1;
}
return 0;
}
break 的作用是永久的终止循环,只要break 被执行,break外的第一层循环就终止了。
2.1.2 continue 举例
#include <stdio.h>
int main()
{
int i = 1;
while (i < 10)
{
if (i == 5)
continue;//当i等于5后,就执行continue,直接跳过i++,所以i一直为5,程序陷入死循环
printf("%d ", i);
i++;
}
return 0;
}
continue 可以帮助我们跳过某一次循环continue后面的代码,直接到循环的判断部分。
2.2 for循环中的 break 和continue 举例
2.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;
}
2.2.2 continue 举例
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
if (i == 5)
continue;//跳过了后面的打印,直接到了i++的调整部分
printf("%d ", i);
}
return 0;
}
for循环中 continue 的作用是跳过本次循环中continue 的代码,直接去到循环的调整部分。未来当某个条件发生时,本次循环无需执行后面的某些操作时,可以使用。
2.3 do while 循环中的 break 和continue 举例
2.3.1 break 举例
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (i == 5)
break;
printf("%d ", i);
i = i + 1;
} while (i <= 10);
return 0;
}
2.3.2 continue 举例
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (i == 5)
continue;
printf("%d ", i);
i = i + 1;
} while (i <= 10);
return 0;
}
do while 语句中的break 和continue的作用与while循环中几乎一模一样。
3. goto语句
goto 语句可以实现在同一个函数内跳转到设置好的标号处。
例如:
#include <stdio.h>
int main()
{
printf("hehe\n");
goto next;
printf("haha\n");
next:
printf("跳过了haha的打印\n");
return 0;
}