1.用法

switch(整型表达式)
{
    case 数值1:
        语句1;
        break;
    case 数值2:
        语句2;
        break;
    ... ...
    case 数值n:
        语句n;
        break;
    default :
        语句n+1;
        break;
}

当整型表达式的值等于“数值1”时,就会执行“语句1”,后面的break表示退出整个switch语句,也就是直接跳到第16行代码;

当整形表达式的值等于“数值2”时,就会执行“语句2”;后面的以此类推。如果在数值1~数值n中,没有一个值等于整型表达式的值,那么就会执行default中的语句n+1。

由于所有的case后面都有个break,因此执行完任意一个case中的语句后,都会直接退出switch语句

2.break的作用

break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

1> 如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有case和default中的语句,直到遇到break为止。

3.代码

  1. #include <stdio.h>
  2.  
  3. /*
  4. if (条件)
  5. {
  6.  
  7. }
  8.  
  9. switch (数值)
  10. {
  11. case 数值1:
  12. 语句1;
  13. break;
  14.  
  15. case 数值2:
  16. 语句2;
  17. break;
  18.  
  19. default :
  20. 语句3;
  21. break;
  22. }
  23. */
  24.  
  25. int main()
  26. {
  27. //int a = 10;
  28. // break:退出整个switch语句
  29. // 如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止
  30. /*
  31. int b = 10;
  32.  
  33. switch (a)
  34. {
  35. case 10:
  36. printf("A\n");
  37. b++;
  38. case 5:
  39. printf("B\n");
  40. b++;
  41. case 0:
  42. printf("C\n");
  43. b++;
  44. break;
  45. default:
  46. printf("D\n");
  47. break;
  48. }
  49.  
  50. printf("b的值是%d\n", b);*/
  51.  
  52. char c = '+';
  53. int a = ;
  54. int b = ;
  55. // 如果要在case后面定义新的变量,必须用大括号{}包住
  56. switch (c) {
  57. case '+':
  58. {
  59. int sum = a + b;
  60. printf("和是%d\n", sum);
  61. break;
  62. }
  63.  
  64. case '-':
  65. {
  66. int minus = a - b;
  67. printf("差是%d\n", minus);
  68. break;
  69. }
  70. }
  71.  
  72. return ;
  73. }

4.练习

  1. /*
  2. 输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)
  3. A:90~100 score/10 == 9、10
  4. B:80~89 score/10 == 8
  5. C:70~79 score/10 == 7
  6. D:60~69 score/10 == 6
  7. E:0~60
  8. */
  9.  
  10. #include <stdio.h>
  11.  
  12. int main()
  13. {
  14. int score = ;
  15.  
  16. switch (score/) {
  17. case : //
  18. case : // 90+
  19. printf("A\n");
  20. break;
  21. case : // 80+
  22. printf("B\n");
  23. break;
  24. case : // 70+
  25. printf("C\n");
  26. break;
  27. case : // 60+
  28. printf("D\n");
  29. break;
  30. default:
  31. printf("E\n");
  32. break;
  33. }
  34.  
  35. /*
  36. if和switch
  37. 1> if语句能完成的功能,switch并不一定能完成
  38. int a = 10;
  39. if (a>100)
  40. {
  41.  
  42. }
  43.  
  44. 2> 在有些情况下,if语句和switch语句可以互换
  45.  
  46. 3> switch能完成的功能,if语句都能完成
  47. */
  48.  
  49. return ;
  50. }

【学习笔记】【C语言】选择结构-switch的更多相关文章

  1. Objective-C 学习笔记(一) 语言程序结构

    Objective-C语言程序结构 “Hello World”简单示例 #import <Foundation/Foundation.h> //预处理命令,它告诉Objective-C语言 ...

  2. Golang的选择结构-switch语句

    Golang的选择结构-switch语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ( ...

  3. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  4. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  5. muduo学习笔记(二)Reactor关键结构

    目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...

  6. jQuery 学习笔记:jQuery 代码结构

    jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...

  7. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  8. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  9. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  10. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

随机推荐

  1. cdoj 71 I am Lord Voldemort 水题

    I am Lord Voldemort Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/ ...

  2. nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mog

    spring单元測试时发现的问题: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsin ...

  3. 一步步学Mybatis-怎么样实现动态SQL查询(6)

    上一章我们已经讲完了关于Mybatis的分页用法,其实MyBatis 还具有的一个强大的特性之一通常是它的动态 SQL 能力. 如果你有使用 JDBC 或其他 相似框架的经验,你就明白要动态的串联 S ...

  4. 2012 East Central Regional Contest 解题报告

    昨晚各种莫名其妙卡题. 不过细看这套题还挺简单的.全是各种暴力. 除了最后一道题计算几何看起来很麻烦的样子,其他题都是很好写的吧. A. Babs' Box Boutique 题目大意是给出不超过10 ...

  5. plupload上传插件在SpringMVC中的整合

    前言:近期在给学院的站点做一个加入附件的功能,首先到了某某邮箱看了一下.简单有用.可是是flash做的,无法拷贝.就仅仅好上网找插件了.经过筛选.最终找到plupload这款插件(其实有的编辑器自带加 ...

  6. lucene合并测试的总结

    1 查询的总时间等于每个segment查询时间的总和 2 合并的步骤     (1)做flush操作的先生成一个新的segment     (2)检查在新segment之前已经存在的segment的数 ...

  7. Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()

    filter():   语法: var filteredArray = array.filter(callback[, thisObject]); 参数说明: callback: 要对每个数组元素执行 ...

  8. 关于Android 访问权限设置

    我前几天在做同城交友网(www.niyuewo.com)与医药网(www.yiyaojing.com)时遇到的问题整理如下: Android开发应用程序时,如果应用程序需要访问网络权限,需要在 And ...

  9. 使用get方式提交数据

    get提交代码 import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLE ...

  10. Java基础知识强化之IO流笔记73:NIO之 Channel

    1. Java NIO的Channel(通道)类似 Stream(流),但又有些不同: 既可以从通道中读取数据,又可以写数据到通道.但流的读写通常是单向的. 通道可以异步地读写. 通道中的数据总是要先 ...