第十二课、 C循环
12.1、C循环
循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:
12.2、循环类型
以下几种循环类型:
|
循环类型 |
描述 |
|
当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 |
|
|
多次执行一个语句序列,简化管理循环变量的代码。 |
|
|
除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 |
|
|
您可以在 while、for或 do..while循环内使用一个或多个循环。 |
12.3、循环控制语句
循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。
|
控制语句 |
描述 |
|
终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。 |
|
|
告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 |
|
|
将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
12.4、无限循环
如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。
Eg:
#include<stdio.h>
intmain()
{
for( ; ; )
{
printf("该循环会永远执行下去!\n");
}
return0;
}
当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C程序员偏向于使用 for(;;)结构来表示一个无限循环。
注意:可以按 Ctrl + C 键终止一个无限循环。
12.5小结:
1、while 循环和for循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while循环的下一条语句。
2、条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。
3、continue 语句有点像 break 语句。但它不是强迫终止,continue会跳过当前循环中的代码,强迫开始下一次循环。对于 for 循环,continue 语句执行后自增语句仍然会执行。对于 while 和 do...while 循环,continue 语句重新执行条件判断语句。
4、当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句;它可用于终止 switch 语句中的一个 case。如果使用的是嵌套循环(即一个循环内嵌套另一个循环),break语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
5、go to 语句允许把控制无条件转移到同一函数内的被标记的语句。(在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto语句的程序可以改写成不需要使用 goto语句的写法。)