嵌入式学习——C语言基础——day5

本文详细介绍了C语言中的switch分支结构(包括单层和嵌套),以及while、do-while、for循环的用法和程序运行流程,还讨论了break、continue和return等辅助控制语句。
摘要由CSDN通过智能技术生成

1. 分支结构——switch

1.1 单层switch

        switch (整形表达式)
        {
            case 常量1:语句块1;break;
            case 常量2:语句块2;break;
            case 常量3:语句块3;break;

            default:
                语句块4;
        }

        注意:

                1. 表达式必须是整形,不能为浮点型

                2. case后面必须为常量,不能是变量或者常量表达式

                3. switch中的语句从上到下按顺序依次匹配case后的常量,匹配到case后的常量,忽略之后的case语句,直到遇见break或者整个switch语句执行完结束

1.2 嵌套switch

switch ()

{

        case 1:switch (){

                                                case 1:语句1;break;

                                        };break  

        case 2:语句2;break;

}

        注意:使用嵌套switch时,记得给内层switch大括号后加   ;和   break

2. 循环结构

        使用场景:

                        1. 重复执行某段代码

                        2. 有规律的代码

2.1 while

            while (表达式)
            {
                语句块;
            }

            while (1) //死循环
            {

            }    

2.2 do while

            do {
                语句块;
            } while (表达式);

2.3 for

            for ( A; B; C)
            {
                D;
            }

        程序运行流程:

                1. 初始化A

                2. 判别B

                3. 若满足B,执行D

                4. D执行结束后执行C

                5.B ->  D -> C反复循环,直到B不成立,结束循环

2.4 goto(出错处理时使用)一般不建议使用

        例子:

#include <stdio.h>

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

loop:
    sum += i;
    i++;

    if (i < 101)
    {
        goto loop;
    }
    
    printf("sum = %d\n", sum);

    return 0;
}

                

3. 辅助控制语句

3.1 break

    跳出一个switch或者一个循环

3.2 continue

    结束本次循环 

3.3 return

    结束当前函数

  • 26
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sscanf函数是C语言中一个非常常用的函数,它可以将一个字符串按照指定的格式转换成相应的数据类型。在嵌入式开发中,sscanf函数也是非常常见的,因为很多时候需要从串口或者其他外部设备中读取数据,并将其转换成相应的数据类型进行处理。下面是一些sscanf函数的使用技巧: 1. 使用sscanf函数时一定要注意格式字符串的正确性。格式字符串中的占位符必须与待转换的数据类型相对应,否则会发生未知错误。 2. 如果待转换的字符串中包含多个数据,可以使用多个占位符进行转换。例如,如果待转换的字符串为"1,2,3",可以使用" %d,%d,%d"的格式字符串进行转换。 3. 可以使用sscanf函数的返回值来判断转换是否成功。如果返回值等于待转换字符串的长度,则说明转换成功,否则转换失败。 4. 如果待转换的字符串中包含浮点数,可以使用"%f"或者"%lf"的格式字符串进行转换。 5. 如果待转换的字符串中包含十六进制数,可以使用"%x"的格式字符串进行转换。 6. 如果待转换的字符串中包含字符或字符串,可以使用"%c"或者"%s"的格式字符串进行转换。 7. 如果待转换的字符串中包含指针类型的数据,可以使用"%p"的格式字符串进行转换。 总之,在使用sscanf函数时一定要注意格式字符串的正确性,否则很容易出现转换错误的情况。同时,还应该注意sscanf函数返回值的判断,以确保转换的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值