c语言之for循环语句

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 

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不成立,跳出循环。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值