for循环

1.语法格式

for循环的语法格式为:for(表达式1;表达式2;表达式3)

                                          循环语句

其中表达式1为初始化部分,用于初始化变量

表达式2为条件判断部分,用于判断循环是否终止

表达式3为调整部分,用于循环条件的调整

那么现在我们就可以尝试使用for循环来打印1~10

#include<stdio.h>
int main()
{
int i = 0;
for(i = 1;i<=10;i++)
   printf("%d ",i)

return 0;
}
#include<stdio.h>
int main()
{
int i = 0;
while(i<=10)
     printf("%d ",i);
return 0;
}

上面两段代码都是用来打印1~10的,可以看出while循环在代码不复杂的情况下与for循环差别不大,但是如果我们代码的逻辑很复杂,需要声明很多变量,那么此时我们去使用while循环就会导致变量初始话与判断条件力的很远,如果出现错误很难去调试,所以此时for循环的优势就体现出来了,for循环中变量初始化,条件判断与调整部分都是在一起的,方便我们进行调试,当然也不是说while不能用,看自己的习惯吧。

当然for循环也跟while循环一样只能接一个语句,如果想要接多个语句则需要大括号,跟while循环是一摸一样的,不过在这里提一嘴,如果循环语句内嵌套一个分支语句是不需要大括号的,一个完整的分支语句才算一个语句。

2.for循环中的break continue

for循环中的break与while循环中的break作用是一样的,用于永久终止循环

int main()
{
int i = 0;
for(i = 1;i<=10;i++)
   if(5==i)
     break;
   else
     printf("%d ",i);
return 0;
}

此时这段代码的输出结果就是打印1~4当i == 5时会跳出循环,这与while循环是一致的,不过当我们把break换成continue时,就会得到不一样的结果

int main()
{
int i = 0;
for(i = 1;i<=10;i++)
   if(5==i)
     continue;
   else
     printf("%d ",i);
return 0;
}

此时这段代码将会打印1~10没有5

#include<stdio.h>
int main()
{
int i = 0;
while(i<=10)
{
if(5==i)
  continue;
printf("%d ",i);
i++;
}

return 0;
}

如果我们换成while循环,那此时我们得到的结果就是1~4的死循环,原因就是因为当i = 5时,while循环中的continue会跳过后面的代码,直接进入判断,从而导致 i一直等于5,不断地判断,跳过,倒置死循环,而for循环中的continue是直接进入调整部分,使得i值会发生变化,杜绝死循环的发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值