C--深度剖析--关键字(5)

本文介绍了C语言中switch语句的重要注意事项,包括default分支的使用,避免在case和break之间定义变量,如何处理多个case对应相同语句的情况,以及不推荐在switchcase中使用return。强调了合理安排case顺序和使用宏替换的重要性。

我们之前了解到,if语句执行的三个重要过程:

  1. 计算表达式逻辑结果
  2. if判定
  3. 分支执行

也可以这么说,判定语句的结构 = 判定+分支。

那么对于switch语句来说呢?

在这里插入图片描述
很显然,break负责的是分支的功能,case 负责判定
单独的switch是没有判定能力的。

这里基础语法我们就不再解释了
我们主要介绍一下switch关键的注意事项。

switch你最该注意到的细节

default分支
  1. 关于default,我们有些人常常会忽略它,或者是当还剩下一种case的情况下,不去写case了,而直接用deault执行语句。
    比如我case周一到周六,剩下周天直接用default输出。这样是不可取的,这样代码看起来就很乱。当然这不是什么原则问题。
    或者有的人会直接省略default,这也是不推荐的。
    因为当我们输入非case值的时候,我们程序应该给用户返回一个结果,比如提示用户输入违法之类的字样。这样的操作都是很规范的。即使程序不需要default处理。

  2. default分支可以放在switch内的任何位置,不过我们一般都放在最后,处理一些异常情况。

  3. 我认为很重要的一点 :case中的语句不可以定义变量。
    在这里插入图片描述
    如果非要在case和break之间定义变量,我们需要给case和break之间带上花括号。
    虽然带上花括号可以解决问题,但我们依旧不建议这样做。
    如果我们在case和break中间,有稍微复杂一点点的代码,我们最好用函数封装一下。

在这里插入图片描述

  1. 如果我们想要多个case对应一条语句,那我们把case叠起来就好了。不建议把每条case里的语句都进行修改,这样成本很大,把他们删除就好了。
    在这里插入图片描述

  2. 我们在switchcase中不建议用return进行返回,这样看起来很不规范。我们如何控制程序的结束呢?
    我们再给一个循环变量,赋上初值,当其不满足条件自动退出循环。
    在这里插入图片描述

  3. 不建议用bool 进行判定,否则只会打印一种情况,其他的case都不会满足条件。
    在这里插入图片描述
    图中这样的情况,当输入1时会执行case1中的内容,而输入其他比如2、3都是走了default分支。

  4. 我们要把最常用的case情况放在最前面,这样有利于程序员调试代码。比如 case1,2,3,4。其中4最常用,我们可以不选择按顺序,而是按使用牝鹿,把4放在最前面。

  5. 宏替换是一种真常量,可以直接用在case中,这是完全没有问题的。

在这里插入图片描述


总结:
在这里插入图片描述
这里的内容很简单,但是还是有一定的细节问题的,使用时候要多注意注意。

带开环升压转换器和逆变器的太阳能光伏系统 太阳能光伏系统驱动开环升压转换器和SPWM逆变器提供波形稳定、设计简单的交流电的模型 Simulink模型展示了一个完整的基于太阳能光伏的直流到交流电力转换系统,该系统由简单、透明、易于理解的模块构建而成。该系统从配置为提供真实直流输出电压的光伏阵列开始,然后由开环DC-DC升压转换器进行处理。升压转换器将光伏电压提高到适合为单相全桥逆变器供电的稳定直流链路电平。 逆变器使用正弦PWM(SPWM)开关来产生干净的交流输出波形,使该模型成为研究直流-交流转换基本操作的理想选择。该设计避免了闭环和MPPT的复杂性,使用户能够专注于光伏接口、升压转换和逆变器开关的核心概念。 此模型包含的主要功能: •太阳能光伏阵列在标准条件下产生~200V电压 •具有固定占空比操作的开环升压转换器 •直流链路电容器,用于平滑和稳定转换器输出 •单相全桥SPWM逆变器 •交流负载,用于观察实际输出行为 •显示光伏电压、升压输出、直流链路电压、逆变器交流波形和负载电流的组织良好的范围 •完全可编辑的结构,适合分析、实验和扩展 该模型旨在为太阳能直流-交流转换提供一个干净高效的仿真框架。布局简单明了,允许用户快速了解信号流,检查各个阶段,并根据需要修改参数。 系统架构有意保持模块化,因此可以轻松扩展,例如通过添加MPPT、动态负载行为、闭环升压控制或并网逆变器概念。该模型为进一步开发或整合到更大的可再生能源模拟中奠定了坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值