标题:for循环和while do while循环有什么不同
只看楼主
xy2002010515
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-12-30
结帖率:100%
已结贴  问题点数:20 回复次数:3 
for循环和while do while循环有什么不同
学习过程中遇到的for 循环,和 do while while 循环有什么区别,在什么情况下选择不同的循环类型呀
搜索更多相关主题的帖子: 循环 for do 不同 while 
2020-12-30 10:47
nosnoy
Rank: 9Rank: 9Rank: 9
来 自:mcu
等 级:贵宾
威 望:14
帖 子:540
专家分:1158
注 册:2016-9-17
得分:7 
个人认为对于机器来说,并没有什么不同,都是循环。for循环你可以很方便的了解他的初值和终值;while我一般用于等待;do while我都 快忘了咋写的。总体来说只是便于我们自己理解而已,比如我目前最喜欢用的是while(1);while(i--);

穷举是最暴力的美学
2020-12-30 16:38
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
得分:7 
回复 楼主 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);   // 只知道循环的终止条件
2020-12-30 21:44
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:7 
for、while和do循环最大的区别是do会先执行一次循环体再判断条件,其他2个是先判断条件,再根据结果是否执行循环体。
这3个循环也可以互相转换写法
2020-12-30 22:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504440-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.301678 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved