第四讲 选择结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PROGRAM DESIGN IN C LANGUAGE
第四讲选择结构
Selection Structures
4.1 关系运算
Relational Calculation
4.2 if选择结构
if Selection Structure
4.3 if-else选择结构
if-else Selection Structure
4.4 逻辑运算
Logical Calculation
4.5 多重选择结构
Multiple-Selection Structure
关系运算
Relational Calculation
关系运算(比较运算)
•比较两个值,结果为“真”或“假”
•举例:a>3
•如果a=8,则结果为“真”
•如果a=1,则结果为“假”
用关系运算进行条件判断
•关系表达式表示一个条件,根据其结果判断条件是否满足•举例:a>3
•如果a=8,结果为“真”,即条件满足
•如果a=1,结果为“假”,即条件不满足
关系运算符
Relational Operators
运算符含义优先级结合性<小于6左结合
<=小于或等于
>大于
>=大于或等于
==等于7
!=不等于
Relational Expressions
关系表达式(Relational Expressions)<表达式1> <关系运算符> <表达式2>
•表达式1和表达式2可以是任何表达式
•举例
a>b
m+n<=20
c!=‘y’
(x>z)==(y>z)
Relational Expressions
关系表达式的值是一个逻辑值:“真”或“假”
•C语言没有逻辑类型,因此
•用整数1 表示“真”
•用整数0 表示“假”
•即关系表达式的值是整数1 或0
•举例
•若a=1,b=2,c=3
a>b
a+b<=c
(a>c)==(b>c)‘Y’!=‘y’0 1 1 1
关系表达式的使用
Use Of Relational Expressions
问题:写出下面各条件的关系表达式•x为不小于-5 的整数
•x为非零的数
•x的平方大于m与n的和
x>=-5
x!=0
x*x>(m+n)
The if Selection Structure
选择结构(Selection Structure)
•用于在可选择的几个操作之间进行选择
•伪代码语句举例
If student’s grade is greater than or equal to 60
Print “Passed”
•如果条件为真(学生分数大于等于60)
•那么就打印或显示“Passed”,然后程序按顺序执行下一条伪代码语句•如果条件为假
•就忽略打印或显示操作,顺序执行下一条伪代码语句
The if Selection Structure 选择结构是一个单入/单出结构
True
Print “Passed”
grade >= 60False
if Selection Structure
if (grade>=60)
printf(“Passed”);
条件判断
可以是任何表达式0(zero ):false
非0(nonzero ):true
The if-else Selection Structure
if Selection Structure
•只有在条件为真时,才会执行一个操作;否则就会跳过这个操作if-else Selection Structure
•条件为真时所执行的操作与条件为假时所执行的操作不同
•伪代码语句举例
If student’s grade is greater than or equal to 60
Print “Passed”
Else
Print “Failed”
The if-else Selection Structure if-else Selection Structure
•伪代码转换成C 代码
Print “Passed”True
Print “Failed”
grade >= 60
False
if-else Selection Structure
if (grade>=60)
printf(“Passed”);else
printf(“Failed”);
条件运算符
Conditional Operator
条件运算符:? :
•三目运算符
•右结合
条件表达式
•举例
printf(“%s”,(grade>=60)? “Passed”:“Failed”);
(grade>=60)?printf(“Passed”):printf(“Failed”);
嵌套选择结构
Nested Selection Structure
嵌套的if-else结构(Nested If-else Structure)•对多种情况进行测试
•伪代码语句举例
If 学生的分数大于等于90
打印“A”
else
If 学生的分数大于等于80
Print “B”
else
If 学生的分数大于等于70
Print “C”
else
If 学生的分数大于等于60
Print “D”
else
Print “E”