在C语言中,switch-case语句是一种用于多分支控制流的结构。它允许程序根据一个表达式的值,从多个选项中选择一项并执行相应的代码块。
下面是switch-case语句的基本用法:
switch(expression) {case constant-expression1:// 代码块 1break;case constant-expression2:// 代码块 2break;case constant-expression3:// 代码块 3break;// 可以有更多的 case 语句default:// 默认代码块}
其中,expression是一个常量表达式或变量,它的值被用于判断需要执行哪个代码块。case后面的constant-expression是常量表达式,表示一个值,当expression等于该值时,将执行相应的代码块。每个case语句结束时,必须使用break语句或其他跳转语句来结束该case语句的执行。如果expression不匹配任何case值,则执行default代码块。
下面是一个使用switch-case语句的例子,它根据给定的成绩输出相应的等级:
#include <stdio.h>int main() {int score = 85;switch (score / 10) {case 10:case 9:printf("优秀n");break;case 8:printf("良好n");break;case 7:printf("中等n");break;case 6:printf("及格n");break;default:printf("不及格n");break;}return 0;}
在上面的例子中,我们根据成绩的值使用switch-case语句选择相应的代码块,并输出相应的等级。如果成绩不匹配任何case值,则执行default代码块并输出不及格。
在使用switch-case语句时,case后面的constant-expression必须是常量表达式,而不能是变量。如果需要匹配变量值,可以使用if-else语句来实现。另外,default代码块并不是必需的,可以根据实际情况来选择是否使用。