swicth的使用方法

1.格式

switch(表达式){

case 常量1:

      执行语句1;

//break;

case 常量2:

      执行语句2;

//break;

…………

…………

default:

执行语句n;

}

2.说明

(1)根据switch表达式的值依次匹配case常量的值,一旦成功则进入相应case结构中的执行语句,当执行完之后仍然向下执行其他case执行语句直到遇到break或者运行完为止

(2)switch中的表达式可以为六种:byte,short,char,int,String(7.0新增),枚举类型(jdk5.0新增)

(3)case之后只能声明常量,

(4)fault:相当于else,位置是可选的

### STM32F103C8T6 中 `switch` 语句的使用 在嵌入式编程中,`switch` 语句用于多条件分支的选择结构。对于 STM32F103C8T6 单片机而言,在编写固件时合理利用 `switch-case` 结构可以提高程序的可读性和效率。 #### 基础语法 `switch` 表达式的值会与各个 `case` 后面常量表达式的值逐一比较,一旦匹配成功则执行该 `case` 下的所有语句直到遇到 `break;` 或者整个 `switch` 体结束[^1]。 ```c #include "stm32f1xx.h" void example_switch_case(void){ int value = 2; switch (value) { case 1: /* 当 value 等于 1 */ GPIOA->ODR |= GPIO_ODR_0; // 设置 PA0 输出高电平 break; case 2: /* 当 value 等于 2 */ GPIOA->ODR &= ~GPIO_ODR_0; // 清除 PA0 输出低电平 break; default: /* 如果以上都不满足,则默认执行这里 */ ; } } ``` 此段代码展示了如何通过不同的输入来控制 LED 的亮灭状态。当变量 `value` 被赋予不同数值时,对应的操作会被触发;如果没有符合条件的情况发生,默认情况下不会有任何操作被采取。 #### 实际应用案例 考虑到实际应用场景下的复杂度增加,下面给出一段更贴近真实项目的例子——假设有一个简单的菜单界面由按键选择进入不同模式: ```c #define MODE_IDLE 0 #define MODE_CONFIG 1 #define MODE_RUN 2 uint8_t current_mode = MODE_IDLE; void process_user_input(uint8_t key_pressed){ switch(key_pressed){ case '1': current_mode = MODE_CONFIG; printf("Entering Configuration Mode\n"); break; case '2': current_mode = MODE_RUN; printf("Starting Running Mode...\n"); break; case 'q': current_mode = MODE_IDLE; printf("Quitting to Idle State.\n"); break; default: printf("Invalid input, please try again.\n"); } // 根据当前模式做相应处理... } ``` 这段代码实现了根据不同键位切换工作模式的功能,并打印提示信息给用户反馈。这有助于理解如何在一个交互性强的应用里运用 `switch-case` 来管理流程逻辑[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值