第四章:if选择结构
第四章:if选择结构
本章目标
- 掌握if选择结构
- 掌握if-else选择结构
- 掌握多重if选择结构
- 掌握嵌套if选择结构
本章内容
1、为什么要使用选择结构?
生活中的案例:如果我微信钱包里有200元钱,就请大家吃饭?
问题来了:那么我一定要请大家吃饭吗?
分析:
第一种情况:钱>=200元,请大家吃饭
第二种情况:钱<200元,不请大家吃饭
通过上述生活中的案例,可以分析当满足一定条件,才能请大家吃饭,那么生活中很多这样的例子,如果在程序中如何实现呢?
使用选择结构可以实现
2、什么是选择结构?
概念:选择结构用于基于不同的条件来执行不同的动作。通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
C#中的选择结构分类:
- if选择结构
- if-else选择结构
- 多重if选择结构
- 嵌套if选择结构
- switch选择结构
3、if选择结构
概念:只有当指定条件为 true 时,该语句才会执行代码
语法:
1
2
3if(条件表达式){
代码块;
}注意事项:
1、当条件表达式为true时,才执行代码块
2、如果代码块只有一句时,可省略{}
流程图:
案例:如果微信钱包有200元钱,请大家吃饭。
1
2
3
4int money=200;
if(money>=200){
Console.WriteLine("请大家吃饭!");
}练习题目 :如果张浩的Java考试成绩大于98分,张浩就能获得一个MP4作为奖励
多条件下的if选择结构
案例:张浩JS成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者JS成绩等于100分,音乐成绩大于70分,老师也可以奖励他
思考:
找出题目的条件?
1、js成绩>98 且 音乐成绩>80
2、js成绩=100 且 音乐成绩>70
以上任意一个条件满足都可以有奖励。
问题:多个条件怎么连接?
逻辑运算符,作用就是连接多个条件
案例代码:
1
2
3
4
5
6int jsScore=90;
int musicScore=89;
if(jsScore>98 && musicScore>80 || jsScore==100 && musicScore>70){
Console.WriteLine("老师奖励电脑一台!");
}练习题目:如果你年龄大于17,并且是高中生,或者年龄>20,并且学历为初中生那么可以学习JAVA
4、if-else选择结构
问题:如果我包里有200元钱,我请大家吃饭,否则大家请我吃饭!
- 思考:要么我请你们吃饭,要么你们请我吃饭
- 条件:钱>=200
- 怎么实现:if-else选择结构
语法:
1
2
3
4
5if(条件表达式){//当条件成立为true,则执行“代码块1”,为false则执行代码块2
代码块1;
}else{
代码块2;
}流程图:
案例:如果我包里有200元钱,我请大家吃饭,否则大家请我吃饭!
1
2
3
4
5
6int money=150;
if(money>=200){
Console.WriteLine("请大家吃饭~");
}else{
Console.WriteLine("大家请我吃饭~");
}练习题目:
题目一:
如果张浩Java考试成绩大于98分,老师就奖励他一个MP4,否则老师就罚他进行编码题目二:
如果体彩中了500万,我买车、资助希望工程、去欧洲旅游
如果没中,我买下一期体彩,继续烧高香
5、多重if选择结构
问题:对学员的结业考试成绩评测,评测如下
成绩>=80 :良好
成绩>=60 :中等
成绩<60 :差分析如下:
- 将成绩分成几个连续区间判断
- 单个if选择结构无法完成
- 多个if选择结构很麻烦
- 将成功分成如下区间:
语法:
1
2
3
4
5
6
7
8
9if ( 成绩>=80) {
//代码块1
}
else if (成绩>=60) {
//代码块2
}
else {
//代码块3
}流程图:
代码实现:
1
2
3
4
5
6
7
8
9int score=90;//成绩
if(score>=80){
Console.WriteLine("良好");
}else if(score>=60){
Console.WriteLine("中等");
}else{
Console.WriteLine("差");
}练习题目 :
我想买车,买什么车决定于我在银行有多少存款
如果我的存款超过500万,我就买凯迪拉克
否则,如果我的存款超过100万,我就买帕萨特
否则, 如果我的存款超过50万,我就买依兰特
否则, 如果我的存款超过10万,我就买奥托
否则, 如果我的存款10万以下 ,我买捷安特
6、嵌套if选择结构
问题:学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组
分析:
- 判断是否能够进入决赛
- 在确定进入决赛的情况下,判断是进入男子组,还是进入女子组
使用嵌套if实现
语法:
1
2
3
4
5
6
7
8
9
10if(条件1) {
if(条件2) {
代码块1
} else {
代码块2
}
} else {
代码块3
}执行流程
代码实现:
1
2
3
4
5
6
7
8
9
10
11
12int score=10;//跑步时间
if(score<10){//10秒以内才能进入决赛,才有资格分组
string gender="男";//性别
if(gender=="男"){
Console.WriteLine("恭喜你进入男子组决赛~");
}else{
Console.WriteLine("恭喜你进入女子组决赛~");
}
}else{
Console.WriteLine("很遗憾,未能进入决赛~");
}
课后作业
- 输入小明的考试成绩,显示所获奖励
成绩==100分,爸爸给他买辆车
成绩>=90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买