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

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

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

"while"循环:

#include

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

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

    while(i<=n){
        fact *= i;
        i++;
    }
    printf("%d!=%d\n",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语言总结,若有错误和不足,还请前辈指出!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/734241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存