中职C语言教案:分支程序设计(全3课时)

资源下载
  1. 二一教育资源

中职C语言教案:分支程序设计(全3课时)

资源简介

备课组别 计算机 上课 日期 主备 教师 授课教师
课题 分支程序设计(1)
教学 目标 熟悉各个分支语句结构
完成复习题练习
熟悉考题题型
重点 掌握if/if…else语句执行过程
难点 学会用if/if…else语句编写程序
教法 讲授法、案例教学法、讨论法
教学设备 黑板 计算机 网络机房
教学 环节 教学活动内容及组织过程 个案补充
教 学 内 容 复习导入 分析程序,写出运行结果: #include main(){char str1,str2; scanf("%c%c",&str1,&str2); printf("\n%c %c\n",str1,str2); } 程序运行时,若输入abc↙ 内容设计 一、if语句 1.语句格式: if (表达式) 语句 其中“表达式”一般为逻辑表达或关系表达式,可以是任意的数据类型。例如, ①if (a>b&&a>c) printf("%d\n ",a); 其中的表达式是逻辑表达式。 ②if ('a ') printf("%d\n ", 'a'); 其中的表达式是字符表达式。 ③if (3.8) printf("%d\n ", 'a'); 其中的表达式是实型表达式。 2.语句执行流程 系统首先判断表达式的值,如果为非0(真),则执行表达式后跟的语句,然后执行本if语句的后续语句;如果为0(假),则不执行表达式后跟的语句,直接执行本if语句后续语句。 3.程序举例 例1、编写程序,从键盘输入两个整数,分别送给变量a和b,比较a、b的大小,如果a>b输出字符串“yes”,否则什么也不输出。 【分析】根据程序设计的“三步曲”,解决本问题的流程图如图所示。 (
a>b
printf(
"
yes
"
)


定义
a,b
,并赋值
程序结束
) 源程序如下: main( ) {int a,b; scanf("%d,%d",&a,&b); if (a>b) printf("yes");} 例2、输入一个成绩,如果大于60分,则显示“通过!”,否则不显示。 程序如下: #include main() {int score; printf("输入一个成绩:"); scanf("%d",&score); if(score>=60) printf("通过!\n");} 二、 if…else语句 1.语句格式 if (表达式) 语句1;else 语句2; 其中“表达式”同第一种形式一样。例如, if (a>b) printf("%d\n ",a);else printf("%d\n ", b); 2.语句执行流程 系统首先判断表达式的值,如果为非0(真),则执行语句1,然后执行本if语句的后续语句;如果为0(假),则语句2,然后执行本if语句的后续语句。 3.程序举例 例1、编写程序,从键盘输入两个整数,分别送给变量a和b,比较a、b的大小,如果a>b输出字符串"yes",否则输出字符串"no"。 【分析】根据程序设计的“三步曲”,解决本问题的流程图如图所示。 (


定义
a,b
,并赋值
程序结束
a>b
printf(
"
yes
"
)
printf(
"
no
"
)
) 源程序如下: #include main( ) {int a,b; scanf("%d,%d",&a,&b); if (a>b) printf("yes"); else printf("no")} 例2、输入一个成绩,如果大于60分,则显示“通过!”,否则不显示。 程序如下: #include main() {int score; printf("输入一个成绩:"); scanf("%d",&score); if(score>=60) printf("通过!\n"); else printf("未通过,继续努力\n"); } 拓展作业
板 书 设 计 分支语句结构 一、if语句 二、 if…else语句
教 后 札 记
江苏省XY中等专业学校2021-2022-2教案 编号:
备课组别 计算机 上课 日期 主备 教师 授课教师
课题 分支程序设计(2)
教学 目标 熟悉if分支语句嵌套结构
完成复习题练习
熟悉考题题型
重点 掌握if语句的嵌套执行过程
难点 学会用if语句的嵌套编写程序
教法 讲授法、案例教学法、讨论法
教学设备 黑板 计算机 网络机房
教学 环节 教学活动内容及组织过程 个案补充
教 学 内 容 复习导入 分析程序,写出运行结果: #include main() {int a=9,b=8,c=7; if(a>c) {a=b;b=c;c=a;} else a=c;c=b;b=a; printf("%d,%d,%d",a,b,c);} 内容设计 一、if语句的嵌套 if语句的嵌套是if…else语句形式的拓展,如果if…else语句中的语句1、语句2,有一个或者两个又是一条if语句(即if语句的嵌套),就构成了if语句的嵌套 1、基本形式 if (表达式1) 语句1 else if (表达式2) 语句2 else 语句3 也就是将if…else语句中的语句2,换成一条if语句。 2、它的执行流程 (

表达式
1



