switch case 语句要注意!!!

您所在的位置:网站首页 if的判断条件有什么要求 switch case 语句要注意!!!

switch case 语句要注意!!!

2024-07-09 11:54:55| 来源: 网络整理| 查看: 265

c语言中的switch case 语句相比大家也是非常的清楚的。

无论是谁,在编写代码的时候都会用到这个语句的

```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

现在我就在这里从新说明一下这个switch case 语句,这是在我写代码的时候出现的问题,总结出的几点,如果你遇到了这样的情况,请注意一下就行了。

第一点 :

大家都是知道的,switch case 这个语句的格式,

switch (变量){

case :

语句1

case :

语句2

default:

语句3

}

这是switch case 语句的通用形式了,今天我们就是讨论一下他的这个形式,首先是case 中的break 和 语句问题,

学习过c语言的同学都是知道的要在每一个case 的最后加上一个break语句,就是为了防止他进入下一个case

把下一个case中的语句输出来

例如 :

这样的程序我不用说大家都会明白意思,(这不是废话么) ,关键是重点来了,请问,我没有加break 语句

这个switch case 语句是如何结束的。

(有人又会想,这也是废话) 当然是遇到switch case 后面的括号结束的这个语句,所以我在这里声明一下:

结束一个switch case 语句是有两中结束方式的,第一种是遇到switch case 这个语句的括号,第二种是遇到break

这个语句的。

而且在switch case 这个语句中,一定是遵守 先执行case 的语句,最后执行default 语句的,(写到这里可以有些人

要骂我了)因为我写的这个语句是把default 这个语句放在了最后,如果我把这个语句放在了,case 之前这个程序该如何执行,其实这才是我要说明的重点,如果,放在case 前面还是让你感到不爽的话,可以把这个语句放在case 的中间,就是两个case 语句的中间,之后你在运行这个语句,看这个语句是如何运行的。

这是我改变代码的程序,这个时候我如果输入一个4,他会不会执行default语句,如果我输入一个3,他会不会

执行case 3 : 语句呢,

答案是 : 他都会执行,而且他的顺序就是先执行case 语句,等到case 语句全部执行完了,他在执行default 语句

最后的结束条件是break语句,在网上有很多的资料上写着,default 这个语句的后面是不用加break语句的,但是

现在我告诉你,其实实在switch 中的哪一个分支,后面都要加上break语句的,但是由于一般的写法下,default 后面就是switch 的括号,所以,在default 后面加一个break意义不太大,这样有的人才说,default 后面的break 是加不加

都行,如果想验证我的说法是不是正确的,你只要把上面的代码default 后面的break 去掉,然后输入4,看会不会多输出一些东西来,这样你就会明白了,break 在default的后面是看情况的。

说道了这里,我想大家一定是会对这个switch 语句有了一定的了解,但是我还想给大家接着介绍一种情况,

便是 : case 中的语句,

我说的语句就是进入case 了,之后会在他的下面执行的语句,你自己有没有想过,什么才是一个语句,

什么是一个变量的声明,语句包含一个变量的声明么?

在这里我会用代码验证我测试的结果,

这样的代码在编译的时刻就会出现错误 :

标号只能是语句的一部分,而声明并非语法

在网上有人认为这样就是出现了,在case 中定义了变量,出现的问题,只要在case中加入括号就可以把这个

错误解决掉,而且他还认为由于switch中的case语句在同一个作用域,(因为case语句只是一个标签,他们共属于

一个switch语句块),所以如果在某个case下声明了变量的话,其他的case语句也能看到,这样的话就可能导致错误,例如,在一段代码中的case 1 后面还有一个case2的话,且case 2中使用了case 1定义的变量的话,那么如果运行时,n = 2,swich 直接条转到case 2 内部,这样就出现了 i 还没有初始化的事情了,(变量在声明实在编译阶段,而变量的赋值则在运行时),如果能运行的话,则在case 2中,i没有是一个未知的值,所以编译其直接避免这种事情

发生,就让其编译无法通过。

在最后还要声明一点 , 在switch (num)中的num 是有范围的,只能是字符,短整,长整,整形。。。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