for循环跟while一样,也是来实现循环操作。循环执行也是重复执行某一段代码。那么它的语法是这样的:

    1. // Syntax
    2. for (init-clause; cond-expression; iteration-expression)
    3. loop-statement

    for循环后面跟着三个表达式,第一个是初始化,第二个是条件,第三个是迭代表达式。第二行就是要重复的代码。

    那么我来看这个例子。

    1. int sum = 0;
    2. // for(int i = 0; i < 10; i+=2) //也可以这样写
    3. for(int i = 0; i < 10; i++)
    4. {
    5. sum += i;
    6. cout << "Line " << i << endl;
    7. }
    8. cout << "sum = " << sum << endl;

    这个例子要求0到10的整数累加起来是多少,就是一个累加操作。

    1. 首先我们初始化sum 为零;
    2. int i=0:初始化操作,可以定义一些变量;i<10:条件,i++是迭代表达式。

    循环前都要测试一下条件是否成立,成立就循环,然后再次测试。那么每一次循环体结束之后,迭代表达式就会被执行一次。

    所以上述代码从0开始,每次加1,然后这样循环,每个循环体中sum+=1,就是把当前的这个整数值累加,顺便打印出来。当i=10,循环结束,然后把sum打印出来。这个我们来看这个例子,这就是sum等于0si等于0到10 10时不包含在里面的。
    image.png
    for循环与while循环转换。
    for循环中的i的作用域只在for循环中,而while循环的i的作用域是比较大的。i变量的作用域不同,其余作用是相同的。

    for循环的死循环

    1. for(;;)
    2. {
    3. // some statements
    4. cout << "endless loop!" << endl;
    5. }
    6. while(true)
    7. {
    8. // some statements
    9. cout << "endless loop!" << endl;
    10. }

    死循环的应用场景:有的时候一些设备或者系统会启动整个程序的流程,不停的循环循环,检测用户或者传感器的输入,他重新只做这一件事,那么你可以用四句话,但一般来说非常少见。

    for循环里面也可以用break,可以用continue。和while中的用法完全相同。