循环结构用于重复执行某一语句块,在 C++ 中提供了 3 种形式的循环语句:while 循环语句、do-while 循环语句和 for 循环语句。本节教程就来介绍 while 和 do-while 语句,for 循环语句下节介绍。
C++ while循环语句
在 while 循环语句中,当条件表达式为真时,就重复执行循环体语句;当条件为假时,就结束循环,其语法格式如下:
while (条件表达式)
{
循环体语句块; //当条件表达式为真时执行
}
若 while 循环的循环体只有一条语句,则可以省略左右大括号。while 的循环体是否执行,取决于条件表达式是否为真,当条件表达式为真时,循环体就会被执行。循环体执行完毕后继续判断条件表达式,如果条件表达式为真,则会继续执行,直到条件表达式为假时,整个循环过程才会执行结束。
while 循环的执行流程,如图 1 所示。
图 1:while 循环流程图
接下来演示 while 循环语句的用法,如例 1 所示。
【例 1】
#include
using namespace std;
int main()
{
int sum = 0, i = 1;
while( i < 101)
{
sum += i;
i++;
}
cout << "1 + 2 + … + 100 ="<
return 0;
}
程序执行结果为:
1 + 2 + … + 100 =5050
在例 1 中,当 i=1 时,i<101,此时执行循环体语句,sum 为 1,i 为 2。当 i=2 时,i<101,此时执行循环体语句,sum 为 3,i 为 3。以此类推,直到 i=101,不满足循环条件,此时程序执行第 11 行代码。
C++ do-while循环语句
do-while 循环语句是非零次循环结构,即至少执行一次循环体。执行过程是先执行循环体结构,然后判断条件表达式,若条件表达式为真,则继续执行循环体;若条件表达式为假,则终止循环。
在日常生活中,并不难找到 do-while 循环的影子。例如,在利用提款机提款前,应先进入输入密码的画面,允许用户输入 3 次密码,如果3次都输入错误,即会将银行卡吞掉,其程序的流程就是利用 do-while 循环设计而成的。
其语法格式如下:
do
{
循环体语句块;//当条件表达式为真时再执行一次循环体语句
}while (条件表达式);
do-while 语句与 while 语句有一个明显的区别是 do-while 语句的条件表达式后面必须有一个分号,用来表明循环结束。
do-while 循环的执行流程如图 2 所示。
图 2:do-while循环流程图
接下来演示 do-while 循环语句的用法,如例 2 所示。
【例 2】
#include
using namespace std;
int main()
{
int sum = 0, i = 1;
do //do - while 循环
{
sum += i;
i++;
}while( i < 101);
cout << "1 + 2 + … + 100 = "<< sum << endl;
return 0;
}
程序的执行结果为:
1 + 2 + … + 100 = 5050
在例 2 中,程序执行完循环体后,sum 为 1,i 为 2,接着判断i是否小于 101,此时 i 小于 101,则执行循环体。直到i为 101,不满足循环条件,此时程序执行第 11 行代码。