第4章 选择结构程序设计 选择结构程序设计,要解决两个问题: (1)选择条件如何表示:关系/逻辑表达式 (2)实现选择结构语句:if、switch语句 教学目的: 掌握关系和逻辑运算,if语句、switch语句,选 择结构程序设计。 2024/10/28 1
2024/10/28 1 第4章 选择结构程序设计 选择结构程序设计,要解决两个问题: (1)选择条件如何表示:关系/逻辑表达式 (2)实现选择结构语句: if、switch语句 教学目的: 掌握关系和逻辑运算,if语句、switch语句,选 择结构程序设计
教学内容: 4.1关系运算及其表达式 4.2逻辑运算及其表达式 4.3*if语句 4.4*switch语旬 4.5选择结构程序设计 本章要点 本章作业与上机实践 2024/10/28 2
2024/10/28 2 教学内容: 4.1 关系运算及其表达式 4.2 逻辑运算及其表达式 4.3* if语句 4.4* switch语句 4.5 选择结构程序设计 本章要点 本章作业与上机实践
4.1关系运算及其表达式 关系运算 一将两个数据进行比较,判定是否符 合给定的关系。 例如,“a>b”中的“>”,表示一个大于关系: ●如果a=5、b=3,则大于关系成立; 。如果a=2、b=3,则大于关系不成立。 2024/10/28 3
2024/10/28 3 4.1 关系运算及其表达式 关系运算——将两个数据进行比较,判定是否符 合给定的关系。 例如,“a > b”中的“>”,表示一个大于关系: ●如果a=5、b=3,则大于关系成立; ●如果a=2、b=3,则大于关系不成立
4.1.1关系运算符及其优先次序 1.关系运算符 (大于),>=(大于等于) ==(等于),!=(不等于) 不是“=” 2.与其它种类运算符的优先关系 算术运算符→关系运算符→赋值运算符 思考:在混合运算时,如何增强程序可读性(明 确运算的优先关系)? 2024/10/28 4
2024/10/28 4 4.1.1 关系运算符及其优先次序 1.关系运算符 (大于), >=(大于等于) ==(等于), !=(不等于) 2.与其它种类运算符的优先关系 算术运算符 → 关系运算符 → 赋值运算符 思考:在混合运算时,如何增强程序可读性(明 确运算的优先关系)? 不是 “=
4.1.2关系表达式 1.概念一用关系运算符,将两个表达式连接 起来的式子。 例如:a>b,'a>=b',a+b>c-d 2.关系表达式的值一逻辑真/逻辑假 ●如果关系成立,则表达式的值为逻辑真; ●如果关系不成立,侧表达式的值为逻辑假。 C语言没有逻辑型数据,用整数1表示“逻辑 真”,用整数0表示“逻辑假”。 2024/10/28 5
2024/10/28 5 4.1.2 关系表达式 1.概念——用关系运算符,将两个表达式连接 起来的式子。 例如:a > b,'a' >= 'b' ,a + b > c - d 2.关系表达式的值——逻辑真 / 逻辑假 ●如果关系成立,则表达式的值为逻辑真; ●如果关系不成立,则表达式的值为逻辑假。 C语言没有逻辑型数据,用整数1表示“逻辑 真” ,用整数0表示“逻辑假”
假设num1l=3,num2=4,num3=5,则: (1)numl num2 =0 (2)(numl>um2)!=um3:=1 (3)numl num2 num3 =1 思考:任意改变num1或num2的值,会影响整 个表达式的值吗?为什么? X∈(1,100):1<X<100? 返回] 2024/10/28 6
2024/10/28 6 假设num1=3,num2=4,num3=5,则: (1) num1 > num2 := 0 (2) (num1 > num2) != num3: = 1 (3) num1 < num2 < num3 := 1 思考:任意改变num1或num2的值,会影响整 个表达式的值吗?为什么? x∈(1,100):1<x<100 ? [返回]
4.2逻辑运算及其表达式 关系表达式只能描述单一条件。如果需要同时 描述多个条件时,就要借助于逻辑表达式。 4.2.1逻辑运算及其优先次序 1.逻辑运算符 &&:逻辑与(相当于“同时”) ‖:逻辑或(相当于“或者”) !:逻辑非(相当于“否定”) 例如:(x>=0)&&(x5),I(x==0), (year%4==0)&&(year%1001=0)l1(year%400==0) 2024/10/28
2024/10/28 7 4.2 逻辑运算及其表达式 关系表达式只能描述单一条件。如果需要同时 描述多个条件时,就要借助于逻辑表达式。 4.2.1 逻辑运算及其优先次序 1.逻辑运算符 &&:逻辑与(相当于“同时”) || :逻辑或(相当于“或者”) ! :逻辑非(相当于“否定”) 例如:(x>=0) && (x5) ,! (x= =0), (year%4= =0) && (year%100!=0) | | (year%400= =0)
2.运算规则 (1)&&:当且仅当两个运算对象的值都为“逻 辑真”时,结果为“逻辑真”,否则为“逻辑假”。 运算口诀:同时为真才为真,否则为假。 (2)‖:当且仅当两个运算对象的值都为“逻辑 假”时,结果为“逻辑假”,否则为“逻辑真”。 运算口诀:同时为假才为假,否则为真。 2024/10/28 8
2024/10/28 8 2. 运算规则 (1)&&:当且仅当两个运算对象的值都为“逻 辑真”时,结果为“逻辑真” ,否则为“逻辑假” 。 运算口诀:同时为真才为真,否则为假。 (2) || :当且仅当两个运算对象的值都为“逻辑 假”时,结果为“逻辑假” ,否则为“逻辑真” 。 运算口诀:同时为假才为假,否则为真
(3)!:当运算对象的值为“逻辑真”时,结果 为“逻辑假”;当运算对象的值为“逻辑假”时, 结果为“逻辑真”。 运算口诀:取反。 2024/10/28 9
2024/10/28 9 (3) ! :当运算对象的值为“逻辑真”时,结果 为“逻辑假”;当运算对象的值为“逻辑假”时, 结果为“逻辑真” 。 运算口诀:取反
4.2.2逻辑表达式 1.概念一用逻辑运算符,将若干表达式连接 起来的式子。 例如,逻辑表达式(year%4==0)&&(year%100!-0)川 (year%400==0),判断year是否闰年。 2.逻辑表达式的值—逻辑真/逻辑假 2024/10/28 10
2024/10/28 10 4.2.2 逻辑表达式 1. 概念——用逻辑运算符,将若干表达式连接 起来的式子。 例如,逻辑表达式(year%4= =0) && (year%100!=0) || (year%400= =0),判断year是否闰年。 2.逻辑表达式的值——逻辑真 /逻辑假