栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

在C语言中while,do-while,for三种循环的区别

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在C语言中while,do-while,for三种循环的区别

以计算阶乘为例,展开讨论这三种循环的具体区别。

"while"循环:

#include

int main()
{
    int i=1;
    int fact=1;
    int n;

    printf("请输入一个整数以计算阶乘:");
    scanf("%d",&n);

    while(i<=n){
        fact *= i;
        i++;
    }
    printf("%d!=%dn",n,fact);

    return 0;
}

在这个代码中的while,首先进行条件判断,条件满足后进行"fact *=i"的计算并且进行"i++",然后再次进行判断,依次循环,直到不满足条件;

do-while循环:

#include 

int main()

{
    int i = 1;
    int fact = 1;
    int n;

    printf("请输入一个整数以计算阶乘:");
    scanf("%d",&n);

    do{
        fact *= i;
        i++;
    }
    while(i<=n);
    
    printf("%d!=%d",n,fact);

    return 0;
}

1、在这个代码中,程序执行到"do-while"时,不会首先考虑"while"中的条件,而是无论如何都会先执行一遍"fact *= i;i++";

2、执行一遍之后,然后再对"while"中的条件进行判断,如果满足条件"i<=n",则返回"do"继续执行"fact *= i;i++",直到条件补满足;

3、需要注意,在"do"后面一定要加上更改条件的语句,否则出现死循环;

for循环:

#include

int main()
{
    int i = 1;
    int fact = 1;
    int n;

    printf("请输入一个整数以计算阶乘:");
    scanf("%d",&n);

    for(i=1;i<=n;i++){
        fact *= i;
    }
    printf("%d!=%d",n,fact);
    
    return 0;
}

1、在for循环当中,"i=1"为初始条件;"i<=n"为判断条件,且在最开始时就会进行条件判断;"i++"为循环一次需要做的改变;

2、使用for循环时,一定要在循环外部首先初始赋值初始变量(例如上面程序中的"i"),如果在for内部进行赋值,会导致报错(for内赋值初始变量为C99的标准,许多编译器不支持这样赋值);

3、for和while等价,可以进行替换;

以上为初学C语言总结,若有错误和不足,还请前辈指出!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836286.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号