美文网首页C语言
程序循环结构

程序循环结构

作者: 凯恩_Kane | 来源:发表于2019-07-15 11:23 被阅读0次

    .while 循环

    
    while(condition)
    {
       statement(s);
    }
    

    在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意的表达式,当为任意非零值时都为真。当条件为真时执行循环。

    当条件为假时,程序流将继续执行紧接着循环的下一条语句。

    . for循环

    C++ 中 for 循环的语法:

    for ( init; condition; increment )
    {
       statement(s);
    }
    

    下面是 for 循环的控制流:

    init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
    接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
    在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
    条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

    . do...while 循环

    C++ 中 do...while 循环的语法:

    do
    {
       statement(s);
    
    }while( condition );
    
    

    请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。

    如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。

    . break 语句

    C++ 中 break 语句有以下两种用法:

    当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
    它可用于终止 switch 语句中的一个 case。
    如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

    . continue 语句

    C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。

    对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do...while 循环,continue 语句会导致程序控制回到条件测试上。

    . goto 语句

    goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

    注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

    . 无限循环

    如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。

    实例

    #include <iostream>
    using namespace std;
     
    int main ()
    {
     
       for( ; ; )
       {
          printf("This loop will run forever.\n");
       }
     
       return 0;
    }
    
    

    当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C++ 程序员偏向于使用 for(;;) 结构来表示一个无限循环。

    注意:您可以按 Ctrl + C 键终止一个无限循环。

    欢迎扫码加入QQ群一起学习讨论。【QQ群:930039263】

    相关文章

      网友评论

        本文标题:程序循环结构

        本文链接:https://www.haomeiwen.com/subject/drggkctx.html