关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回

switch双人闯关推荐 单片机中if与switch的差异有哪些?

发布时间:2022-07-27 18:25:51
单片机中if与switch的差异有哪些?if和switch都是C语言中常见的条件判断句。这两个句子的作用是相同的,但它们在应用和句法上是不同的。以下是介绍。switch双人闯关推荐 单片机
中if与switch的差异有哪些?

If和else可一起用于区分多个关系表达式。有三种常见的if结构。在第一种用法中,只有一个if判断用于判断一个分支;在第二种用法中,它与一个esle一起用于对关系表达式的两种含义做出不同的句子表达;在第三种用法中,它与multipleelse一起用于多级判断,可以有多个elseif。这三种用法的结构如下图所示。

开关和外壳一起使用,末端使用断路器。

开关箱实际上是一个跳转表。只要事例的内容与判别式表达式的内容一致,将按顺序执行以下语句,直到出现中断。如果不满足这些条件,则执行缺省后的语句。

switchcase语句更适合跳转分支较多的情况。它将直接跳转到满足条件的分支。分支越多,效率越高。

为什么很多程序员不用switch,而是大量的if……elseif?

答:主要是因为交换机不适合实际复杂的业务系统需求。业务在不断变化和迭代。一旦需求发生变化,条件的复杂性就很高,交换机无法处理。

开关何时合适?它的场景是基于单个变量的值(例如枚举),这比if条件更可读。

从上面的场景来看,它太有限了。让我简单地谈谈它的一些缺点:

1。真正的业务场景非常复杂,条件也不单一。一旦需求发生变化,维护代码就会崩溃。

2.开关经常忘记写中断。据估计,很多人都忘了粗心地写。如果你看看Google的代码规范,你会发现Google对switch有很多要求。

事实上,有些人仍然使用交换机,这部分是由于历史原因。然而,随着科学技术的发展,原有的设计和设计都相对滞后。

某些编程语言(如python)没有开关语法。当然,一些新的语言golang和kotlin仍然是继承的,但是switch被打包了,被误解的语法被删除了,这使得switch更加灵活。没有包装很难使用。

通过上述缺点,即if语句更加灵活,并且根据业务逻辑条件编写,可维护性高。同时,只要代码质量高,可读性就会更高。

实际业务非常复杂,我不建议您必须使用大量的if,相反,它应该尽快返回以减少嵌套,从而增加可读性并降低维护成本。

c语言中switch语句里的break加与不加有什么关系?

事实上,case后面的常量表达式只起语句标号的作用,而不起条件判断的作用,即“只起执行开始时的条目标号”。因此,一旦匹配switch后括号中表达式的值,它就从此标签开始执行;在执行case后的语句,如果没有遇到break语句,它就会自动进入下一个case继续执行,不再判断是否匹配,在遇到break语句之前,它将停止执行并退出switch语句。因此,如果要在执行case之后立即跳出switch语句,则必须在该分支的末尾添加break语句。


/template/Home/DawnNew/PC/Static

立即注册风纳云账号,免费体验多款产品

立即注册