当前课程知识点:C语言程序设计(上) > 选择结构的程序设计 > 3.4 多分支问题的C程序设计 > 3.4.3 几类说明
用switch解决多分枝问题的时候
大家非常明显的看到
刚才我们那个结构
哪个结构
就这个结构里边
可不可以一条路都不走
这里边不可以
为什么 是因为有了default
是说你不是这四个里边的任意一个
你一定从default就走掉了
那什么情况下
我才可以一条路都不走
这种情况下
好了
大家看这种情况下
我也没走加减乘除任何一个
哪条路都不选我就到了switch的下面
一条路都不走
这是在选择里边
选择结构的程序里边
在C里边唯一的可以做到的
所有路径我都不选
我直接到了这个结构的后边
如果我们加上default
通常我们是会加这个的
为什么
因为手误把它输错了
你并不想象让这个程序结束
想让它给你一个提示
凡是你有这种情况它都走了default
给了你一个提示
显示了提示
只有一种情况你是不要default的
是说
我不属于这几个里边任何一个的话
我不需要你提示
我就哪条路都不选
这种情况下你是不要default的
通常它是要的
这里边有几点说明
一个是整型的数据
一个是字符型
不可以是实型数据
因为这里边
不可以跟实型数比较
我们说实型数是不精确的
所以不能跟实型数去比较
什么意思
就是我们刚才是case加号
case减号
也可不可以说
case加号 case加号
这是不可以
就说你后边
比如说
你数的值后边一个是1一个是2
你可以不可以1 2 2 2
那不就是同样的入口有三个
计算机就不能识别到底从哪里入口
所以后边这些必须是不相同的
还有
case2搁在前面还是
case1搁在前面是没有关系的
default搁在前面还是
default搁在后面也是没有关系的
它是所有你输入的那些
都不符合的时候它才会走default
另外
大家说既然是这样
语言设计的时候
能不能自动的就像if else
自动让它出来
不能 为什么
是因为有一些时候
我们需要它不跳出来
需要它继续执行下面的
这个后面我们会再给大家一些例子
这个跟if else是完全不同的
也就说case后边的语句
可以是一个语句组
这个语句组大家不用
小心翼翼的用
花括号把它框起来
因为每一个case之间
是一个明显的标志
所以必须把case后边的
所有语句执行完
它才可以break到别的地方
这个结构的外边
我们刚才已经说过了
它是可以省的
这块关于switch语句的解决多分枝问题
是不是大家已经听出来
它跟if else还是有些许不同的
而且它应用的场合
在解决实际问题面向的问题
也是有所不同的
-1.1 计算机的问题求解方法
--讨论题:数学模型
-1.1 计算机的问题求解方法--作业
-1.2 C语言与C程序
--讨论题:运算符
-1.3 C语言处理系统与程序调试运行
--例程
-1.4 程序中的人机交互
--例程
--作业讨论区
-2.1 算术运算的C程序实现
--算术混合运算.c
-2.1 算术运算的C程序实现--作业
-2.2 关系运算的C程序实现
--bukao.c
--字符比较.c
--讨论题:比较大小
-2.2 关系运算的C程序实现--作业
-第二周作业--作业
-2.3 逻辑运算的C程序实现
--计算结合性
--闰年.c
--自动购票问题.c
-2.3 逻辑运算的C程序实现--作业
-2.4 位运算的C程序实现
--讨论题:位运算
-2.5 几种很个别的运算
--讨论题
--讨论题
-2.5 几种很个别的运算--作业
-2.6 混合运算及数据类型转换
--讨论题:数据类型
-2.7 顺序结构程序实例
--Video
--三角形面积.c
--讨论题:工业产值
-2.7 顺序结构程序实例--作业
-3.1 程序中的路径选择实现
--打印学生成绩.c
--一元二次方程.c
-3.1 程序中的路径选择实现--作业
-3.2 路径中的再选择——嵌套判断
--例程
--讨论题:程序改错
-3.2 路径中的再选择——嵌套判断--作业
-3.3 复杂判断问题的C程序设计
--3.3 多级选择
--银行存款.c
--讨论题:多级选择
-3.4 多分支问题的C程序设计
--加减乘除运算.c
-3.4 多分支问题的C程序设计--作业
-3.5 GOTO的适当使用
-3.6 选择结构的程序实例
--3.6 程序展示
--计算第几天.c
--讨论题:输出奇数
--讨论题:计算税金
-3.6 选择结构的程序实例--作业
-第四周作业--作业
-4.1 需要重复执行的程序
--求和.c
--打印学生成绩.c
--统计录入速度.c
--求平均数.c
-4.1 需要重复执行的程序--作业
-4.2 至少要执行一次的循环
--n的阶乘.c
--字符分类统计.c
-4.2 至少要执行一次的循环--作业
-4.3 已知循环次数用for语句
--求和问题.c
--数列求和.c
--讨论题:循环语句
-4.3 已知循环次数用for语句--作业
-4.4 循环控制——简单循环应用
--水仙花数.c
--讨论题:死循环
--讨论题:猜数字
-循环结构的程序设计(一)--4.4 循环控制——简单循环应用
-4.5 循环的嵌套
--讨论题:程序运行
-4.5 循环的嵌套--作业
-4.6 break与continue
--最大素数.c
-4.6 break与continue--作业
-4.7 循环的综合应用
--数的排列组合.c
--鸡兔同笼.c
--打印空心字符.c
--讨论题:打印图形
--讨论题:计算闰年
-第六周作业
-第六周作业--作业
-5.1 同类有序数据处理问题
-5.2 一维数组的定义和引用
--数组定义.c
--数组初始化.c
--反向输出.c
--讨论题:对称数
-5.2 一维数组的定义和引用--作业
-5.3 一维字符串数组
--讨论题:编程
-5.4 字符串处理函数
--字符串反向.c
--字符串函数
-5.5 二维数组的定义与使用
-5.6 二维数组的输入输出
-5.6 二维数组的输入输出--作业
-5.7 二维数组的应用
--转置矩阵.c
--讨论题:修改程序
-5.8 二维字符数组
--5.8 单词排序
--单词排序.c
-5.8 二维字符数组--作业
-5.9 数组综合应用
--统计成绩.c
--统计字符次数.c
--讨论题:洗牌
-本期课程结束语
--end
-第八周编程作业
-《C语言程序设计(上)》期末复习参考
--html
-《C语言程序设计(上)》期末复习参考答案
--html