鄂A开车拿口罩
if和switch都是C语言中常用的条件判断语句,两者所实现的效果是一样的,但是在应用、语法上不同,下面分别介绍。
if的用法
if和else搭配一起使用,可以实现多个关系表达式的判别,常用的if结构有三种。第一种用法只有一个if判断只用来判断一个分支;第二种和一个esle配合使用,对关系表达式的两层意思都做不同的语句表达式;第三种用法和多个else配合使用,用于多层判别,可以具有多个else if。三种用法的结构如下图所示。
if else应用比较灵活,可以应用在较多的关系判别中,但是需要注意的是,if else必须能遍历所有的可能值,否则容易导致bug,再有就是if括号中的关系表达式的结果必须是0或者1。
switch的用法
switch和case一起使用,结束处用break终止。
switch case其实是一个跳转表,只要case后面的内容和判别表达式的内容一致,就会顺序执行后面的语句,直到遇到break后跳出,如果都不满足条件,则执行default后面的语句。
switch case语句对跳转分支较多的情况比较合适,会直接跳转至满足判别条件的分支处,分支越多,效率越高。
以上就是这个问题的回答,感谢留言、评论、转发。更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。
玩转嵌入式
if 和 switch 都是C语言的判断语句
一般的场合使用 if 或者 switch 都可以达到相同的效果,但其实也是有很大的差异和优缺点的。
什么时候使用if?
if 顾名思义就是如果。如果条件成立就执行,如果只做简单的判断,使用 if 就可以
if 的使用比较灵活,判断语言比较多时,还可以使用else if
else 可以用也可以不用,根据实际需要决定是否使用
因为程序是从上到下动行的,条件1不成立,就需要判断条件2,条件3还不成立,还需要判断条件3,如果条件比较多,占用时间就相对较多。
什么时候用switch?
switch是选择性跳转语句,需要case和break配合一起使用;如果没有break;执行完当前 case 语句后,还会继续执行后面的 case 语句哦,直到break才会退出。
根据条件值,直接跳转到执行语句,所占用的运行时间较少;但case 后面的值必须是精确的固定值,不能像if 一样判断大小。所以switch的使用也有很多局限性。
但使用switch 时,判断的值必须是
int 或 enum 类型,因为case 后面的数值要精确匹配,浮点数是编译不了的。欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习
- 记得点赞和评论哦!非常感谢,如有错、漏,欢迎批评指定。
电子产品设计方案
编译成汇编,其实都一样的