公 开 课 教 案
郭建新
C语言教学设计
分支选择结构(switch语句)
课 题:分支选择结构(switch 语句)
教学目标:
1知识目标:
2力目标:
3德育目标:
教法:
教学重点:switch 语句般形式应
教学难点:switch 语句应
课型:新授课
课时:1课时(40分钟)
教学程:
1导言:前面学if 语句基功实现两分支选择解决实际问题时需分支选择然if语句规嵌套实现分支选择够直观简洁特分支较情况if 语句嵌套层次会更深增加理解难度便修改扩充C 语言提供实现分支选择 switch 语句解决分支选择问题
2引入新课
(1)语句格式 :
switch(表达式)
{ case 常量表达式1 语句组1 break
case 常量表达式2 语句组2 break
… …
case 常量表达式n 语句组n break
default 语句组n+1
}
(二)语句说明 :
1 执行程:计算表达式值然次case 中常量表达式值进行较旦发现某匹配值执行该 case 面语句组直执行break 语句止 没匹配值执行 default 面语句组
switch
表达式
语句组1
语句组2
语句组n
语句组
…
E 1
E 2
En
default
case
2表达式 整型字符型枚举型等表达式表达式结果值定整数
3常量表达式 整数字符等常量
4语句组 条语句复合语句构成
5求 switch 面表达式值类型必须case 常量表达式类型相
(三)应举例:
例 1 switch(score)
{ case 5 printf(Very good)
case 4 printf(Good)
case 3 printf(Pass)
case 2 printf(Fail)
default printf(data error)
}
运行结果:score5时输出:
Very good Good Pass Fail data error
例子(2) 根输入字母输出字符串
#include
main()
{ int c
printf(Enter m or n or h or other)
cgetchar()
switch(c)
{ case 'm' printf(\nGood morning\n)break
case 'n' printf(\nGood night\n) break
case 'h' printf(\nHello\n) break
default printf(\n\n) break
}
}
例1请编写程序根输入学生成绩应出相应等级
90 100 A 80 89 B 70 79 C 60 69 D 0 60 E
main()
{ int g
scanf(d\n &g)
switch(g10)
{ case 10
case 9 printf(A\n) break
case 8 printf(B\n) break
case 7 printf(C\n) break
case 6 printf(D\n) break
default printf(E\n)
}
}
例2:请编制完成两数四运算程序(输入数值保留两位数)
main()
{ float xy char op
scanf(fcf&x&op&y)
switch(op)
{ case +’ printf( 2f c 2f 4f\nxopyx+y) break
case-’ printf( 2f c 2f 4f\nxopyxy) break
case*’ printf( 2f c 2f 4f\nxopyx*y) break
case if(y0) printf(数错误\n)
else printf( 2f c 2f 4f\nxop yxy)
}
}
巩固练:请语句改写成 switch 语句
if (a<30) m1
else if (a<40) m2
else if (a<50) m3
else if (a<60) m4
else m5
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档