【C语言零基础第八课】循环结构与break continue

目录

while()循环语句

do-while语句

for()循环语句

Break和continue

Break语句

continue语句


   生活总最不缺的就是循环了,地球绕着太阳转、一周7天、一天24小时、一小时60分钟这就是循环。在C语言中也存着循环。如果让你使用C语言答应出100条“我喜欢C语言”,你会选择什么样的方法,我想你一定不想打出100条print(“我喜欢C语言\n”);太累了,又无脑。所以我们学的循环结构就是用来解决这个问题的,循环语句有while、do-while、for

while()循环语句

格式

While(条件){

语句;

}

执行条件:先判断条件,当条件为真是执行循环语句,直到条件为假结束循环。

int i = 1;
    while (i<=10)
    {
        printf("%d",i);
        i++;
    }

结果:12345678910

循环三要素:循环初值、循环条件、循环增量(步长值)

do-while语句

格式:do 语句

While(条件);

执行过程:先执行语句,在判断条件,当条件为真时继续执行循环语句,直到条件为假结束。

int i = 1;
    do         printf("%d", i);
        while (i>5);

结果:1

int i = 1;
    do printf("%d",i++);
        while (i<5);

结果:1234   i++使用的是后值用法 

Do-while和while循环语句的区别

Do-while至少执行一次循环,while语句可能一次也不执行。

Do-while循环语句的结束标志是;

for()循环语句

格式

For(条件一:初值;条件二:条件;条件三:增量){

语句;

}

for ( int i = 0;  i <= 100;  i++)
    {
        printf("%d\n",i);
    }

结果: 打印出0-100的值

计算1-100的累加和

int sum = 0;

    for ( int i = 1;  i <= 100;  i++)
    {
        sum += i;
    }
    printf("1-100的累加和为%d",sum);
结果: 1-100的累加和为5050

For循环的特点:多用于指定初始值和已知终止条件的循环、循环次数可控

进入for循环先执行循环一的语句(在for循环中只执行一次),然后进行判断条件,如果成立则进入循环,然后下一次执行条件三——条件二是否成立然后依次这样的,直到条件不成立。

Break和continue

Break语句

Break语句:跳出终止当前的循环。

没有break的语句

for (int i = 1;i <= 5;i++) {
        printf("%d\n",i);
    }
结果:

1
2
3
4
5

有break的语句

在for循环中

for (int i = 1;i <= 5;i++) {
        printf("%d\n",i);
        break;
    }
结果:

1

程序只执行了一次就跳出了循环;

for (int i = 1;i <= 5;i++) {
        if (i == 3) {
            break;
        }

        printf("%d\n",i);
        
    }
结果:

1

2

程序只执行到判断条件成立直接跳出for循环;

在while循环中

int i = 1;
    while (1) {//非0都为真,所以while的条件永远为真         if (i > 5) { i>5 退出while循环
            break;
        }
        printf("%d\n",i++);
    }
结果:

1

2

3

4

5

在switch循环中

我们可以利用break计算出每个月的天数,因为在switch中没有break就一直往下执行,直到遇到break停止。

int i ;
    scanf("%d",&i);
    switch (i)
    {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: printf("31");break;
    case 2:
    case 4:
    case 6:
    case 9:
    case 11:printf("30");break;
    default:
        printf("28或29");
        break;
    }

continue语句

continue:结束本次循环进行下一次循环

在for循环中

for (int i = 0;i <= 5;i++) {
        if (i == 4)continue;
        printf("%d",i);
    }

结果:01235

在while循环中

int i = 0;
    while (i++<5)
    {
        if (i == 4)continue;
        printf("%d",i);
    }

结果:1235

continue:不在选择语句中使用(switch语句),只在循环语句中使用

循环嵌套

什么是嵌套:在一个循环体语句中又包含另一个循环语句,打个比方你现在正在看电视而电视屏幕中的人也在看电视。

例1:

for (int i = 0; i < 2; i++){
        for (int j = 0; j < 1; j++)
        {
            printf("%d,%d\n", i, j);
        }
    }
结果:

0,0
1,0

分析:我们可以看到第一次输出0,0即先执行外层for循环i=0,然后进入内层for循环i=0,输出0,0然后内层for循环j+1 等于1,1<1条件不成立执行外层for循环,i=1;然后内层for循环j=0 然后输出1,0 然后内层for循环等于1不符合条件退出外层for循环i=2不符合条件退出循环。

 例2:

for (int i = 0; i < 1; i++){
        for (int j = 0; j < 5; j++)
        {
            if (i == 3) {

                break;
            }
            printf("j=%d\n", j);
        }
        printf("i=%d\n", i);
    }

结果:

j=0
j=1
j=2
j=3
j=4
i=0

break;语句是跳出距离它最近的for循环的。


全部评论
这些都是C语言的关键啊
1 回复 分享
发布于 2022-08-25 22:33 陕西

相关推荐

06-14 19:09
门头沟学院 Java
darius_:给制造业搞的,什么物料管理生产管理,设备管理点检,最最关键的就是一堆报表看板。个人觉得没啥技术含量都是些基本的crud,但是业务很繁琐那种
点赞 评论 收藏
分享
06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务