内容正文:
课题
输出车辆限行提示
课时
2课时(90 min)
教学目标
知识目标:
(1)掌握switch语句的使用方法
(2)掌握关系运算符、逻辑运算符和条件运算符构造关系表达式、逻辑表达式和条件表达式的使用方法·
能力目标:
能根据实际问题选择合适的分支语句编写程序
素质目标:
学习上,要理论与实际相结合,努力提升自己的职业技能
教学重难点
教学重点:条件运算符和条件表达式,switch语句、输出车辆限行提示
教学难点:分支语句的选择
教学方法
问答法、讨论法、讲授法、实践法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过文旌课堂APP或其他学习软件,完成课前任务
请同学们上网查找,在分支语句中除了上次课讲解的if、if-else结构,还有没有其他的分支语句。
【学生】完成课前任务
考勤
【教师】使用文旌课堂APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】请同学们扫码观看“条件表达式”视频(详见教材),讨论并回答以下问题:
条件表达式的一般形式是什么?求两个数中较大值的条件表达式如何表示?
【学生】思考、举手回答
传授新知
【教师】讲解条件运算符和条件表达式,switch语句
一、条件运算符和条件表达式
✈【教师】介绍条件运算符的使用,条件表达式的一般形式和特点
条件运算符是C程序中唯一的一个三目运算符,它要求有三个运算对象。条件表达式的一般形式如下。
表达式1?表达式2:表达式3
若表达式1为真,则条件表达式的值等于表达式2的值,否则等于表达式3的值。例如:
c=a>b?a:b
在这个表达式中,若a大于b,则条件表达式的值为a,即将a赋值给c;否则,条件表达式的值为b,即将b赋值给c。它等价于:
if(a>b)
c=a;
else
c=b;
【课堂讨论】
✈【教师】请学生分组讨论以下问题
请同学们以小组为单位,对比条件表达式与if-else结构,讨论二者在使用时各自的优点及缺点。
✈【学生】讨论、总结、回答
✈【教师】总结学生的回答
条件表达式有以下三个特点。
(1)条件运算符的优先级低于算术运算符、关系运算符和逻辑运算符,仅高于赋值运算符和逗号运算符。
(2)条件运算符的结合方向为从右到左,当有条件运算符嵌套时,按照从右到左的顺序依次运算。例如,当a等于1,b等于2时,条件表达式:
a<b?(c=3):a>b?(c=4):(c=5)
【课堂问答】
✈【教师】随机邀请学生回答以下问题
请同学们根据上述条件表达式,思考变量c的值是多少,并说明条件表达式运行过程。
✈【学生】聆听、思考、回答
✈【教师】总结学生的回答
该表达式的值为3,变量c的值也为3。运行过程如下:首先计算表达式a>b?(c=4):(c=5),因为a>b为假,所以这一条件表达式的结果为5,此时c=5;接着计算a<b?(c=3):5,因为a<b为真,所以这一条件表达式的结果为3,此时c=3。
(3)条件表达式中,表达式1一般为关系表达式,表达式2和表达式3可以是数值表达式,也可以是赋值表达式或函数表达式等。例如:
a>b?printf("%d",a):printf("%d",b)
【课堂练习】
✈【教师】出示【例3-6】,组织学生编写代码
输入某同学某门课程的成绩,判断该同学是否通过考试,输出判断结果。
✈【学生】编写程序、运行、对比结果
✈【教师】解析例题
判断某同学是否通过考试,设成绩变量为score,判断score>=60是否成立,若成立,则输出“恭喜通过!”;否则输出“很遗憾,没有通过!”。
……(参考程序详见教材)
【运行结果】程序运行结果如图3-11所示(详见教材)
✈素养之窗
在漫长的人生中,我们要进行各种选择,选择前要深思熟虑,以保证结果的正确。在选择结构程序设计中,我们也要进行各种选择,要根据具体应用场景,确定合适的选择结构,以保证程序达到最优结果。
二、switch语句
✈【教师】多媒体播放“switch语句”视频(详见教材),让学生了解switch语句的语法格式
在日常编程中,常常要把表达式和一系列值进行比较,从中找出匹配的值。在这种情况下,除可以用嵌套的if语句外,还可以用switch语句。switch语句往往比嵌套的if语句更容易阅读。switch语句的一般形式如下。
switch(表达式)
{
case 常量表达式1:[语句1]
case 常量表达式2:[语句2]
…
case 常量表达式n:[语句n]
[default:语句n+1]
}
其中,switch后表达式的值和case后常量表达式的值可以是整型、字符型、枚举型,但不能是浮点型;方括号括起来的内容是可选项