讲解C++的do while循环和循环语句的嵌套使用方法

时间:2021-10-13 00:10:20

用do-while语句构成循环
do-while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为:

?
1
2
3
do
  语句
while (表达式);

它是这样执行的:先执行一次指定的语句(即循环体),然后判别表达式,当表达式的值为非零(“真”) 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。可以用下图表示其流程。

讲解C++的do while循环和循环语句的嵌套使用方法

【例】用do-while语句求1+2+3+…+100。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main( )
{
  int i=1,sum=0;
  do
  {
   sum=sum+i;
   i++;
  }
  while (i<=100);
  cout<<"sum="<<sum<<endl;
  return 0;
}

可以看到:对同一个问题可以用while语句处理,也可以用do while语句处理。do while语句结构可以转换成while结构。

C++几种循环的比较:
1) for和while以及do while这3种循环都可以用来处理同一问题,一般情况下它们可以互相代替。

2) while和do-while循环,是在while后面指定循环条件的,在循环体中应包含使循环趋于结束的语句(如i++,或i=i+1等)。

for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。

3) 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。
循环的嵌套

一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。

3种循环(while循环?do while循环和for循环)可以互相嵌套。例如,下面几种都是合法的形式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
while( )
{
  while( )
  {…}
}
 
 
do
{
  do
  {…} while( );
}while( );
 
 
for(;;)
{
  for(;;)
  {…}
}
 
 
while( )
{
  do
  {…}while( );
}
 
 
for(;; )
{
  while( )
  {…}
}
 
 
do
{
  for (;;)
  {…}
}while( );