while 循环、do- while 循环 和 for 循环之间的那点事

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

    使用循环计算1-2+3-4+5-6+…-100的值?
    在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。
    运行结果为: sum=-50

 1 #include <stdio.h>
 2  
 3 int main()
 4 {
 5     /* 
 6        小伙伴们:
 7            选择你们认为最合理的循环结构完成功能吧 
 8     */
 9     int sum = 0;  //定义计算结果变量sum
10     int i = 1;    //定义循环数字变量i
11     int flag = 1; //定义符号状态变量flag
12  
13     //使用while循环
14     while(i<=100)
15     {
16         i++;
17         sum+= i*flag;//sum=sum+i*flag;
18         flag *= -1;
19     }
20  
21     i = 1;  //重新初始化变量i
22  
23     //do-while循环
24     do{
25         i++;
26         sum+= i*flag;
27         flag *= -1;
28     }while(i<=100);
29  
30     i = 1;  //重新初始化变量i
31  
32     //使用for循环
33     for(i=1;i<=100;i++)
34     {
35         sum+= i*flag;
36         flag *= -1;
37     }
38     printf("sum=%d\n",sum);
39  
40     return 0;
41 }

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

    1、在知道循环次数的情况下更适合使用for循环;
    2、在不知道循环次数的情况下适合使用while或者do-while循环,
    如果有可能一次都不循环应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。
    但是从本质上讲,while,do-while和for循环之间是可以相互转换的

posted @ 2020-12-11 18:09  伍悦匿匿  阅读(455)  评论(0编辑  收藏  举报