选择结构程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参考代码
知识点解析3——if条件结构
真
假 条件
if-else条件结构
语句1
语句2
if ( 条件 ) { //语句1 } else { //语句2 }
结合问题3
if ( 令狐冲考试成绩 > 90 ) { 师父奖励令狐冲; } else { 师父罚他闭关思过; }
参考代码
知识点解析4——多重if结构
#include"stdio.h" main() { int no; scanf("%d",&no); if(no==1) printf("出任武林盟主"); else if(no==2) printf("出任武当掌门"); else if(no==3) printf("出任峨眉掌门"); else printf("将被逐出师门"); }
假 条件2
真
可以有多个
语句2
语句3
知识点解析4——多重if结构
使用多重if结构解决问题4
if ( score >= 90 ) 大于等于90分 { printf("优秀"); } else if (score >= 80 ) 大于等于80分,小于90分 { printf("良好"); } 大于等于60分,小于80分 else if (score >= 60 ) { printf("中等"); 小于60分 } else printf("差");
问题2师父奖励的条件如何编写
score1 > 90 && score2 > 80 || score1 == 100 && score2 > 70
参考代码
知识点解析3——if条件结构
3 、如果令狐冲考试成绩大于 90 分,师父就奖励他 《独孤九剑》,否则师父就罚他上思过崖闭关思过
使用两个基本if条件结构 使用if-else条件结构实现 if ( score > 90 ) { printf("师父说:不错,给你《独孤九剑》剑谱"); } if ( score <= 90 ) { printf("师父说:不孝徒,上思过崖闭关思过去吧"); }
4、对学员的结业考试成绩评测
成绩>=90 :优秀 成绩>=80 :良好 成绩>=60 :中等 成绩<60 :差
知识点解析4——多重if结构
多重if结构就是在else部分中还包含其他if块
if ( 条件1 ) { 真 语句1 假 条件1
//语句 1
} else if ( 条件2 ) { //语句 2 } else { //语句3 }
由此看出
关系运算符的作用:用来做比较运算 比较后结果:0或1
知识点解析
• 知识点解析2——逻辑运算符
运算符
表达式
说明
&&
|| !
条件1 && 条件2
条件1 || 条件2 ! 条件
仅仅两个条件同时为真,结 果为真
只要两个条件有一个为真, 结果为真
条件为真时,结果为假 条件为假时,结果为真
某同学Java成绩大于90分,而且音乐成绩大于80分 jScore>90&&mScore>80
附加题
编程,接受3个整数,输出3个整数中 的最大者
知识点解析5——使用switch结构
5、 令狐冲参加比武大会
如果获得第一名,将出任武林盟主 如果获得第二名,将出任武当掌门 如果获得第三名,将出任峨嵋掌门 否则,将被逐出师门
使用if条件结构如何实现
更好的解决办法:使用switch结构解决
使用if-else条件结构解决问题5
任务——实现分支功能
小学生四则运算测试系统
-> 1,进入加法测试 -> 2,进入减法测试 -> 3,进入乘法测试
-> 4,进入除法测试
-> 0,退出系统
知识点解析
• 知识点解析1——关系运算符
> ,< = =,!= >=,<=
大象的寿命 < 乌龟的寿命 张三的成绩 > 李四的成绩 令狐冲每次考试成绩 >= 90分 篮球的大小 == 地球的大小 真(1) 假(0) 真(1) 假(0)
参考代码
小学生四则运算测试系统
教师演示
-> 1,进入加法测试 -> 2,进入减法测试 -> 3,进入乘法测试
-> 4,进入除法测试 -> 0,进入退出系统
学生演示
总结
• 关系运算符 • 逻辑运算符 • if语句
– If – if——else – if——else嵌套
比较运算——if(条件)
多个条件
现矛盾 表达式只能是整型、枚举类型 或字符型表达式。case后的常 量表达式必须与其匹配
使用switch条件结构解决问题6
#include"stdio.h" 添加break实现分支功能 main() break语句的功能是退出switch结构 { int no; scanf("%d",&no); switch(no) { case 1:printf(“出任武林盟主”);break; case 2:printf("出任武当掌门"); break; case 3: printf("出任峨眉掌门"); break; default: printf("将被逐出师门"); } }
《结构化程序设计》
第三章——选择结构程序设计
回顾——知识点
• 赋值运算符 • 算术运算符
变量名
表达式;
操作数
运算符
操作数
回顾——知识点
• 顺序结构执行过程
S1
S2
回顾——项目描述
根据程序提示 小学生四则运算测试系统 输入每道题目的答案
根据程序的输出结果
验证自己的运算能力
回顾——项目描述
小学生四则运算测试系统 仅限于3位数以内
条件运算符
表达式为:表达式1?表达式2:表达式3 •先求解表达式1, •若其值为真(非0)则将表达式2的值作为整个表达式的取值, •否则(表达式1的值为0),将表达式3的值作为整个表达式的取值。
例如: ⑴ m<n ? x : a+3 等价于:(m<n) ?(x) :(a+3) ⑵ a++>=10 && b-->20 ? a : b 等价于:(a++>=10 && b-->20) ? a : b ⑶ x=3+a>5 ? 100 : 200 等价于:x= (( 3+a>5 ) ? 100 : 200 )
小学生四则运算测试系统
用switch语 句实现 教师演示
-> 1,进入加法测试 -> 2,进入减法测试 -> 3,进入乘法测试
-> 4,进入除法测试 -> 0,进入退出系统
wk.baidu.com
学生演示
附加题
用switch语句实现 输出以下菜谱: 周一 剁椒鱼头 周二 家常豆腐 周三 老厨白菜 周四 红烧里脊 周五 铁狮子头 周六 京酱肉丝 周日 干煸芸豆
switch语句实现多分支选择结构
一般形式如下: switch(表达式) 各个case的出现次序不影响执行结果 { case 常量表达式1: 语句序列S1; case后面的常量表达式只 是起语句标号作用。 case 常量表达式2: 语句序列S2; 根据switch后面表达式的 case 常量表达式3: 语句序列S3; 值找到匹配的入口标号开 始执行下去,不再进行判 ....... 断。 case 常量n: 语句序列Sn; 常量表达式的值 default : 语句序列Sn+1; 必须互不相同, } 否则执行时将出
scanf(“%d”,&score);
if ( score > 90 ) { } }
//令狐冲的Java成绩
//判断是否大于90分
printf("师父说:不错,奖励给你《独孤九剑》剑谱");
参考代码
知识点解析3——if条件结构
2、令狐冲Java成绩大于90分,而且音乐成绩大于80分, 师父奖励他;或者 Java成绩等于100分,音乐成绩大于 70分,师父也可以奖励他
商场促销,凡购买数量为50件或以上 的顾客优惠5%,凡购买数量100件或 以上的顾客优惠7.5%,凡购买数量为 300或以上的顾客优惠10%,凡购买 数量为500或以上的顾客优惠15%。 分别用if语句和switch语句两种方法编 程,输入单价,数量,输出应付款和 优惠折扣
总结
• 选择结构程序设计的执行过程; • 关系运算符、逻辑运算符、条件运算符;
如果一个年份能被4整除,但不能被 100整除,或者年份能被400整除,则 这个年份是闰年。 编写程序输入一个年份,输出该年份是 否为闰年
某服装店经营套服,也单件出售。若买 的不少于50套,则每套80元,不足50 套,每套90元,只买裤子,每条45元 ,只买上衣,每件60元。 编写程序,读入所买的上衣和裤子数, 计算应付款
加、减、乘、除运算 选某一项或某几项。
题目数量不固定
回顾——项目功能
通过调查、分析和设计,确认了该系统的功能如下:
1、程序运行后,会显示做题的功能菜单
2、用户一旦选择了正确的选项,就会去执行相应的功能。
如果选择错了,提示重新输入,直到用户选对为止。
3、程序会反复执行,直至用户自己输入代表退出功能的数 字0为止。
知识点解析
• 知识点解析3——if条件结构
if条件结构是根据条件判断之后再做处理
基本的if条件结构
条件 if ( 条件 ) { //语句 } 真 语句
假
知识点解析3——if条件结构
1、如果令狐冲的Java考试成绩大于90分,师父就奖励他 《独孤九剑》剑谱
#include”stdio.h” void main() { int score ; printf("输入令狐冲的Java成绩: "); 使用if条件结构该如何实现