为什么那么多语言采用switch case?

大家有没有发现,好多语言似乎都采用C的switch case,然而这种语句很低级,只能处理case为int和char型常量的情况。反观VB,select case是如此强大,可以处理各种类型的变量、常量,甚至是表达式。为什么其他语言宁可用低级的switch case也不采用高级一点的select case?
像下面这段代码switch case根本就无能为力,而if嵌套效率又低,只有select case才是最好的选择

        Select Case 9 < 1
            Case 1 > 7
                Debug.WriteLine("False")
            Case 9.1 - 12 < 0
                Debug.WriteLine("False")
            Case 9 * 80 > 50
                Debug.WriteLine("True")
            Case 5.5 > 5
                Debug.WriteLine("True")
            Case 7.4 < 1
                Debug.WriteLine("False")
            Case 8.8 > 8
                Debug.WriteLine("True")
        End Select

2个回答

第一,只有C Like的语言(C C++ Java C#)用switch case,没有switch case的语言多着呢。lz书读得少。
第二,C语言允许switch峨标签贯通,比如
switch (score)
{
case 0:
case 1:
case 2:
printf("不及格");
break;
case 3:
case 4:
case 5:
printf("及格");
}
第三,不存在if效率比switch低一说。
第四,各种语言语法有差异很正常。VB缺乏条件三元运算符,作为补救,有一个IIf函数,但是那玩意因为是弱类型的,效率低缺乏类型检查倒是是真的。

VB 和C ,C++
意思是VB最低级了
实际使用该如何选择呢,个人觉得能解决问题就行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

27
C#中switch语句为什么必须添加default?
2
求助大神!线性表调用插入、删除等子函数的C语言主函数(用switch函数)怎么写?
2
case语句中case的用法
1
关于switch case语句的一个问题?
2
关于Java enum枚举类中switch(this)中的this代表什么。
3
为什么kettle的switch/case 无效,所有的分支都执行
5
求帮忙看看这段C语言代码的switch结构的问题
1
求教大身,用C语言的算法实现mod 109+7算法问题
1
为什么 C++写的这个程序switch部分不运行呢?
1
解释一下case中的原理?
2
这里关于汇率的计算问题,采用C语言怎么实现汇率的计算的呢?
1
C语言输入加减乘除符号后,直接跳到程序结尾,不进行分支执行。
0
这个数据结构问题运用数列递推的思路怎么使用C语言解决这个问题
5
求问一下为什么C++中在类的成员函数中使用switch语句对enum类型做分支选择时会提示请输入标识符?
1
mint ui 的 mt-switch 组件
3
c语言 简单问题 怎么改 不懂报错 1111111111111111
0
如何利用C语言编程实现对数列的搜索问题,采用C语言代码的编写的方式是怎么做?
1
在NavigationView中的menu点击事件里怎么设置页面跳转
0
电灯和开关的一个变化判断问题,怎么才能使用C程序的语言设计来编写程序代码
1
为什么我包含了stdio.h,也重新定向到了C库函数,但进行stm32和电脑的串口实验中,printf语句还是没有执行?