C++ while和do while循环

时间:2022-12-13 11:55:48

在人们所要处理的问题中常常遇到需要反复执行某一操作的情况。这就需要用到循环控制。许多应用程序都包含循环。顺序结构、选择结构和循环结构是结构化程序设计的3种基本结构,是各种复杂程序的基本构造单元。因此程序设计者必须熟练掌握选择结构和循环结构的概念及使用方法。

用while语句构成循环

while语句的一般形式如下:
while (表达式) 语句
其作用是: 当指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句。其流程图见图3.9。

其特点是:先判断表达式,后执行语句。while循环称为当型循环。


图 3.9

例3.10 求1+2+3+…+100。

复制纯文本新窗口
  1. #include <iostream>
  2. using namespace std;
  3. int main( )
  4. {
  5. int i=1,sum=0;
  6. while (i<=100)
  7. {
  8. sum=sum+i;
  9. i++;
  10. }
  11. cout<<“sum=”<<sum<<endl;
  12. }
#include <iostream>
using namespace std;
int main( )
{
   int i=1,sum=0;
   while (i<=100)
   {
      sum=sum+i;
      i++;
   }
   cout<<"sum="<<sum<<endl;
}

运行结果为
sum=5050

需要注意:

  • 循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。如果不加花括号,则while语句的范围只到while后面第一个分号处。
  • 在循环体中应有使循环趋向于结束的语句。

用do-while语句构成循环

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

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


图 3.11

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

复制纯文本新窗口
  1. #include <iostream>
  2. using namespace std;
  3. int main( )
  4. {
  5. int i=1,sum=0;
  6. do
  7. {
  8. sum=sum+i;
  9. i++;
  10. }
  11. while (i<=100);
  12. cout<<“sum=”<<sum<<endl;
  13. return 0;
  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;
}

运行结果与例3.10相同。

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