选择结构之switch

switch

  • 拿到条件表达式的返回值(注意返回值必须是整型,或者可以转换为整数的类型)
  • 利用条件表达式的返回值和switch后面大括号中的每一个case进行比较,判断条件表达式的返回值和case后面的整数是否相等
  • 如果条件表达式的返回值等于某一个case后面的整数,那么就执行该case后面的语句
  • 执行完语句后,如果遇到break就会结束整个switch语句,也就是说后面的所有语句都不执行了
  • 如果前面的case不满足,也就是前面的case的整数和条件表达式的返回值不相等,就会继续判断后面的case
  • 如果前面所有的case都不满足,那么就会执行default后面的语句
switch(条件表达式){
    case 整数:
        //语句
        break;
    case 整数:
        //语句
        break;
    case 整数:
        //语句
        break;
    default:
        //语句
        break;
}
  • switch语句的结束

    • 遇到break
    • 执行到switch对应的大括号的结束
  • switch语句的注意点

    • 返回值必须是整数
    • char类型可以转换为int类型,所以也返回值也可以是char类型
    • case的取值不能重复
    • case后面不能放变量,因为系统在编译的时候回对switch后面所有的case进行优化,会根据case后面的常量值,生成一张取值表
    • default的位置可以随便放,不一定在最后,但是习惯放最后
    • 只有所有case都不满足的情况下才会执行default
    • case后面的语句块中如果定义了变量,那么就必须加上大括号,如果没有定义变量,那么可以不用加
  • 什么时候使用?

    • 一般使用if,只有对一些比较少的固定值进行判断的时候才会采用switch
//专门用来获取字符,会从输入缓冲区中获取字符
getchar();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容