天天看点

while 循环、do- while 循环 和 for 循环之间的那点事C语言自学之三种循环比较

C语言自学之三种循环比较

    使用循环计算1-2+3-4+5-6+…-100的值?

    在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。

    运行结果为: sum=-50

#include <stdio.h>

int main()
{
    /* 
       小伙伴们:
           选择你们认为最合理的循环结构完成功能吧 
    */
    int sum = 0;  //定义计算结果变量sum
    int i = 1;    //定义循环数字变量i
    int flag = 1; //定义符号状态变量flag

    //使用while循环
    while(i<=100)
    {
        i++;
        sum+= i*flag;//sum=sum+i*flag;
        flag *= -1;
    }

    i = 1;  //重新初始化变量i

    //do-while循环
    do{
        i++;
        sum+= i*flag;
        flag *= -1;
    }while(i<=100);

    i = 1;  //重新初始化变量i

    //使用for循环
    for(i=1;i<=100;i++)
    {
        sum+= i*flag;
        flag *= -1;
    }
    printf("sum=%d\n",sum);

    return 0;
}
           

while、do-while和for三种循环在具体的使用场合上是有区别的,如下:

    1、在知道循环次数的情况下更适合使用for循环;

    2、在不知道循环次数的情况下适合使用while或者do-while循环,

    如果有可能一次都不循环应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。

    但是从本质上讲,while,do-while和for循环之间是可以相互转换的

继续阅读