跳至正文
View Categories

1 min read

主要内容 #

1. 回顾 while 循环 #

小练习:
请用 while 写一个 10 次的循环。

// 写法一
int i(0);
while(true)
{
    i++;
    cout << i;
    if(i > 10)
        break;
}

// 写法二
int i(0);
while(i < 10)
{
    i++;
    cout << i;
}

除了 while 可以表示循环外,C++ 还支持一个循环的语句,叫做 for

2. for 循环 #

我们先来改写一下上的代码。

// demo code from Dashima
#include < iostream >
int main()
{
    for(int i=0; i < 10; i++) // 使用 for 完成 10 次循环
    {
        cout << i;
    }
    return 0;
}

下面我们来看一下 for 循环的基本结构。

2.1 基本结构 #

for(语句一; 语句二; 语句三) // 使用 for 完成 10 次循环
{
    // 循环体
}
  • 语句1,语句2,语句3 之间,要使用 分号 间隔;

2.2 执行过程 #

了解了 for 循环的执行过程,请回答下面的问题。

// demo code from Dashima
#include < iostream >
int main()
{
    for(int i=0; i < 10; i++) // 请问:当循环结束时,i 的值是多少?
    {
        cout << i;
    }
    return 0;
}

答案:

i=10;

请看下面代码

// demo code from Dashima
#include < iostream >
int main()
{
    for(int i=0; i < 10; i++) 
    {
        cout << i;
    }
    cout << i;       // 请问:这里属于 i 的作用域吗?
    return 0;
}

答案:

并不属于。
这里请特别注意,i 是定义在 for 循环的<b>“语句一”</b>处。
i 的作用域限制在 for 循环的范围之内。


for(int i=0; i < 10; i++)   // 属于 i 的作用域
{                           // 属于 i 的作用域
    cout << i;              // 属于 i 的作用域
}                           // 属于 i 的作用域
cout << i;                  // 【不】属于 i 的作用域


for(int i=0; i < 20; i++)   // 这是一个全新的变量 i
{
    cout << i;
}

习题 #

课后练习