三种循环

在线C环境:https://clin.icourse163.org/

 

 

1. for循环

阶乘

  • n! = 1×2×3×4× … ×n
  • 写⼀个程序,让⽤户输⼊n,然后计算输 出n!
  • 变量:显然读⽤户的输⼊需要⼀个int的n,然后 计算的结果需要⽤⼀个变量保存,可以 是int的factor,在计算中需要有⼀个变量 不断地从1递增到n,那可以是int的i

 

复制代码
#include <stdio.h>

enum COLOR {RED, YELLOW, GREEN, NumCOLORS};

int main() {
    
  int n;
  scanf("%d",&n);
  int fact =1;
  int i = 1;
  while(i<=n){
      fact*=i;
      i++;
  }
  printf("%d!=%d\n",n,fact);
   
    return 0;
}
复制代码

for

复制代码
#include <stdio.h>

enum COLOR {RED, YELLOW, GREEN, NumCOLORS};

int main() {
    
  int n;
  scanf("%d",&n);
  int fact =1;
  int i;
 for(i=1; i<=n;i++){
     fact*=i;
 }
  printf("%d!=%d\n",n,fact);
   
    return 0;
}
复制代码

 

for循环像⼀个计数循环:设定⼀个计数器,初始化 它,然后在计数器到达某值之前,重复执⾏循环体, ⽽每执⾏⼀轮循环,计数器值以⼀定步进进⾏调整, ⽐如加1或者减1

for ( i=0; i<5; i=i+1 ) {
               printf("%d", i);
}

for = 对于

for ( count=10; count>0; count-- )

就读成:“对于⼀开始的count=10,当 count>0时,重复做循环体,每⼀轮循环 在做完循环体内语句后,使得count--。 ”

 

⼩套路

做求和的程序时,记录结果的变量应该初 始化为0,⽽做求积的变量时,记录结果 的变量应该初始化为1

循环控制变量i只在循环⾥被使⽤了,在循 环外⾯它没有任何⽤处。因此,我们可以 把变量i的定义写到for语句⾥⾯去

 

 

try

1×1还是1,所以程序的循环不需要从1开 始,那么改成从多少开始合适呢?这样修 改之后,程序对所有的n都正确吗?这样 的改动有价值吗?

除了可以从1乘到n来计算n!,还可以从n乘 到1来计算吧?试试把循环换个⽅向来计 算n。这时候,还需要循环控制变量i吗?

 

for循环

for ( 初始动作; 条件; 每轮的动作 ) {

for中的每⼀个表达式都是可以省略的 for (; 条件; ) == while ( 条件 )

 

循环次数

for ( i=0; i<n; i++ )

则循环的次数是n,⽽循环结束以后,i的
值是n。循环的控制变量i,是选择从0开始
还是从1开始,是判断i<n还是判断i<=n,
对循环的次数,循环结束后变量的值都有
影响

 

 

Tips for loops

如果有固定次数,⽤for 

如果必须执⾏⼀次⽤do_while 

其他情况⽤whil

posted @   漫漫长路</>  阅读(128)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示