……
语句
1
语句
2
语句
3
语句
n-1
语句
n
表达式
3
)  3、if语句嵌套举例 例1、 有一函数: -1 (x<0) y= 0 (x=0) 1 (x>0) 编一程序,输入一个x值,输出y值。 #include main ( ) { int x,y; scanf ("%d",&x); if (x<0) y=-1; else if (x= =0) y=0; else y=1; printf ("x=%d,y=%d\n",x,y); } 例2、(课本41页例题) #include main() {float x,y; printf("请输入x的值:"); scanf("%f",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-10; printf("y=%.2f\n",y);} 例3、分析写结果 #include main() { int n; n=12; if(n>5) if(n<11) printf("RIGHT!RIGHT!"); else printf("LEFT!LEFT!");} 二、条件表达式 条件运算符由两个符号“?”和“:”组成,要求有3个操作对象,称三目(元)运算符,它是C语言中唯一的三目运算符。条件表达式的格式为: 表达式1?表达式2:表达式3 min=(a0 1:x<0 -1:0等效于x>0 1:(x<0 -1:0) (5)表达式1、表达式2和表达式3的类型可以不同,此时条件表达式的值的类型为它们中较高的类型。 例1、输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。 main ( ) { char ch; printf ("Please enter a charcter:\n"); scanf ("%c",&ch); ch=(ch>= A &&ch<= Z ) (ch+32):ch; printf ("%c",ch);} 程序运行结果: 拓展作业
板书 设计 分支结构 一、if语句的嵌套 二、条件表达式
教 后 札 记
江苏省XY中等专业学校2021-2022-2教案 编号:
备课组别 计算机 上课 日期 主备 教师 授课教师
课题 分支程序设计(3)
教学 目标 掌握switch语句的格式
完成复习题练习
熟悉考题题型
重点 掌握switch语句的执行过程
难点 会运用switch语句解决实际问题
教法 讲授法、案例教学法、讨论法
教学设备 黑板 计算机 网络机房
教学 环节 教学活动内容及组织过程 个案补充
教 学 内 容 复习导入 试写程序:课本50页第八编程题附程序如下: #include main() { int x; float y,z; printf("请输入图书的数量与单价:"); scanf("%d,%f",&x,&y); z=x*y; if(x<=10) z=z*0.9; else if(x<=100) z=z*0.85; else z=z*0.8; printf("x=%d,y=%f,z=%.2f",x,y,z); } 内容设计 一、多分支switch语句 1、格式: switch (表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 … case 常量表达式n:语句n default:语句n+1 } 其中default和语句n+1可以同时省略。 说明:(1)switch的表达式通常是一个整型或字符型变量,也允许是枚举型变量,其结果为相应的整数、字符或枚举常量。case后的常量表达式必须是与表达式对应一致的整数、字符或枚举常量。 (2) switch语句中所有case后面的常量表达式的值都必须互不相同。 (3)switch语句中的case和default的出现次序是任意 (4)由于switch语句中的“case常量表达式”只是起语句标号的作用,而不起条件判断作用,即“只是开始执行处的入口标号”。 可以用一个break语句来终止switch。 2、执行流程 switch语句的执行过程是:首先对switch语句括号中的表达式进行计算,得到一个值。然后程序用这个值从上至下依次与各个case后的常量表达式进行比较,如果找到相匹配的常量表达式,就以此为入口,将程序转移到这个入口的第一条语句处,再顺序往下执行。若没有相匹配的常量表达式,如果switch语句中存在default:,那么程序就转到此处 将上面的switch结构改写如下: switch(grade) { case A :printf ("85~100\n");break; case B :printf ("70~84\n");break; case C :printf ("60~69\n");break; case D :printf ("<60\n");break; default:printf ("error\n"); } 最后一个分支(default)可以不加break语句。如果grade的值为 B ,则只输出"70~84"。 (5)每个case的后面既可以是一个语句,也可以是多个语句,当是多个语句的时候,也不需要用花括号括起来。 (6)多个case的后面可以共用一组执行语句,如: switch (n) { case 1: case 2: x=10; break; ┇} 它表示当n=1或n=2时,都执行下面两个语句: x=10; break; 3、例题分析 (1)#include "stdio.h" main() { char grade; printf("请输入成绩等级(A、B、C、D):"); grade=getchar(); switch(grade) { case 'A': case 'B': case 'C': printf("及格\n"); break; case 'D': printf("不及格\n"); break; default: printf("输入数据错误\n");}} 运行结果: 请输入成绩等级:B 及格 (2)#include main() {int x=1,y=0; switch(x) {case 1: switch(y) {case 0:printf("**1**\n");break; case 1:printf("**2**\n");break;} case 2:printf("**3**\n");} } 运行结果: **1** **3** 拓展作业
板书 设计 分支程序设计 一、多分支switch语句 二、例题
教 后 札 记

展开更多......

收起↑

资源预览