代码之家  ›  专栏  ›  技术社区  ›  samuraiseoul

For和While循环:区别、问题和原因

  •  2
  • samuraiseoul  · 技术社区  · 14 年前

    我试图找出一些问题的答案和在C++中的while循环和for循环之间的区别以及原因。这是我到目前为止得出的结论。根据 http://www.cplusplus.com/doc/tutorial/control/

    While是: while(表达式)语句

    对于is:

    所以在for循环中,初始化是我们声明要在condition语句中使用的变量的地方,对吗?

    条件是在什么条件下,它会循环。

    然后递增就是我们决定变量加多少或减多少。

    在while循环中,表达式也是一个条件,对吗?或者在这种情况下它们是完全不同的术语?

    不管怎么说,我是在谷歌的帮助下自学的,还有来自人们的建议,我对编程几乎是完全陌生的,所以请对我放轻松,我还没有掌握最新的专业术语或复杂的答案。:)如果你需要更多的信息或任何东西,请告诉我。

    3 回复  |  直到 14 年前
        1
  •  6
  •   jay.lee    14 年前

    for 对于 循环可以很容易地扩展为 while 循环。

    for ( c=0; c<10; c++ ) 相当于

    c=0;
    while ( c<10 ) {
      // some statements
      c++;
    }
    

    也, 对于 循环不局限于简单的数字操作,您可以执行更复杂的操作,如以下(C语法):

    // a very basic linked list node
    struct node {
      struct node *next;
    };
    struct node; //declare our node
    
    // iterate over all nodes from 'start' node (not declared in this sample)
    for ( node=start; node; node=node->next ) {}
    

    它将遍历一个简单的链表。

    for ( c=0, d=5; c<10, d<20; c++, d++ ) . 但我建议不要为这样的循环发疯,因为它们变得相当混乱。

        2
  •  0
  •   Benoit    14 年前

    在一个 for

    根据编译器的不同,这些变量的范围也会有所不同。例如,VC++6.0将把变量的作用域扩展到循环之外,一种常见的规避方法非常可怕:

    #define for if(0){} else for
    

    实际上,for语法是:

    for(初始化;循环条件表达式;循环时要运行的语句)

        3
  •  0
  •   Basheer AL-MOMANI    7 年前

    通常,for语句用于 counter-controlled repetition sentinel-controlled repetition .

    最多 for statements while statements 具体如下:

    参考文献: Java™ How To Program (Early Objects), Tenth Edition