C 教程
/ Switch
Switch
Switch 语句
与其编写多个 if...else
语句,不如使用 switch
语句。
switch
语句可以选择要执行的多个代码块之一:
语法
switch (expression) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 }
工作原理:
switch
表达式被评估一次。- 表达式的值与每个
case
的值进行比较。 - 如果匹配,则执行相关联的代码块。
break
语句跳出switch
块并停止执行。default
语句是可选的,并指定在没有case
匹配时要运行的代码。
下面的示例使用工作日编号来计算工作日名称:
实例
int day = 4; switch (day) { case 1: printf("Monday"); break; case 2: printf("Tuesday"); break; case 3: printf("Wednesday"); break; case 4: printf("Thursday"); break; case 5: printf("Friday"); break; case 6: printf("Saturday"); break; case 7: printf("Sunday"); break; } // 输出 "Thursday" (day 4)运行实例 »
点击 "运行实例" 按钮查看在线实例
break 关键字
当 C 语言遇到 break
关键字时,它会跳出 switch
块。
这将停止在块内执行更多代码和 case
测试。
找到匹配项并完成工作后,就该进行中断了。无需进行更多测试。
break 可以节省大量执行时间,因为它会“忽略” switch
块中其余所有代码的执行。
default 关键字
default
关键字指定在没有 case
匹配时要运行的代码:
实例
int day = 4; switch (day) { case 6: printf("Today is Saturday"); break; case 7: printf("Today is Sunday"); break; default: printf("Looking forward to the Weekend"); } // 输出 "Looking forward to the Weekend"运行实例 »
点击 "运行实例" 按钮查看在线实例
注意:default
关键字必须作为 switch
中的最后一条语句使用,并且不需要 break
。