for语句一般是这种的形式,下面来介绍具体的用途
for (表达式1;表达式2;表达式3)
{
语句;
}
for(循环变量赋初值; 循环条件; 循环变量增值)
从这个执行过程中可以看出,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。
表达式1
表达式1在for语句,只进行一次!!!,不会重新去赋值的,所以就会出现这种表达形式
for (; 表达式2;表达式3)
{
语句
}
像这种代码,就是i在for语句前面已经赋值了,不需要重新赋值,换而言之,你在for之前i的值,满足你在做for循环i的初始值,下面的代码就可以解释了。
1. int i = 0;
for (; i < 10; i++)
2. int i;
for(i=0;i<10;i++)
表达式2
表达式2就是循环条件了,控制for循环的次数,从而达到停止的效果。
表达式3
就是循环变量增值了,i的增减值了。下面来介绍在for循环中i++,++i的区别了,先字面解释一下,i++是使用i之后i=i+1,而++i是在使用i之前,就已经完成了i=i+1。代码如下(伪代码)
for (i = 0; i < 10; i++)
{
printf("%d ", i);
}
而在for循环中,循环变量增值(表达式3)
++i与i++并没有区别(在for循环),因为语句 3 在循环(代码块)已被执行之后执行,用人话就是,语句3在第一次进入for循环中不会去执行的,这就是循环中的 ++i
和 i++
结果一样的原因 i--和--i也是同理的
易错点
for循环中,表达式的隔开,不能去使用逗号,的,只能去用分号;
for循环中,执行次数
有一个小妙招去计算,假如循环条件是只有小于号或者大于号,那循环次数=n-i
int i;
int n = 10;
for (i = 1; i < n; ++i)
{
printf("循环次数%d ", i);
}
循环次数有九次。
那么,循环条件有<=,>=循环次数就是n-i+1。
int i;
int n = 10;
for (i = 1; i <=n; ++i)
{
printf("循环次数%d\n", i);
}
是不是!!
练习题
计算1到100的总和
#include<stdio.h>
int main()
{
int sum = 0;
int i;
for (i = 1; i <= 100; i++)
sum = sum + i;//这里等同于sum+=i
printf("%d", sum);
return 0;
}
计算5的阶乘
#include<stdio.h>
int main()
{
int i; int sum = 1;
for (i = 1; i <= 5; i++)//i=6 就进不去for循环中,i=5可以进去
{
sum=sum*i;//等价于sun*=i
}
printf("%d", sum);
return 0;
}
以上就是for循环的总结了,共勉!
结言:本人笔拙,无法将自身的想法一一阐述,希望各位在阅读完后,能给出相应的意见,也欢迎大家在阅读之后提出一些问题,我很乐意帮助大家