重点要点目录
大家好,在迟更的边缘中摸鱼的我又回来了,这次要详细说的是for循环的一些操作。
现在进入正题。
for循环
while循环因为他的初始化,判断,还有调整都是分开设置的,从这点来看,while循环是没有for循环方便的,因为如果我们要求的while循环的设置内容过多,就会导致初始化,判断,调整的距离拉远,这不利于后期的修改和增添。
我们来个代码来看看。
#include <stdio.h>
int main()
{
int i = 1;//初始化
while (i <= 10)//判断
{
printf("%d\n", i);
i++;//调整
}
return 0;
}
for循环的表达式
for(初始化,判断,调整)
{
// 循环语句
}
for循环把while分散的表达式全部整合了起来放在了一起,这样一来,for循环的优势是巨大的。
所以for循环的打印一到十的数字是怎样写的呢?
int main()
{
for (int i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
可以看出代码简洁了许多,所以我们用for循环也比其他的循环使用的多。
并且for循环默认控制一条语句,可以不用打大括号。
int main()
{
for (int i = 1; i <= 10; i++)
printf("%d ", i);
return 0;
}
for循环的执行步骤
for循环第一步执行表达式1的初始化部分,然后我们会进入判断部分,当判断部分为真我们进入循环体,循环体执行完毕之后进入调整部分,调整完之后再进行判断,直到判断部分为假,结束循环。
假如我们碰上break和continue会出现怎样的结果?
int main()
{
int i = 0;
for (i = 1; i <= 20; i++)
{
if (5 == i)
break;
printf("%d ", i);
}
return 0;
}
这个代码的结果是1 2 3 4
break的意思就是终止循环。
你也可以用调试来看看这些代码的循环步骤,可以一句一句的观察代码的变化。
F10 - 单步执行(逐过程)
F11 - 单步执行(逐语句)- 遇到自定函数,想要进入函数,可以按F11.
如果我们把上面的那个代码中的break换成continue是什么结果?
int main()
{
for (int i = 1; i <= 10; i++)
{
if (5 == i)
continue;
printf("%d ", i);
}
return 0;
}
结果是打印1 2 3 4 6 7 8 9 10
for循环的continue跳过了后面的代码到达调整部分,不容易造成死循环。
while循环中,continue跳过了后面的代码直接去了判断部分
其次一定要注意等于和赋值的区别
比如:看看这个的最终结果是做什么?