C语言的switch case函数

2024-06-04 3910阅读

文章目录

  • 1 函数结构
  • 2 执行过程
  • 3 break关键字
  • 4 补充说明
  • 5 C语言的switch case函数总结

    1 函数结构

    switch 是另外一种选择结构的语句,用来代替简单的、拥有多个分枝的 if else 语句,基本格式如下:

    switch(表达式){

    case 整型数值1: 语句 1;

    case 整型数值2: 语句 2;

    case 整型数值n: 语句 n;

    default: 语句 n+1;

    }

    2 执行过程

    它的执行过程是:

    1. 首先计算“表达式”的值,假设为 m。

    2. 从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。

    3. 如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”,继续比较第二个 case、第三个 case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。

    4. 如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。

      需要重点强调的是,当和某个整型数值匹配成功后,会执行该分支以及后面所有分支的语句 。

      C语言的switch case函数 第1张

    3 break关键字

    break 是C语言中的一个关键字,专门用于跳出 switch 语句。所谓“跳出”,是指一旦遇到 break,就不再执行 switch 中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个 switch 执行结束了,接着会执行整个 switch 后面的代码。C语言的switch case函数 第2张

    4 补充说明

    最后需要说明的两点是:

    1. case 后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量。请看下面的例子:
    case 10: printf("..."); break;  //正确
    case 8+9: printf("..."); break;  //正确
    case 'A': printf("..."); break;  //正确,字符和整数可以相互转换
    case 'A'+19: printf("..."); break;  //正确,字符和整数可以相互转换
    case 9.5: printf("..."); break;  //错误,不能为小数
    case a: printf("..."); break;    //错误,不能包含变量
    case a+10: printf("..."); break;  //错误,不能包含变量
    
    1. default 不是必须的。当没有 default 时,如果所有 case 都匹配失败,那么就什么都不执行。

    5 C语言的switch case函数总结

    C语言中的switch语句是一种多分支选择结构,它可以根据表达式的值选择执行不同的代码块。下面是对switch语句的常见用法和总结:

    1. switch语句的基本语法:
    switch (表达式) {
        case 值1:
            // 代码块1
            break;
        case 值2:
            // 代码块2
            break;
        ...
        default:
            // 默认代码块
    }
    
    • 表达式的值会与各个case后面的值进行比较。
    • 如果某个case的值与表达式的值相等,则执行相应的代码块。
    • break语句用于退出switch语句,避免进入其他case中的代码块。
    • 如果没有break语句,程序会继续执行下一个case中的代码块。
      1. 特殊情况:
      • 若某个case的代码块为空,可以省略break语句,控制流会继续执行下一个case中的代码块。
      • 可以使用default关键字来处理未匹配到任何case的情况,默认代码块可选。
        1. switch语句的特点和适用场景:
        • switch语句适用于多个固定值之间的选择,比较简洁。
        • 若需要根据范围或条件进行选择判断,应使用其他结构(如if-else语句)。

          需要注意以下几点:

          • 表达式只能是整型或字符型(C99以后版本支持整型常量表达式)。
          • 各个case的值必须是唯一且与表达式类型兼容。
          • break语句的使用非常重要,确保每个代码块执行完毕后正确退出。

            总结:

            switch语句是C语言中用于多分支选择的结构,通过比较表达式的值选择不同的代码块执行。它具有简洁、清晰的特点,适用于多个固定值之间的选择情况。在使用switch语句时需要注意合理布置case的值和正确使用break语句。

            部分内容参考于C语言中文网;一个很不错的编程网站,建议大家多看看。


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]