语句总是顺序执行的:第一条语句执行完了接着是第二条,第三条等等。这是最简单的情况,为了更好的控制语句的运行,程序设计语言提供了多种控制结构支持更为复杂的语句执行。我们就来看看C++ 提供的控制方式。
1 while 语句 while 语句提供了循环执行功能。可以用 while 语句编写一个好玩的从 1 到 5(包括 5)的数数游戏:1+2+3+4+5
#include <iostream>
int main() {
int game_num= 0, val = 1;
//继续执行,直到value大于5
while (val <= 5) {
game_num += val; // game_num + val 之后塞给game_num
++ val; // val加1
}
std::cout << "1到5这5个数的总和是:" << game_num<< std::endl;
return 0;
}
编译并执行后,将输出:
1到5这5个数的总和是: 15
怎么样?while的结构是不是很easy?既简单又强大!
2 for语句
for语句的出现是因为while语句有缺点: while 循环使用变量来控制循环执行次数。每次执行 while 语句,都要看看变量的值,执行循环体,然后再改变变量的值,再检查变量值,周而复始。
因为总是靠函数体中改变变量值来控制循环,有些麻烦。 C++ 语言定义了第二 种控制结构:for 语句,她简化了循环变量的控制逻辑,看看同样是上例中俺的例子:
#include <iostream>
int main() {
int game_num = 0;
for (int val = 1; val <= 5; ++val)
game_num += val;
std::cout << "1到5这5个数的总和是:" << game_num<< std::endl; return 0;
}
看出来了没有?for 语句脑袋由三部分组成:一个初始化,一个条件,一个表达式。 在这个例子中,初始化语句是:
int val = 1;
初始化语句仅在进入 for 语句时执行一次。
条件: val <= 10
表达式: ++ val
总结一下这哥仨的用处:
1. 初始化val 为 1。
2. 测试 val 是否小于或等于 5。
3. 如果 val 小于或等于 5,则执行 for 循环体,把 val 加到 game_sum 中。 如果 val 大于 5,就退出循环,接着执行 for 语句体后的第一条语句。
4. val 加1。
5. 重复第 2 步,只要条件为真,就继续执行for的循环体
好玩吧?简单吧?这两种结构都很有用,是最普通的控制结构。大家一定要掌握哟。