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

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

"while"循环

#include<stdio.h>

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 <stdio.h>

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<stdio.h>

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语言总结,若有错误和不足,还请前辈指出!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值