for循环
组成结构:
for(表达式1;表达式2;表达式3)
{
循环体语句组
}
运行方式:
①求解表达式1
②求解表达式2,若其值非0(即判断为真),则执行循环体语句组,否则结束循环
③求解表达式3
④回到②继续循环
下面是一个for循环的代码实例:
int main()
{
int a = 0;
for (a = 0; a < 5; a++)
printf("哈");
return 0;
}
如上代码中,表达式1:a=0时,求解表达式2:a<5,判断为真,执行循环体语句printf("哈"),再执行表达式3:a++,此时a自增,a=1,回到表达式2:a<5,判断为真,执行循环体语句printf("哈"),再执行表达式3:a++... ...直到a<5判断为假时,循环结束。
最终得到的打印结果为:哈哈哈哈哈
下面的代码是for循环在学习做题中的常见应用
1、n的阶乘(输入数字n,求1!+2!..+n!)
int main()
{
int n = 0,i = 1,result = 1;
printf("请输入n:");
scanf("%d", &n);
for (i=1; i <= n; i++)
{
result *= i; //result *= i是result=result*i的缩写
}
printf("n的阶乘结果是:%dn", result);
return 0;
}
运行结果:
2、1~10的阶乘的相加(1!+2!+3!+...+10!)
int main()
{
int i = 1,j = 1,sum = 0;
for (i=1; i <= 10; i++)
{
j *= i; //j *= i是j=j*i的缩写
sum += j; //sum += j是sum=sum+j的缩写
}
printf("1!+2!+..+9!+10!的结果是:%dn", sum);
return 0;
}
运行结果:
3、乘法口诀表
int main()
{
int i, j;
for (i=1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
printf("%d*%d=%d ", j, i, i * j);
printf("n");
}
return 0;
}
运行结果:



