0%

循环-for

这一篇 <循环-for>


for循环

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

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

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


示例

阶乘:

n ! =1 x 2 x 3 x 4 x … x n

写一个程序,让用户输入n ,然后计算输出 n !

1
2
3
4
5
6
7
8
9
10
11
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);

变量:

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

解析:

for ( ) 中 :

  • 个表达式代表 —— 初始动作

  • 个表达式代表 —— 循环继续的条件

  • 个表达式代表 —— 循环每轮要做的条件

为什么初始值为 0 ;

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