三种循环
在线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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现