C语言循环基础

while循环

代码结构
while (表达式){// 表达式用来判断是否进入循环
	循环体     
}

当表达式值为真时,进入循环体并执行循环体,循环体每执行结束一次就再次对表达式进行判断,如果表达式值为假则退出循环。

while流程图

while流程图

while经典例子

求输入正整数的位数。
代码如下附注释。

#include <stdio.h>
int main() {
    int n; // 输入的整数
    scanf("%d",&n);
    int l=0; // 用来记录整数位数的变量
    // 后面两行代码为了防止输入的数为0
    l++;
    n/=10;
    while (n!=0){ // 当整数不为0时进入循环体
        l++;  // 每进入一次循环体,记录长度的变量做加加操作
        n/=10;  // 每记录一位长度就将整数末尾数字通过整除而去掉
    }
    printf("%d\n",l);
    return 0;
}

do-while循环

观察上面用while求整数位数的代码不难发现,在循环之前进行的l++和n/=10这两步和循环体中的代码完全相同,可是如果把循环外面那一步省略掉程序就会发生错误。那我现在即想把那一步省略掉又不想让程序发生错误怎么办呢?
于是可以引入do-while循环。

代码结构
    do{
        循环体
    }while(表达式);
do-while流程图

do-while流程图

do-while经典例子

求输入正整数的位数。
代码如下附注释。

#include <stdio.h>
int main() {
    int n; // 输入的整数
    scanf("%d",&n);
    int l=0; // 用来记录整数位数的变量
    do{
        l++; // 每进入一次循环体,记录长度的变量做加加操作
        n/=10;  // 每记录一位长度就将整数末尾数字通过整除而去掉
    } while (n!=0);
    printf("%d\n",l);
    return 0;
}

for循环

代码结构
    for(表达式1;表达式2;表达式3){
        循环体
    }

执行顺序表达式1->表达式2(不成立则退出循环)->循环体->表达式3->表达式2(不成立则退出循环)->循环体->表达式3…………

for循环流程图

for循环流程图

for循环经典例子

求n的阶乘。
代码如下

#include <stdio.h>
int main() {
    int n;
    int fact = 1;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        fact*=i;
    }
    printf("%d\n",fact);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值