主要内容 #
1. ++ 和 — 符号 #
// demo code from Dashima
#include < iostream >
using namespace std;
int main()
{
int i(0);
while(true)
{
cout << i << endl;
i = i + 1;
if(i <= 20)
break;
}
return 0;
}
这个循环可以执行 20 次。
其中,可以这样改写:
// demo code from Dashima
#include < iostream >
using namespace std;
int main()
{
int i(0);
while(true)
{
cout << i << endl;
i++; // 新语法,表示 i = i + 1;
if(i <= 20)
break;
}
return 0;
}
i++ 这种写法,可以提高书写的效率,是一种很常用的写法。
除此以外,还可以这样改写:
// demo code from Dashima
#include < iostream >
using namespace std;
int main()
{
int i(20);
while(i--) // 新语法,表示 i = i - 1;
{
cout << i << endl;
}
return 0;
}
小结:
i++; // 等价于 i = i + 1; i--; // 等价于 i = i - 1;
2. 循环嵌套 #
while 循环的嵌套比较容易,请看示例程序:
// demo code from Dashima
#include < iostream >
using namespace std;
int main()
{
int i(0), s(0);
while(i < 100)
{
int j(0);
while(j < 100) // 在 while 内,嵌套一个 while
{
j++;
s++;
}
i++;
}
cout << "i = " << i << endl; // 请问 i 的值是多少?
cout << "s = " << s << endl; // 请问 s 的值是多少?
return 0;
}
答案:
i=100; s=10000;
循环的嵌套,也是一种很典型的程序结构。
举一个很典型的应用场景:写作文。

作文是从左往右,一行一行写的,所以可以描述为下面的过程:
1. 写第一行
写第 1 个格子;
写第 2 个格子;
写第 3 个格子;
写第 4 个格子;
...
写第 9 个格子;// 假设一行是9个格子
2. 写第二行
写第 1 个格子;
写第 2 个格子;
写第 3 个格子;
写第 4 个格子;
...
写第 9 个格子;// 假设一行是9个格子
3. 写第三行
写第 1 个格子;
写第 2 个格子;
写第 3 个格子;
写第 4 个格子;
...
写第 9 个格子;// 假设一行是9个格子
...
用 while 的嵌套可以这样描述:
int j(0);
while(j < 100)
{
j++; // 移动到下一行
int i(0);
while(i < 10)
{
i++; // 移动到下一个格子
写一个字;
}
}
习题 #
