吴宪云 分支结构公开课

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言分支结构程序设计
——if 、switch语句
吴宪云
–2017/3/23
复习引入
程序的基本结构
顺序结构 分支结构 循环结构
–2
–2017/3/23
顺序结构
一个入口 A
C语言语句
B
一个出口
–3
–2017/3/23
分支结构
– 本节课学习内容:
No C语言语句 B 什么是分支结构呢?
条件 条件判断 A
Yes
–4
–2017/3/23
例:西电研究生学生宿舍分配:男生97号楼,女生 95号楼。
• 首先,判断是男生还是女生;
告诉他,你住97号楼
告诉她,你住95号楼
这就称为一个分支结构。
–5
–2017/3/23
复习引入
针对基本结构,各种程序语言都有各自对应的语句来 实现。
C中用来实现分支结构的语句

输入正整数X
X%2==0 真 输出“Yes“ 输出”No”
不是偶数就输出“No”
结束
是偶数则输出“Yes”
–17
–2017/3/23
根据流程图,写出程序代码
条件判断语句
当条件不满足时则 执行else下的语句
#include “stdio.h” main() { int x; scanf(“%d”,&x); if(x%2==0) printf(“Yes”); else printf(“No”); }
例:if 5>3(错误) if (5>3)(正确)
例:if (5) (正确) if(5||!0&&1) (正确)
if语句中的“表达式”必须用“(”和“)”括起来。 if语句中的“表达式”一般为关系或逻辑表达式,也可以为 数值类型的表达式。 “语句”可以是一条简单语句、空语句或复合语句,也可 以嵌套其它流程控制语句。
非0就执行下面的语句 为0就执行下一个判断 假 一直这样做下去 直到得出最后结果 假 真
表达式2

表达式3
语句1
语句2
语句3
语句4
–20
–2017/3/23
例:饭卡里有5元钱,可以去买一份盒饭; 如果有4元钱,只能买一份面条; 如果有3元钱,只能买一份稀饭和一个包子; 如果有1元钱,只能买一个馒头;没有钱,回家吃。
–18
–2017/3/23
3 多选条件语句
格 式:
if(<表达式1>) <语句块1> else if(<表达式2>) <语句块2> ……… else if(<表达式n-1>) <语句块n-1> else
<语ຫໍສະໝຸດ Baidu块n>
–19
–2017/3/23
3 多选条件语句
表达式1
真 假
• 执行过程:先判断表达式1的值
–10
–2017/3/23
语句
例:if (5>3) ;
空语句
if(5>3) 输出结果:1401014班:共110人。 { printf(“1401014班:”); 复合语句 printf(“共110人。”); }
–11
–2017/3/23
单选条件语句
• 执行过程:
a.首先先判断表达式的值
表达式

你来写一写……
–24
–2017/3/23
(二)switch语句
格式: switch(表达式) { case 常量1: <语句块2> [break;] case 常量2: <语句块2> [break;] … default: } 虽然用if语句可以解决多分支问题,但如果分支较多,嵌套的层次就 多,会使程序冗长、可读性降低。C语言提供了专门用于处理多分 支情况的语句—switch~case语句
5元
4元
3元
1元
0元
+
–21
–2017/3/23
有下列分段函数:
x+1
y= x2-5 x3
(x<0)
(0≤x<10) (x≥10)
编一程序,输入x,输出y的值。
流程分析:
(1)输入数据x ; (2)如果x<0则y=x+1;转到(5); (3)否则,如果x<10则输出y=x*x-5;转到(5); (4)否则,如果x>=10则输出y=x*x*x; (5)输出y的值。
if语句 switch语句
–6
–2017/3/23
本节内容
(一)if语句 1 单选条件语句 2 双选条件语句 3 多选条件语句 (二)switch语句 (三)本节课内容总结
(四)作业布置
–7
–2017/3/23
目 标
掌握if、switch语句格式、执行过程 能运用if、switch语句编写简单的程序
重、难点内容
分支语句的格式和使用
–8
–2017/3/23
(一)if 语句
根据给定的条件,决定执行几个分支程序段 中的某一个分支程序段。
if语句的三种形式:
单选条件语句 双选条件语句 多选条件语句
–9
–2017/3/23
1 单选条件语句
格式:
if(<表达式>)
<语句> 注意:
b.若为非0(真)则执行“语句”

c.若为0(假)则跳过 “语句”
语句
–12
–2017/3/23
例1:输入一个整数a, 如果该数为正数, 则输出该数。 开始
流程分析:
你来做一做 吧……
输入一个整数a
• (1) 输入一个整数a;
• (2) 如果a>0 则输出a 。
a>0 Y
输出a
N
结束
–13
–2017/3/23
应该怎么做呢? 大家想一想
–22
–2017/3/23
流程图
开始 输入一个数x x<0
真 假
y=x+1;
x<10


y=x*x-5; 输出y的值 结束
y= x*x*x;
–23
–2017/3/23
根据流程图,写出程序代码:
#include<stdio.h> void main() { float x,y; printf("请输入x:"); scanf("%f",&x); if(x<0) y=x+1; else if(x<10) y=x*x-5; else y=x*x*x; printf("y的值是:%f\n",y); }
–2017/3/23
双分支选择语句
• 执行过程:
a.首先先判断表达式的值 b.若为非0(真)则执行语句1 c.若为0(假)则执行语句2
表达式
真 假
语句1
语句2
–16
例:输入一个数X,判断其是否为偶数,是则输出“YES”,否则输出 “NO”.
–2017/3/23
开始
你来试试吧……
If(表达式) 其值有:真(非0)或假(0)
根据流程图,写出程序代码:
#include <stdio.h> main() { int a;
条件判断语句
scanf("%d",&a);
if (a>0)
printf(“%d",a); }
–14
–2017/3/23
2 双选条件语句
格式:
if(<表达式>) <语句块1> else
<语句块2>
–15
相关文档
最新文档