switch语句执行思想:

先计算switch里表达式的值,然后将值与case后的常量或常量表达式值进行比较,找到匹配的,则程序执行匹配case后的语句;break为结束标志;若未遇到,则按顺序往下执行;若未找到与switch相匹配的case,则程序执行default后的语句。

注:(笔试题中考的一些小细节)

1、case与default先后顺序无所谓,谁先谁后都可以。

switch(a*a+b*b) //若a,b已知,则正确
{ default:break;case 3 : y=a+b; break;      case 2 : y=a-b; break;
}switch(a*a+b*b) //若a,b已知,则正确
{ case 3 : y=a+b; break;      case 2 : y=a-b; break;default:break;
}

2、switch后表达式一定要有小括号包着。

switch(a+b) //若a,b已知,则正确
{ case 3 : y=a+b; break;      case 2 : y=a-b; break;default:break;
}switch a+b //错
{ case 3 : y=a+b; break;      case 2 : y=a-b; break;default:break;
}

3、有无break无所谓,没有也可以,若无break,则会连续输出case后的语句。(一般每个case和default后都会有)

switch (3) //程序先执行case 3 后的语句,遇到break,结束
{ case 3 : y=a+b; break;      case 2 : y=a-b; break;case 1 : y=a*b; break;case 0 : y=a/b; break;default:break;
}switch (3) //程序先执行case 3 后的语句,未遇到break,继续执行case2,case1,case0后的语句,//直至遇到default后的break才结束
{ case 3 : y=a+b;   case 2 : y=a-b;case 1 : y=a*b;case 0 : y=a/b;default:break;
}

4、每个case后的常量都必须不同。

switch (3) //错误的写法,case后值有重复的,其执行顺序会直接影响某些变量的值,如y
{ case 3 : y=a+b; break;      case 3 : y=a-b; break;case 1 : y=a*b; break;case 0 : y=a/b; break;default:break;
}

5、可以没有deault语句,若无,同时又无匹配的case,则switch什么都不执行。

switch (4) //无与switch匹配的case,直接执行switch语句后面的if语句
{ case 3 : y=a+b; break;      case 2 : y=a-b; break;case 1 : y=a*b; break;case 0 : y=a/b; break;
}if(y > 0)
{..    .
}

6、case与default后的语句都要加分号。

switch (3) //正确的写法,case后每个语句都要有分号
{ case 3 : y=a+b; break;      case 2 : y=a-b; break;case 1 : y=a*b; break;case 0 : y=a/b; break;default:break;
}switch (3) //错误的写法
{ case 3 : y=a+b;   case 2 : y=a-b; case 1 : y=a*b;case 0 : y=a/b  //少了";"default:break;
}

switch语句总结相关推荐

  1. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

    switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...

  2. C#中switch语句注意

    大家肯定对switch语句并不陌生,它能够让程序根据控制表达式的值,从多个动作中作出选择(从逻辑过程看,和多分支语句if-else有些相似).在C++和java中也有这一语句,不过在C#中,这一语句则 ...

  3. c语言switch不允许实型,C语言中switch语句什么意思

    Switch在C语言中是保留字,其作用是进行判断选择.switch(开关语句)常和case break default一起使用. Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断 ...

  4. switch的case使用数组C语言,使用常量数组的元素作为switch语句中的case

    我正在尝试将一组按键映射到一组命令.因为我处理来自多个地方的命令,所以我想在键和命令之间设置一个抽象层,这样如果我更改底层键映射,我就不必更改很多代码.我目前的尝试看起来像这样: // input.h ...

  5. switch语句中在case块里声明变量会遇到提示“Expected expression before...的问题

    switch语句中在case块里声明变量会遇到提示"Expected expression before..."的问题 例如在如下代码中 1 case constant: 2 in ...

  6. JavaScript Switch 语句

    avaScript Switch 语句 如果希望选择执行若干代码块中的一个,你可以使用 switch 语句: 语法: switch(n){case 1:执行代码块 1breakcase 2:执行代码块 ...

  7. 我去,你写的 switch 语句也太老土了吧

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 昨天早上通过远程的方式 review 了两名新来同事的代码,大部分 ...

  8. 你真的懂switch吗?聊聊switch语句中的块级作用域

      最近在代码中不小心不规范的,在switch里面定义了块级变量,导致页面在某些浏览器中出错,本文讨论以下switch语句中的块级作用域. switch语句中的块级作用域 switch语句中的块级作用 ...

  9. c#switch语句判断成绩_Go的条件判断语句

    现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...

  10. R语言switch语句语法、实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题

    R语言switch语句语法.实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题 目录

最新文章

  1. 职称计算机和职称英语期限,专业技术职称考试,职称英语和职称计算机有效期多长时间,每年什么时候报名啊?上海的...
  2. HoloLens开发手记 - 语音输入 Voice input
  3. Blink Coordinate Spaces
  4. Yii 框架调试之CWebLogRoute
  5. linux下创建文件没有权限,分享一个Linux无法创建文件夹,但是目录权限却显示正常的问题和解决...
  6. .NET 4.6.2正式发布带来众多特性
  7. 线段树动态开点区间加区间求和
  8. 【Java NIO深入研究3】文件锁
  9. 数据库mysql中贴换函数_关于一个自定义MYSQL函数,实现点击链接后,在数据库里改变数据的问题。...
  10. 华为:行业危机时,只做一件事:抢人!
  11. cmd命令关闭占用程序的端口
  12. android+数据库类型转换,ANDROID数据库错误:不兼容的类型:INT不能转换到CursorFactory...
  13. 华为模拟器eNSP将防火墙配置成三层核心交换机
  14. php源码查后门,某一次排查源码后门的过程
  15. 树莓派教程 : 树莓派各版本引脚定义
  16. ACCESS-入门思维导图
  17. 雪球网热股榜--Ajax动态网页爬虫
  18. 从南极之争谈软件架构十个技巧,及成功团队具备的气质
  19. 中国电信SIM卡绝杀冷、热钱包,区块链手机还没火就要凉凉?
  20. 人脸识别经典开源项目

热门文章

  1. 使用bootstrap来模拟构建Cropper的官方网站
  2. 如何有效开展小组教学_小学语文教学中如何有效开展小组合作学习
  3. 高新的技术对不对_同样是申请高新技术企业认定,为什么你会失败?
  4. 惊喜!网易自媒体一星开通收益!
  5. 网易传媒基础架构演进之路
  6. Day-1 HTML基本标签和CSS常用样式
  7. 鱼是最后一个看到水的
  8. Linux Shell find命令只输出文件名字,不携带路径
  9. 离散数学---判断矩阵:自反性,反自反性,对称性得到矩阵的自反闭包,对称闭包。
  10. 如何30天零基础入门网络安全?自学网络安全有哪些缺点?