打印1~10
while循环
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
return 0;
}
for循环
int main()
{
int i = 0;
for (i = 1/*初始化部分*/; i <= 10/*条件判断部分*/; i++/*调整部分*/)
printf("%d ", i);
return 0;
}
for循环中的break与continue
break
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
break;
printf("%d ", i);
}
return 0;
}//打印结果:1 2 3 4
continue
(1)while中的continue
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
continue;//continue一旦被执行,会跳过本次循环continue后的代码,
直接去判断部分去判断:要不要进行下一次的循环。
printf("%d ", i);
i++;
}
return 0;
}
//打印结果:1 2 3 4 后,无限循环。
(2)for中的continue
与while不同的是,for打印出来的是如下结果
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}//打印结果:1 2 3 4 6 7 8 9 10
建议:
(1)不可在for循环体内修改循环变量,防止for循环失去控制
如:
int main()
{
int i = 0;
for (i = 1; i <= 10;i++)
{
if (i == 5)
continue;
//i = 8;//打印完再加,结果为:1 8 8 8 8 8 8 8 8 ......8无限循环。原因:一直在for内循环。
//i = 1;//打印完再加,结果为:1 1 1 1 1 1 1 1 1 ......1无限循环。原因:一直在for内循环。
//i = 12;//打印完再加,结果为:12
printf("%d ", i);
//i = 8;//判断再printf,i=8后再加(i++后for结束),加完再判断,i=9<=10,重复前面过程。
// 结果为:1 9 9 9 9 9 9 9 9 ......9无限循环
//i = 1;//判断再printf,i=1后再加(i++后for结束),加完再判断,i<=10,重复前面过程。
// 结果为:1 空格循环
//i = 12;//判断再printf,i=12后再加(i++后for结束),加完再判断,最后输出结果。
// 结果为:12
}
return 0;
}
(2)建议for语句的循环控制变量的取值采用“前闭后开区间”写法