分支结构
分支结构:又被称之为选择结构
概念
选择结构:根据条件成立与否,选择相应的操作。
条件构建
关系表达式:含有关系运算符的表达式(>,=,)
逻辑表达式:含有逻辑运算符的表达式(&&,||,!),往往是用来构建复杂的复合条件,比如:
常量/变量:值是否非0,取值(0|1)
注意:类似以下写法,是无效的,没有意义的。
选择结构的形式
单分支
语法:
说明: 条件表达式 成立,执行 语句1 ,否则跳过该分支结构。单分支条件不满足可以不执行。
例子:
例子:
双分支
语法:
说明: 条件表达式 成立,执行 语句1 ,否则执行 语句2 。双分支不管条件是否满足,都要执行。
例子:
三目运算符
语法:
说明: ?: 条件运算符,主要可以简化双分支为同一变量赋值的操作。
求值过程:先计算 表达式1 的值,非0,则将 表达式2 的结果作为条件运算符的最终结果;否则将 表达 式3 的结果作为 条件运算符 的 最终结果 。
案例:
案例:
案例:
多分支
语法:
案例:
案例:
switch
语法:
说明:
⑴ switch后括号内的表达式可以是任何类型的表达式;
⑵ 若表达式的值与某个常量表达式的值相等时,执行此case后面的语句;若没有相等的值时,执行 default后面的语句;
⑶ 每个case后面的常量表达式的值都必须不相同,否则出现矛盾;
⑷ 各个case 和default出现的次序不影响执行结果;
⑸ case后面的语句中如果没有break语句,则执行完本case后的语句会接着执行下面的case(case穿 透) ;
⑹ 多个case可共用一组语句。
注意:
1. 表达式一般写一个变量,变量的值是一个确定的常量。
2. 当遇到break或者switch语句的右大括号时,switch语句结束。
3. 表达式中的数据类型:char,short,int,long,long long,不能是浮点型。 表达式和常量的数据类型要一致(支持隐式转换),比较是否相同。
案例:
案例:
switch语句的case穿透:
1. case穿透:当case后的break被省略;就会直接执行它后面紧跟的case中的语句(不会判断表达式是 否和它后面的case常量是否相同),这样的现象称之为case穿透。
2. default语句一般放在所有case之后,表明所有的case都不成立时,执行default中的语句;default语 句可以放在switch语句{}内的任意位置。
总结
如果只需要一个判断结果,使用 单分支
如果需要两个判断结果,且只能有两个判断结果,使用 双分支
如果需要判断N个结果中的某几个,或者所有,使用 多分支
扩展
条件表达式中的运算符优先级
逻辑非(!) > 算数运算符 (+-*/%)>关系运算符(> < >= == )> 逻辑运算符(&&、||)> 赋 值运算符(=、+=)
设置vim中tab字符数
set tabstop=4
set shiftwidth=4
set expandtab
作业
输入你的身高和体重,测试你的健康状况。
计算bmi的值, bmi = (体重/身高的平方) 如果bmi 小于18.5,则显示“偏瘦,注意加强营养” 如果bmi 在18.5和23.9之间,则显示“体重指数良好,注意保持” 如果bmi值大于23.9 ,则显示“你有点偏胖,注意锻炼”
西安市对安装“一户一表”的居民用户按阶梯式累进电价进行计收电费,具体方案是,
月用电量低于50千瓦时部分,电价不调整,仍为0.538元/千瓦时;51~200千瓦时部分, 单价为0.568元/千瓦时;超过200千瓦时部分,电价为0.638元/千瓦时。市区徐某家4月份 的用电量为96千瓦时,其电费计算如下:基本电费部分:96千瓦时×0.538元/千瓦时=51.65元; 超出50千瓦时的调价电费:(96~50)千瓦时×0.03元/千瓦时=1.38元;电费合计 51.65+1.38=53.03元 。 “阶梯式电价”机制可有效地抑制电力浪费现象,引导居民节约用电,合理用电,比纯粹“口号倡 导型” 节约用电更加有效。 编写一个程序根据输入的用电量,计算电费。
设计一个计算个人所得税的软件
应纳税所得额 = 工资收入金额 - 各项社会保险费 - 起征点(3500元)
应纳税额 = 应纳税所得额 x 税率 - 速算扣除数
通过输入工资总额和社保费用计算应纳税额
设计TVM(地铁自动售票机)机软件。
出租车费计算程序,起步公里数3公里,车费8元,超出3公里,每公里1.8元,不足一公里,按照1公 里计算。
如果输入一个钱数,计算最多能做多少公里,该如何实现? 通过键入输入一个年份和月份,输出显示该月有多少天。(考虑润年情况)
实现一个简单的计算器,要求根据输入的运算符实现相应的运算。