C语言中if和switch有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中if和switch有啥区别?相关的知识,希望对你有一定的参考价值。

if和switch的主要区别如下:


1)if的括号内的表达式可以分别是布尔类型的合法表达式、可以是所有大于0的正整数为true,反之为小于等于0的正整数为false、可以是常量、枚举;而switch括号内也符合前面if提到的外,就是当圆括号内为正整数只能是0或1,其它的正整数属于 default范围。这点可以看如下代码:

switch (2)  // 除了0和1的其它正整数

case false:  // 对应0
printf("false\\n");
break;
case true:  // 对应1
printf("true\\n");
break;
default: // 对应非0和1以外的正整数
printf("其它\\n");
break;

2)尽管if括号内也支持常量、枚举但也是有前提的那就是常量或枚举必须要显式给出相应的数值。而switch则不必;

3)switch适合处理判断分支较多的情况下(代码可读性好),而if适合处理判断分支较少的情况下(反之代码可读性差,容易出现漏判或重复判断)。

参考技术A 使用的语句不一样呀,if的条件更多一些,switch后面必须有case 而且cas后面必须是规定的三种类型的数据! 参考技术B if 可以代替switch使用,而switch不一定能代替
在效率方面,条件多的时候用switch比if好
参考技术C 看情况。
if判断条件,处理逻辑表达式。
switch 通常处理算术表达式,或字符,当它等于什么什么,转向做什么。switch相当开关

如果“比较整数”,i1 是否大于 i2, 当然用if
如果决定转向,例如 i=1 画直线,i=2 画曲线,i=3 画圆,i=4 画虚线直线, i=5 画虚线曲线, i=6 画长方形 i=其他值 返回重选
这当然用switch,switch 执行快。
参考技术D if 直接是选择的意思
如果(),执行()
否则,()
永远是否则后面没有条件,而且if 和 else 成对出现
switch 可以是多项选择且直接跳转
switch a : A
b : B
c : C
等等
这两个差很多~
你可以再仔细看看书
能用到SWITCH 语句的话,用IF 就很繁琐
但是简单的选择用IF 比较好了

希望能帮到你哦,请您采纳,刚刚玩,在做任务

button 与 switchbutton 有啥区别吗?

如题,小弟目前只知道button可自定义鼠标左,中,右的动作,好像button实现的功能多,实在不知switchbutton有什么用,它有哪些优势呢?弄成抽屉菜单,参考高手的配置,有些是frame+switchbutton实现的,有些是frame+button小弟愚钝,请高手指教!如有教程,可附上,感谢!

参考技术A switch和if语句雷同.但过多的子选项一般用switch.而button就是一个控件.与switch没有直接的区别联系.一个是控件一个是语法 参考技术B switchbutton 是狀態控制用的不管怎麽點他 他都衹有兩個狀態 點擊他是切換狀態比如用他綁定天氣插件 點一下 顯示天氣 再點一下 隱藏天氣 (frame+switchbutton)frame+button 的話 就可以做成 左鍵顯示 右鍵隱藏 這類的本回答被提问者采纳 参考技术C switchbutton 是狀態控制用的不管怎麽點他 他都衹有兩個狀態 點擊他是切換狀態比如用他綁定天氣插件 點一下 顯示天氣 再點一下 隱藏天氣 (frame+switchbutton)frame+button 的話 就可以做成 左鍵顯示 右鍵隱藏 這類的 查看原帖>>

以上是关于C语言中if和switch有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

选择结构有啥特点?C语言实现选择结构有哪几种方式

c语言中的boolean 和其他语言的有啥区别?

c语言中switch可用啥语句替换

C语言和C++有啥区别?

c语言与WIN32有啥区别?

请问大家:C语言和C51有啥区别?