当前位置:
文档之家› C语言第5章 选择结构的程序设计PPT教学课件
C语言第5章 选择结构的程序设计PPT教学课件
开始
输入a,b,c
a<b?
F
T a与b交换
a<c?
F
T a与c交换
b<c?
F
T b与c交换
输出a,b,c
2020/12/10
结束
11
2.双分支if语句——if_else语句
格式:
if (<表达式>) 语句1
else
语句2
2020/12/10
12
2. if_else语句
功能:
T 语句1
表达式
F 语句2
2020/12/10
13
3. 多分支if语句
格式:
if (<表达式1>) 语句1 else if (<表达式2>) 语句2 else if (<表达式3>) 语句3
…... else if (<表达式n-1>) 语句n-1 else 语句n
2020/12/10
14
3. 多分支语句
功能: F 表达式1
(4)default一般出现在所有的case之后,也可以出现在 case之前或两个case语句之间。Default可以省略。
2020/12/10
23
5.2 switch语句
例1 用switch语句设计程序,实现输出学生成绩和 等级的功能。 分析:因为分数x为0~100分,则x/10的值为0,1,2, 3,4,5,6,7,8,9,10。
…… case <常量表达式n>:语句n default 语句n+1
}
2020/12/10
21
5.2 switch语句
功能:
首先计算<表达式>的值,然后依次与<常量表达式i> (i=1,2,…,n)比较,若表达式的值与<常量表达式j>相 等,则从<常量表达式j>处开始执行,这里就是执行的 入口,直到switch语句结束。若所有的<常量表达式i> (i=1,2,…,n)的值均不等于表达式的值,则从default处 开始执行。
2020/12/10
16
4. 控制条件的表示
在判断表达式时: 非0——True 0——False 而关系表达式或逻辑表达式的返回值: 1——True 0——False
2020/12/10
17
5. If语句的嵌套
在一个条件语句中包含有另一个条件语 句的结构,成为条件的嵌套。
2020/12/10
18
高级语言程序设计 (C语言)
2020/12/10
1
第五章 选择结构程序设计
2020/12/10
2
第五章 选择结构程序设计
5.1 if语句 5.2 switch语句 5.3 无条件转向语句
2020/12/10
3
5.1 if语句
1. 简单的if语句 2. 双分支if语句 3. 多分支if语句 4. 控制条件的表示 5. if语句的嵌套
2020/12/10
4
1. 简单的if语句
格式: if (<表达式>)语句
功能:
F 表达式
T 语句
2020/12/10
5
程序应用举例
例1 求给定整数的绝对值。 x x≥0
|x|= -x x<0
设:x——整数 y——x的绝对值
2020/12/10
6ห้องสมุดไป่ตู้
流程图:
开始
输入x y=x
F x<0?
T y=-x
输出x,y
结束
2020/12/10
7
程序应用举例
例2 求4个整数中的偶数之和。 设:a,b,c,d——4个整数。
s——偶数之和,作为累加器使用,先要清0。 分析:
偶数能被2整除,如果设x为整数,则有x%2=0,余 数为0。
2020/12/10
8
流程图:
2020/12/10
开始
输入a,b,c,d
s=0
2020/12/10
22
5.2 switch语句
说明:
(1)switch后面的<表达式>可以是任何表达式,取其 整数部分与<常量表达式>进行比较。
(2)<常量表达式>中不能出现变量,且类型必须是整 型、字符型或枚举型,各<常量表达式>互不相同。
(3)语句I可以是一条语句或多条语句,多条语句不必 用{ }将它们括起来。语句i处也可以没有语句,程序 执行时会自动向下顺序执行。
a%2==0?
F
T
s=s+a
b%2==0?
F
T s=s+b
c%2==0?
F
T
s=s+c
I
I
d%2==0?
F
T s=s+d
输出a,b,c,d,s 结束
9
程序应用举例
例3 已知a,b,c 3个整数,将3个数按从大到小的顺序排 列输出。 设: a,b,c ——3个整数。
2020/12/10
10
流程图:
条件嵌套应用举例
例1 求分段函数。(P90) x +1 x>0
y = x x=0 x-1 x<0
设:变量x,y——存放实型数。 首先判断x≥0,然后再判断x>0。
2020/12/10
19
条件嵌套应用举例
例2 从键盘上输入3个数,若这3个数能构成三角形的 三边长,则求这个三角形的面积,否则打印响应的错误信 息,当出现数据小于或等于0时,显示“数据无效!”; 当任意两边之和不大于第三边时,显示“不能构成三角形 !”
T 表达式2 T
语句1
语句2
F…
表达式n-1 F
T
… 语句n-1
语句n
2020/12/10
15
4. 控制条件的表示
控制条件通常用关系表达式或逻辑表 达式构造。
在判断<表达式>时,表达式中的非 0为True,0为False。而关系表达式或逻辑 表达式的返回值为1或0,1表示True, 0表示False。
面<表达式>的值找到响应的入口标号,就从此标号开始
一直执行下去,不再判断。
那么,如何终止switch语句的执行呢?C语言中提供
2020/12/10
25
的break语句可以做到这一点。
5.2 switch语句
格式: break;
功能: 终止它所在的switch语句的执行。
2020/12/10
26
5.3 无条件转向语句
分析:三个数能构成三角形的充分必要条件是:
(1)三个数均大于0。 (2)任意两边之和大于第三边。 设:a,b,c——三边长
p——中间变量,p=(a+b+c)/2 s——三角形面积
2020/12/10
20
5.2 switch语句
格式: switch(<变量名>) { case <常量表达式1>:语句1 case <常量表达式2>:语句2
2020/12/10
24
5.2 switch语句
分析结果:
第一行输出正确,后面7行输出是多余的,原因何在?
原因:
根据switch语句的功能,在执行完一个case后面的语
句后,流程控制转移到下一个case继续指向。“case < 常
量表达式>”只是起语句标号的作用,并不是在该处进行
条件判断。在执行switch语句时,计算机根据switch后