C几种循环的比较

C几种循环的比较,前面讲述了四种循环结构(whiledo-whileforif与goto),这四种循环结构之间有什么区别与联系?

  • 4种循环都可以处理同一问题,一般情况下可以互换,但是尽量不用goto型。
  • while和do-while循环,在while后面只指定循环的条件,而使循环趋于结束的语句包含在循环体中。而for循环可以在“表达式3”中包含使循环趋于结束的操作。甚至可将循环体放到 “表达式3”中。
  • 用while和do-while循环时,循环变量初始化应在while和do-while之前;而for循环可以在 “表达式1”中实现循环变量的初始化。
  • while循环:先判断后执行;do-while循环:先执行后判断;for循环:先判断后执行。
  • 对while循环、do-while循环、for循环,用break语句跳出循环,可以用continue语句结束本次循环。对于goto语句构成的循环,不能如此操作。

下面我们用同一题目来举例说明这四种循环结构之间的关系。

示例:求1+2+…+100的和。
(1)while语句构成的循环。

        void main( )
        {
            int i,sum=0;
            i=1;
            while (i<=100)             /*while循环*/
            {
                sum=sum+i;
                i++;
            }
            printf("%d",sum);
        }

(2)用do…while语句构成的循环。

        void main( )
        {
            int i,sum=0;
            i=1;
            do                           /*do…while循环*/
            {
                sum=sum+i;
                i++;
            }while(i<=100);
            printf("%d",sum);
        }

(3)用for语句构成的循环。

        void main( )
        {
            int i,sum=0;
            for(i=1;i<=100;i++)            /*for循环*/
            {
                sum=sum+i;
            }
            printf("%d",sum);
        }

(4)用goto语句构成的循环。

        void main( )
        {
            int i,sum=0;
            i=1;
            loop: if (i<=100)              /*loop语句*/
            {
                sum=sum+i;
                i++;
                goto loop;
            }
            printf("%d",sum);
        }
赞(0)

评论 抢沙发

评论前必须登录!