4月从零学习C语言(第11天)——for 循环

在数学中有一个运算符号叫做阶乘,它是基斯顿·卡曼于 1808 年发明的运算符号,是数学术语。

一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!

那么我们想使用C语言编写一个程序来实现用户输入一个数字来计算出n的阶乘该怎么做?

显然读用户的输入需要一个int的n,然后计算的结果需要用一个变量保存,可以是int的factor,在计算中需要有一个变量不断地从I递增到n,那可以是int的i。

#include <stdio.h>

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) ;

}

for 循环

我们看到上面我们实现了功能但是在C语言中还有一种个合适的循环结构写法那就是for循环语句。

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

}

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

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

我们可以把for循环读成:“对于一开始的i=0,当i<5时,重复做循环体,每一轮循环在做完循环体内语句后,使得i=i+1。”

语法

C 语言中 for 循环的语法:

for ( init; condition; increment ) { 
  statement(s); 
 }

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值