菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C Switch


Switch 语句

与编写一堆 if..else 语句相比,您可以使用 switch 语句。

The switch statement selects one of many code blocks to be executed

语法

switch (expression) {
  case x
    // 代码块
    break;
  case y
    // 代码块
    break;
  default
    // 代码块
}

工作原理如下

  • switch 表达式只计算一次
  • 表达式的值与每个 case 的值进行比较
  • 如果匹配成功,则执行关联的代码块
  • The break statement breaks out of the switch block and stops the execution
  • The default statement is optional, and specifies some code to run if there is no case match

下面的示例使用工作日数字来计算工作日名称。

示例

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;
}

// 输出“星期四”(第 4 天)
自己动手试一试 »

break 关键字

When C reaches a break keyword, it breaks out of the switch block.

这将停止块内更多代码和 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"
自己动手试一试 »

Note: The default keyword must be used as the last statement in the switch, and it does not need a break.


C 练习

通过练习来测试自己

练习

Insert the missing parts to complete the following switch statement

int day = 2;
switch () {
 1:
    printf("Monday");
    ;
 2:
    printf("Sunday");
    ;
}

开始练习



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持