c语言之for循环语句

发布时间:2024年01月20日

1.for循环

例1:打印1~10
#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?for (i = 1; i <= 10; i++)//先执行第一个语句初始化i=1;再执行第二个语句i<=10成立,然后打印i的值1,然后执行第三句i++,i=2,再次执行第二句i<=10成立,然后打印i的值为2......
?? ??? ?printf("%d ", i);
?? ?return 0;
}

结果:1 2 3 4 5 6 7 8 9 10

2.break在for中的作用

例2

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?for (i = 1; i <= 10; i++)
?? ?{
?? ??? ?if (i == 6)
?? ??? ??? ?break;//for循环中遇到break直接永久的终止整个循环。
?? ??? ?printf("%d ", i);
?? ?}

?? ?return 0;
}

结果:1 2 3 4 5 6?

3.continue在for中的作用

例3

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?for (i = 1; i <= 10; i++)
?? ?{
?? ??? ?if (i == 6)
?? ??? ??? ?continue;//for循环中遇到continue,continue会直接跳过后面的语句,直接回到第三个语句进行i++,然后执行第二句判断要不要进行下一次循环。
?? ??? ?printf("%d ", i);
?? ?}

?? ?return 0;
}

结果:1 2 3 4 5 7 8 9 10

写for循环语句的建议:1.不可再for循环体内修改循环变量,防止for循环失去控制。2。建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

4.一些for循环的变种

例4

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?for (;;)
?? ?{
?? ??? ?printf("hi", i);
?? ?}
?? ?return 0;
}

结果:hi死循环

c语言中for循环语句中的条件可以省略,但是不建议省略

例5

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?int j = 0;
?? ?for (i = 0; i < 2; i++)
?? ?{
?? ??? ?for (j = 0; j < 2; j++)
?? ??? ??? ?printf("hi ", j);
?? ?}
?? ?return 0;
}

结果:hi hi hi hi

执行第一句i = 0;然后执行第二句i<2成立;然后进入下面的for循环,执行第一句j?= 0;再执行第二句j < 2成立;然后打印hi ,再执行第三句j++,j = 1,再执行第二句j < 2成立;然后打印hi ;再执行第三句j++,j = 2,再执行第二句,j < 2不成立,跳出循环,回到上一个for循环的第三句i++,i = 1;再执行第二句i < 2成立,然后进入下面的for循环,执行第一句j?= 0;再执行第二句j < 2成立;然后打印hi ,再执行第三句j++,j = 1,再执行第二句j < 2成立;然后打印hi ;再执行第三句j++,j = 2,再执行第二句,j < 2不成立,跳出循环,回到上一个for循环的第三句i++,i = 2;再执行第二句i < 2不成立,跳出循环。

例6:

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?int j = 0;
?? ?for (; i < 2; i++)
?? ?{
?? ??? ?for (; j < 2; j++)
?? ??? ??? ?printf("hi ", j);
?? ?}
?? ?return 0;
}

结果:hi hi?

执行第一句i = 0;然后执行第二句i<2成立;然后进入下面的for循环,执行第一句j?= 0;再执行第二句j < 2成立;然后打印hi ,再执行第三句j++,j = 1,再执行第二句j < 2成立;然后打印hi ;再执行第三句j++,j = 2,再执行第二句,j < 2不成立,跳出循环,回到上一个for循环的第三句i++,i = 1;再执行第二句i < 2成立,然后进入下面的for循环,这时j没有进行初始化,所以j还是等于2,执行第二句j < 2不成立,跳出循环。

文章来源:https://blog.csdn.net/2401_82647739/article/details/135708071
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。