c语言第七章循环语句和循环控制

Home Home
引用 | 编辑 adelinsdad
2009-05-05 10:32
楼主
推文 x0
Turbo C 2.0提供三种基本的循环语句: for语句、while语句和do-while语句。
壹、循环语句
    (壹)、for循环  它的壹般形式为:
        for(<初始化>;<条件表过式>;<增量>)
            语句;
        初始化总是壹个赋值语句,它用来给循环控制变量赋初值;条件表达式是壹个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环壹次后按什么方式变化。这三个部分之间用;分开。
        例如:
            for(i=1;i<=10;i++)
                语句;
        上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。
        注意:
            (1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。
            (2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
            (3).for循环可以有多层嵌套。
        例如:
            for(;;)  语句;
            for(i=1;;i+=2) 语句;
            for(j=5;;) 语句;
        这些for循环语句都是正确的。
        main()
        {
            int i,j;
            printf(i  j\n);
            for(i=0;i<2;i++)
                for(j=0;j<3;j++)
                    printf(%d  %d\n,i,j);
        }
        输出结果为:
            i  j
            0  0
            0  1
            0  2
            1  0
            1  1
            1  2
        用for循环求1+2+……+100的和:
        main()
        {
            int sn=0,i;
            for(i=1;i<=100;i++)
                sn+=i;                /*1+2+……+100*/
            printf(%d\n,sn);
        }
       从程序可以看出,使用循环语句可以大大简化代码。
   (二)、while循环  它的壹般形式为:
       while(条件)
           语句;
       while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。
       例如:
           #include stdio.h
           main()
           {
               char c;
               c='\0';             /*初始化c*/
               while(c!='\n')      /*回车结束循环*/
                   c=getche();       /*带回显的从键盘接收字符*/
           }
               
       上例中,while循环是以检查c是否为回车符开始,因其事先被初始化为空,所以条件为真,进入循环等待键盘输入字符;壹旦输入回车,则c='\n',条件为假,循环便告结束。与for循环壹样,while循环总是在循环的头部检验条件,这就意味着循环可能什么也不执行就退出。
       注意:
           (1).在while循环体内也允许空语句。
               例如:
                   while((c=getche())!='\n');
               这个循环直到键入回车为止。
           (2).可以有多层循环嵌套。
           (3).语句可以是语句体, 此时必须用{和}括起来。
               用while循环求1+2+……+100的和:
               main()
               {
                   int sn=0,i=0;
                   while(++i<=100)
                       sn+=i;                /*求1+2+……+100*/
                   printf(%d\n,sn);
               }
    (三)、do--while循环  它的壹般格式为:
        do
        {
            语句块;
        }
        while(条件);
        这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行壹次循环语句。
        同样当有许多语句参加循环时,要用{和}把它们括起来。
       
        用do--while循环求1+2+……+100的和:
        main()
        {
            int sn=0,i=1;
            do
                sn+=i;               /*求1+2 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 k7138
2011-03-25 07:02
1楼
  
真是讲解的很仔细

献花 x0
引用 | 编辑 kidnaruto0
2011-04-03 23:23
2楼
  
果然是高手 我学到了 !!

献花 x0