在C语言中,switch-case语句是一种用于多分支控制流的结构。它允许程序根据一个表达式的值,从多个选项中选择一项并执行相应的代码块。
下面是switch-case语句的基本用法:
switch(expression) { case constant-expression1: // 代码块 1 break; case constant-expression2: // 代码块 2 break; case constant-expression3: // 代码块 3 break; // 可以有更多的 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代码块并不是必需的,可以根据实际情况来选择是否使用。