为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第4天【养成记】嵌入式挑战第4天,C语言中的控制语句:for循环语句、break语句、continue语句、goto语句

标签:
嵌入式

课程章节:

  • 课程名称:物联网/嵌入式工程师
  • 章节名称:第2周之第四讲 1-5 至 1-9 C语言中的for循环语句、C语言中的break语句、C语言中的continue语句、C语言中的goto语句
  • 讲师姓名:大白老师

课程内容:

C语言中的控制语句

C语言中的for循环语句

for循环

单层for循环

格式

for(表达式1;表达式2;表达式3)
{
        C语言语句;
}

功能: 先执行表达式1,只执行一次,然后判断表达式2是否成立,若是成立,执行C语言,在执行表达式3
                             然后判断表达式2是否成立,若是成立,执行C语言,在执行表达式3
                             然后判断表达式2是否成立,若是成立,执行C语言,在执行表达式3
                              ...
                             当表达式2不成立,循环结束
代码示例 单向for循环
#include <stdio.h>

int main()
{
    int i = 0;

    for(i = 10;i>=0;i--)
    {
        i--;
        printf("i=%d\n",i);
    }

    printf("over i = %d\n",i);
    return 0;
}

嵌套多层for循环

代码示例 多层for循环1

每行输出N个心心

#include <stdio.h>

int main()
{
    int line,star,maxLine = 10;
    for (line = 1; line <= maxLine; line++)
    {
        for (star=1; star <= line; star++)
        {
            printf("❤");
        }
        printf("\n");
    }
    return 0;
}
代码示例 多层for循环2
#include <stdio.h>

int main()
{
    int i = 0,j = 0;
    int sum = 0;

    for (i = 0; i < 5; i++)
    {
        i = i + 3;
        for (j = 0; j < 2; j++)
        {
            if ((i + j) % 2 == 0)
            {
                sum = i + j;
                i++;
            }
        }
        printf("i = %d j = %d sum = %d\n",i,j,sum);
    }
    return 0;
}
课后练习

练习
求 1! + 3! + 5! + 7!

代码:

#include <stdio.h>

int main()
{
    int num = 7,ret=1,n=0,m=0,i,j;

    for (i = 0; i <= num; ++i)
    {
        if (i&1)
        {
            j = i;
            while(j > 1)
            {
                ret *= j;
                j--;
            }
            n = ret;
            ret = 1;
            m += n;
            // printf("ret = %d \n",m);
            i != num ? printf("%d! + ",i) : printf("%d! ",i);
        }
    }

    printf("= %d\n",m);

    return 0;
}

C语言中的break语句

功能

(1)用在循环语句中,用来结束一层循环(一层for或while循环). [一层for循环指的是一个for语句]
(2)用在switch-case语句中,用来结束switch-case语句的执行

代码示例 break

#include <stdio.h>

//i = 0,i < 5; ,内部代码,i++
//                  |
//               j = 0;j < 3, printf("0"), if(),j++ 
//               j = 1,j < 3, printf("1"), if(),j++
//               j = 2,j < 3, printf("2"); break;,内部for循环结束
//       i = 1, .....
int main()
{
    int i = 0,j = 0;
    for(i = 0;i < 5;i++) //第一层for语句
    {
        for(j = 0;j < 4;j++)        //第二层for语句
        {
            printf("j = %d\n",j);

            if(j == 2)
            {
                break;        //结束最近的一层for循环
            }                
        }
        printf("======================\n");
    }

    return 0;
}

课后练习

练习
仙花数的条件:
(1)它是一个三位数
(2)它的个位的立方 + 十位的立方 + 百位的立方 = 该数.
要求输出最大的水仙花数。可用break实现。

代码:

#include <stdio.h>

int main()
{
    int x,y,z,num,ret;

    for (int i = 999; i >= 100; --i)
    {
        x = i / 100;
        y = i % 100 / 10;
        z = i % 10 ;
        x = x*x*x;
        y = y*y*y;
        z = z*z*z;
        num = x + y + z;
        if (i == num)
        {
            ret = i;
            break;
        }
    }

    printf("%d\n",ret);

    return 0;
}

C语言中的continue语句

简介

continue语句只能用于含有循环的语句中,用于在循环语句中结束本次循环
继续下一次循环.若是在循环语句中有了continue,continue后面的语句将不会执行
注:
(1)只能用于循环语句
(2)不是跳出循环,而是结束本次,继续下一次

代码示例 continue

#include <stdio.h>

int main()
{
    int i = 0 ,sum = 0;

    for(i = 1;i <= 10;i++)
    {
        if(i % 3 == 0)
            continue;//结束本次(i = 3,...)这次

        sum = sum + i; //i=1,2,4,5,7,8,10
    }

    printf("sum = %d\n",sum); //37

    return 0;
}

C语言中的goto语句

用法

goto 标签;
跳到到指定标签去运行
注意:标签必须在函数的内部,不能重复

代码示例 goto

#include <stdio.h>

int main()
{
    int i = 1;

    while(1)
    {
       i++;
       if(i == 4)
        goto next;
    
    }
next:
    printf("i = %d\n",i);
    printf("GAME OVER!\n");

    return 0;
}

学习笔记:

课后练习

练习
仙花数的条件:
(1)它是一个三位数
(2)它的个位的立方 + 十位的立方 + 百位的立方 = 该数.
要求输出最大的水仙花数。可用break实现。

代码:

#include <stdio.h>

int main()
{
    int x,y,z,num,ret;

    for (int i = 999; i >= 100; --i)
    {
        x = i / 100;
        y = i % 100 / 10;
        z = i % 10 ;
        x = x*x*x;
        y = y*y*y;
        z = z*z*z;
        num = x + y + z;
        if (i == num)
        {
            ret = i;
            break;
        }
    }

    printf("%d\n",ret);

    return 0;
}

C语言中的continue语句

简介

continue语句只能用于含有循环的语句中,用于在循环语句中结束本次循环
继续下一次循环.若是在循环语句中有了continue,continue后面的语句将不会执行
注:
(1)只能用于循环语句
(2)不是跳出循环,而是结束本次,继续下一次

代码示例 continue

#include <stdio.h>

int main()
{
    int i = 0 ,sum = 0;

    for(i = 1;i <= 10;i++)
    {
        if(i % 3 == 0)
            continue;//结束本次(i = 3,...)这次

        sum = sum + i; //i=1,2,4,5,7,8,10
    }

    printf("sum = %d\n",sum); //37

    return 0;
}

C语言中的goto语句

用法

goto 标签;
跳到到指定标签去运行
注意:标签必须在函数的内部,不能重复

代码示例 goto

#include <stdio.h>

int main()
{
    int i = 1;

    while(1)
    {
       i++;
       if(i == 4)
        goto next;
    
    }
next:
    printf("i = %d\n",i);
    printf("GAME OVER!\n");

    return 0;
}

课程评价:

通过对C语言的语法糖学习和练习,能够编写简单C语言程序,再接再厉。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消