Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341494
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:06:36

这个程序是专门检测你是否掌握好了循环的用法,我简单解释一下吧。为了方便起见,对某些行进行了标号,从line.1~line.5。

#include
int main(void)
{
    int i(1),a(0);
    for(;i<=5;i++)   //line.1
    {
        do
        {
            i++;     //line.2
            a++;     //line.3
        }while(i<3); //line.4
        i++;         //line.5
    }
    cout<    system("Pause");
}

首先赋初值i=1,a=0。进入for语句,判断是否满足for循环条件即i<=5,由于1<=5所以满足,进入for循环体。
下面是do-while循环,执行第2行i++后i=2,执行第3行a++后a=1。
然后在第4行判断是否满足继续do-while循环的条件即i<3,由于2<3,所以满足条件,转到第2行执行。
执行第2行i++后i=3,执行第3行a++后a=2。
第4行继续判断是否满足do-while循环的条件,由于此时i=3,显然不满足i<3,所以结束do-while循环,转到第5行执行。
执行第5行i++后i=4,此时for的第一次循环完成。

然后转到第1行,执行第1行的i++后i=5,然后判断是否满足for循环条件即i<=5,由于5<=5,所以满足条件,开始进行第二次for循环。
执行do-while循环,执行第2行i++后i=6,执行第3行a++后a=3。
在第4行判断是否满足继续do-while循环的条件即i<3,此时i=6,不满足条件,所以结束do-while循环,转到第5行执行。
执行第5行i++后i=7,此时for的第二次循环完成。

然后转到第1行,执行第1行的i++后i=8,然后判断是否满足for循环条件即i<=5,显然不满足,结束for循环,转到第6行继续执行。
在第6行输出a和i的值,分别是3和8。


--------------------next---------------------

阅读(1026) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~