嵌入式学习day- 05-流程控制

目录

1.流程控制

流程控制

在 C 语言中,流程控制是程序执行过程中确定代码块的执行顺序和条件的技术。流程控制通常包括以下几个部分:

  1. 顺序结构: C 程序中最基本的执行方式,代码逐条执行,从上到下。

  2. 选择结构: 根据条件判断决定程序的分支执行路径,主要包括 ifif-else 和 switch 语句。

    • if 语句: 当条件成立时执行某一代码块。
    • if-else 语句: 当条件成立时执行某一代码块,不成立时执行另一代码块。
    • switch 语句: 根据不同的整数值,执行不同的代码块。
  3. 循环结构: 在满足一定条件下反复执行代码块,主要包括 forwhile 和 do-while 循环。

    • for 循环: 当计数器满足条件时,重复执行代码块。
    • while 循环: 当条件为真时,重复执行代码块。
    • do-while 循环: 至少执行一次代码块,然后当条件为真时,重复执行。

关系运算符和逻辑运算符:

关系运算符

  • ==: 等于
  • !=: 不等于
  • >: 大于
  • <: 小于
  • >=: 大于等于
  • <=: 小于等于

逻辑运算符

  • &&: 逻辑与
  • ||: 逻辑或
  • !: 逻辑非

注意:注意运算符之间的优先顺序,从高到低如下:

      !==> 算术运算符==>关系运算符==> &&和||==> 赋值运算符 

2.goto语句

  goto语句

goto + 关键字==>跳转到对应关键字处

具体实现代码如下:

当执行到第十三行时会跳转到 loop标签位第六行重新往下执行,一般比较少用goto语句,有些公司也禁止用goto语句,c语言作为模块化语音,goto语句很容易跳转,可能会破坏c语言的结构,当然也有它自己的作用,当多层while循环嵌套时,达到满足条件时可用goto语句直接一次跳出三重循环(一次break只能跳出一层循环)。

3.if ()else()判断语句

if()else()语句

用法如下:输入一个月份,输出该月份的天数,并要考虑润年。

一个else只对应一个if,多个if,else混在一起,先找最里面的else,从它上面开始找离它最近的if,ji是对应匹配的。

4.switch() case语句

switch case语句

用法如下:

switch (expression) {
    case constant1:
        // 当 expression 的值等于 constant1 时执行的代码
        break;
    case constant2:
        // 当 expression 的值等于 constant2 时执行的代码
        break;
    // 可以有多个 case 语句
    default:
        // 当 expression 的值没有匹配任何 case 时执行的代码
}

解释:

  • expression: 要求是一个整型表达式(如 int 或 char),其值用于与 case 标签进行比较。
  • case constant1: 如果 expression 的值等于 constant1,则执行对应的代码块。
  • break: 结束 switch 语句的执行,跳出 switch 结构。若省略 break,会继续执行下一个 case 语句(即“fall-through”行为)。
  • default: 可选项。如果没有匹配任何 case 标签,执行 default 部分的代码。

注意事项

  1. expression 必须是整型或可转换为整型的表达式switch 语句中的 expression 通常是 int 类型,也可以是 char 类型,但不能是浮点数或其他非整型数据类型。

  2. case 标签的值必须是常量:每个 case 标签的值必须是编译时已知的常量,不能是变量或运行时计算的值。

  3. break 语句:如果省略 break,程序会继续执行下一个 case 代码块,直到遇到 break 或 switch 结束。这种行为称为“fall-through”。有时这种行为是故意的,但如果不小心使用,可能会导致难以发现的错误。

  4. default 部分是可选的:如果所有 case 标签都不匹配,且 default 不存在,switch 语句将不会执行任何代码。

  5. case 标签的值必须唯一:每个 case 标签的常量值必须唯一,否则编译器会报错。

  6. case 标签的顺序case 标签的顺序可以任意,但通常建议按照逻辑顺序排列,以提高代码的可读性。

  7. case、default的实际意义为标签(lable),如果default打错,执行也不报错,只是标签不匹配。

通过合理使用 switch 语句,可以使代码更简洁、更具可读性,特别是当涉及多个条件分支时。

  `

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值