while语句的一般形式如下:
1
|
while (表达式) 语句 |
其作用是: 当指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句。其流程图见下图。
其特点是:先判断表达式,后执行语句。while循环称为当型循环。
例:求1+2+3+…+100。
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <iostream> using namespace std; int main( ) { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } cout<< "sum=" <<sum<<endl; } |
运行结果为
1
|
sum=5050 |
需要注意:
循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。如果不加花括号,则while语句的范围只到while后面第一个分号处。
在循环体中应有使循环趋向于结束的语句。
C++ for循环语句
C++中的for语句使用最为广泛和灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。
for语句的一般格式为:
1
|
for(表达式1; 表达式2; 表达式3) 语句 |
for语句执行过程如下:
先求解表达式1。
求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步。
求解表达式3。
转回上面第(2)步骤继续执行。
循环结束,执行for语句下面的一个语句。
可以用下图来表示for语句的执行过程。
for语句最简单的形式也是最容易理解的格式如下:
1
|
for(循环变量赋初值; 循环条件; 循环变量增值) 语句 |
例如:
1
|
for (i=1;i<=100;i++) sum=sum+i; |
它相当于以下语句:
1
2
3
4
5
6
|
i=1; while (i<=100) { sum=sum+i; i++; } |
显然,用for语句简单方便。
for语句的使用有许多技巧,如果熟练地掌握和运用for语句,可以使程序精炼简洁。
关于for语句的几点说明:
for语句的一般格式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。
如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。
表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。
可以省略表达式1和表达式3,只有表达式2,即只给循环条件。
3个表达式都可省略。
表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。
表达式一般是关系表达式(如i<=100)或逻辑表达式(如a<b && x<y),但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。
C++中的for语句比其他语言中的循环语句功能强得多。可以把循环体和一些与循环控制无关的操作也作为表达式1或表达式3出现,这样程序可以短小简洁。但过分地利用这一特点会使for语句显得杂乱,可读性降低,建议不要把与循环控制无关的内容放到for语句中。