C语言中虽然没有限制if的使用次数,但是当进行多个简单条件判断时用if的话就会显得啰嗦,而且else容易出现不匹配,因此对于这种情况我们可以使用switch case。

#include <stdio.h>
int main(){int a;printf("Input integer number:");scanf("%d",&a);if(a==1){printf("Monday\n");}else if(a==2){printf("Tuesday\n");}else if(a==3){printf("Wednesday\n");}else if(a==4){printf("Thursday\n");}else if(a==5){printf("Friday\n");}else if(a==6){printf("Saturday\n");}else if(a==7){printf("Sunday\n");}else{printf("error\n");}return 0;
}

对于这种情况我们完全可以使用switch来操作

#include <stdio.h>
int main(){int a;printf("Input integer number:");scanf("%d",&a);switch(a){case 1: printf("Monday\n"); break;case 2: printf("Tuesday\n"); break;case 3: printf("Wednesday\n"); break;case 4: printf("Thursday\n"); break;case 5: printf("Friday\n"); break;case 6: printf("Saturday\n"); break;case 7: printf("Sunday\n"); break;default:printf("error\n"); break;}return 0;
}

switch的结构如下:

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

首先运行括号里表达式,将运行的表达式与case中的整形数值做判断,从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。

如果想只运行当前条件的语句,则需要在语句最后引入“break”做中断。

最后面的default相当于if语句中的else,当前面的case中无匹配项则执行default后的语句,因为这是最后一句,因此可以不用加break(我建议加),而且default也不是必须的,具体情况具体分,但是我建议加上这一句。

【必会系列】Switch详解相关推荐

  1. Windows 网络服务架构系列课程详解(六) ---利用NLB群集实现WEB服务器的可靠性...

    Windows 网络服务架构系列课程详解(六) -----利用NLB群集实现WEB服务器的可靠性   实验背景: 在大型网络环境中存在这样一种情景,公司内部的FTP服务器出现故障或脱机了,而且不能快速 ...

  2. 革命性存储:易安ESATA系列产品详解

    革命性存储:易安ESATA系列产品详解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office& ...

  3. 大型企业网络配置系列课程详解(五) --Frame-Relay配置与相关概念的理解

    大型企业网络配置系列课程详解(五)             --Frame-Relay配置与相关概念的理解   实验原理: Frame-Relay(帧中继)简称FR,是国际电信联盟通信标准化组(ITU ...

  4. 大型企业网络配置系列课程详解(三)--OSPF高级配置与相关概念的理解

    大型企业网络配置系列课程详解(三)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  5. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

  6. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...

    PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...

  7. 旋转排序数组系列题详解

    旋转排序数组系列题详解 文章目录 旋转排序数组系列题详解 一.问题描述:旋转数组的最小数字 二.分析:二分查找 三.代码 四.问题描述:寻找旋转排序数组中的最小值 五.分析:二分搜索 六.代码 七.问 ...

  8. 大型企业网络配置系列课程详解(第一版)发布

    大型企业网络配置系列课程详解(第一版)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office& ...

  9. 大型企业网络配置系列课程详解(四) --HSRP和VRRP配置与相关概念的理解(一)...

    大型企业网络配置系列课程详解(四)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  10. Windows 网络服务架构系列课程详解(一) ----DHCP服务器的搭建与配置

    Windows 网络服务架构系列课程详解(一) ---------DHCP服务器的搭建与配置   实验背景: 企业网络环境中在没有配置DHCP服务器时,经常会遇到这样的情况,用户不懂怎么去配置IP地址 ...

最新文章

  1. wireshark出现rst的原因_长水口损毁,其主要原因是这三点造成的
  2. samba服务器有什么安全风险_自体脂肪填充面部安全吗?有什么风险?
  3. android 浅复制与深复制
  4. leetcode 242. 有效的字母异位词(Java版)
  5. HTML5笔记——formData
  6. 取模运算性质_求余、取模运算在RTOS中计算优先级的理解
  7. UGUI Canvas
  8. 【bzoj4695】最假女选手 线段树区间最值操作
  9. 常见密码归纳(入门级)
  10. 安卓版本客户端2.1
  11. Doc2Vec模型介绍及使用
  12. 小米手机怎么用计算机,小米手机怎么连接电脑
  13. 你为什么遇不到好公司
  14. android动态开场,看得见的数据结构Android版之开篇前言+完篇总结
  15. 42、在建工程的施工单位应开展的消防安全教育工作
  16. R语言把DataFrame的一行变成向量
  17. 真干货!综合概述:网络营销怎么做?网络营销有哪些方式?
  18. 用C语言检测文本编码的方法
  19. 公司注册步骤包含的内容,公司注册步骤
  20. 【科普详解】目前传感器的种类(一)

热门文章

  1. 单亲妈妈开米粉店,赚得比当白领的女儿还多,做生意一定要懂方法
  2. excel不均匀坐标轴_将Excel图表的纵坐标轴设置成不等间距的2种方法
  3. paper学习笔记 - PLE
  4. avr c语言编译器,AVR单片机C语言编译器-20210409071159.docx-原创力文档
  5. 三角形公式 [重心, 内心, 外心, 垂心]
  6. excel 单元格插入图片
  7. android状态栏上显示图标大全,状态栏中的Android应用图标
  8. 数学四大思想八大方法_数学八种思维方法
  9. 《神经网络与深度学习》邱希鹏 学习笔记 (1)
  10. LS-DYNA (动力分析程序)