注册 登录
编程论坛 C语言论坛

for循环和while do while循环有什么不同

xy2002010515 发布于 2020-12-30 10:47, 1681 次点击
学习过程中遇到的for 循环,和 do while while 循环有什么区别,在什么情况下选择不同的循环类型呀
3 回复
#2
nosnoy2020-12-30 16:38
个人认为对于机器来说,并没有什么不同,都是循环。for循环你可以很方便的了解他的初值和终值;while我一般用于等待;do while我都 快忘了咋写的。总体来说只是便于我们自己理解而已,比如我目前最喜欢用的是while(1);while(i--);
#3
风过无痕19892020-12-30 21:44
回复 楼主 xy2002010515
以下三段程序是一样的,都是拆分数字(求水仙花、玫瑰花数、守形数等都要拆分数字)
程序代码:

    int i, m, n = 123456, sum = 0;
    for (i = 1;i <= 6;i++) // 有明确的起始值,终止值(或循环次数)及步长(i++ 步长为1)
    {
    m = n % 10;    // 取个位上的数
    sum += m * m * m;
    n = n / 10;    // 降低位上的权重(即 。 。 。 百位变十位,十位变个位)
    }


程序代码:

    int i, m, n = 123456, sum = 0;
    while (n != 0)     // 只知道循环的终止条件
    {
    m = n % 10;    // 取个位上的数
    sum += m * m * m;
    n = n / 10;    // 降低位上的权重(即 。 。 。 百位变十位,十位变个位)
    }


程序代码:

    int i, m, n = 123456, sum = 0;
    do              // 很多情况下,while 与 do . . . while 可以互换
    {
    m = n % 10;    // 取个位上的数
    sum += m * m * m;
    n = n / 10;    // 降低位上的权重(即 。 。 。 百位变十位,十位变个位)
    }while (n != 0);   // 只知道循环的终止条件
#4
apull2020-12-30 22:01
for、while和do循环最大的区别是do会先执行一次循环体再判断条件,其他2个是先判断条件,再根据结果是否执行循环体。
这3个循环也可以互相转换写法
1