主要内容 #
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++; // 移动到下一个格子 写一个字; } }