04选择结构程序设计.docVIP

  • 3
  • 0
  • 约1.09万字
  • 约 17页
  • 2017-02-12 发布于重庆
  • 举报
04选择结构程序设计

04 选择结构程序设计 教学目标 1. 掌握关系运算符和关系表达式 2. 掌握逻辑运算符和逻辑表达式 3. 掌握用 if 语句实现选择结构 4. 掌握用 switch 语句实现多分支选择结构 5. 掌握选择结构的嵌套 教学 重难点 1. 用 if 语句实现选择结构 2. 用 switch 语句实现多分支选择结构 3. 选择结构的嵌套 4.1 关系运算符和关系表达式   关系运算实际上是“比较运算”,将两个值进行比较,判断其比较的结果是否符合给定的条件。 4.1.1 关系运算符及其优先次序   C 语言提供6种关系运算符:   ① (小于)   ② =(小于或等于)   ③ (大于)   ④ =(大于或等于)   ⑤ ==(等于)   ⑥ !=(不等于)   优先次序:   ⑴前4种关系运算符优先级别相同,后两种也相同。前4种高于后2种。   ⑵关系运算符的优先级低于算术运算符。   ⑶关系运算符的优先级高于赋值运算符。 4.1.2 关系表达式   用关系运算符将两个表达式连接起来的式子,称关系表达式。   关系表达式的值是一个逻辑值,即“真”或“假”。例如,关系表达式“5 == 3”的值为“假”,“5 = 0”的值为“真”。C 语言没有逻辑型数据,以“1”代表“真”,以“0”代表“假”。例如,a = 3,b = 2,C = 1,则:   关系表达式“a b”的值为“真”,表达式的值为1;   关系表达式“(a b)== c”的值为“真”(因为 a b 的值为1,等于 c 的值),表达式的值为1;   关系表达式“b + c a”的值为“假”,表达式的值为0。 4.2 逻辑运算符和逻辑表达式 4.2.1 逻辑运算符及其优先次序   C 语言提供三种逻辑运算符:   ⑴  逻辑与   ⑵ || 逻辑或   ⑶ ! 逻辑非   “”和“||”是“双目(元)运算符”,它要求有两个运算量(操作数),“!”是“一目(元)运算符”。   逻辑运算举例如下:   a b 若 a, b 为真,则 a b 为真;   a || b 若 a, b 之一为真,则 a || b 为真;   !a 若 a 为真,则 !a 为假。   逻辑运算符优先级:   ⑴ ! → → ,即“!”为三者中最高的;   ⑵ 逻辑运算符中的“”和“||”低于关系运算符,“!”高于算术运算符。 4.2.2 逻辑表达式   用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。   逻辑表达式的值应该是一个逻辑量“真”或“假”。C 语言编译系统在给出逻辑运算结果时,以数值“1”代表“真”,以“0”代表“假”,但在判断一个量是否为“真”时,以“0”代表“假”,以“非0”代表“真”。即将一个“非0”的数值认为“真”。例如:   ⑴若 a = 4,则 !a 的值为0;   ⑵若 a = 4, b = 5,则 a b 的值为1;   ⑶ a, b 值同前,a || b 的值为1;   ⑷ a, b 值同前,!a || b 的值为1;   ⑸ 4 0 || 2 的值为1。   逻辑运算符两侧的运算对象不但可以是“0”和“1”,或者是“0”和“非0”的整数,也可以是任何类型的数据。可以是字符型、实型或指针型等。系统最终以“0”和“非0”来判定它们属于“真”或“假”。   在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。例如:   ⑴ a b c 只有 a 为真(非0)时,才需要判别 b 的值,只有 a 和 b 都为真的情况下才需要判别 c 的值。只要 a 为假,就不必判别 b 和 c(此时整个表达式已确定为假)。如果 a 为真,b 为假,不判别 c。见图 4.3。 图4.3 逻辑与表达式 图4.4 逻辑或表达式   ⑵ a || b || c 只要 a 为真(非0),就不必判断 b 和 c,只有 a 为假,才判别 b;a 和 b 都为假才判别 c。见图 4.4。   对“”运算符来说,只有 a ≠ 0,才继续进行右面的运算。对“||”运算符来说,只有 a = 0,才继续进行其右面的运算。因此,如果有下面的逻辑表达式: (m = a b) (n = c d)   当 a = 1, b = 2, c = 3, d = 4, m 和 n 的原值为1时,由于“a b”的值为0,因此 m = 0,而“n = c d”不被执行,因此 n 的值不是0而仍保持原值1。 4.3 if 语句   if 语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。 4.3.1 if 语句的三种形式   C 语言提供了三种形式的 if 语句:   1.

文档评论(0)

1亿VIP精品文档

相关文档