第 4 章 选择结构程序设计

22
浙浙浙浙浙浙浙浙浙浙浙浙浙浙浙浙浙浙www.Goit.Net 目目 4.1 4.2 4.3 4.4 目目目目 目目 1 浙4浙 浙浙浙浙浙浙浙浙 浙浙浙浙浙浙1 浙浙浙浙浙浙浙浙浙浙浙浙 )。 2 浙浙 IF 浙浙浙 Select Case 浙浙浙浙浙3 浙浙浙浙浙浙浙浙浙浙浙浙 )。

description

本章主要任务: ( 1 )掌握关系运算与逻辑运算。 ( 2 )掌握 IF 语句和 Select Case 语句的使用。 ( 3 )掌握选择结构的嵌套应用。. 第 4 章 选择结构程序设计. 4.1.1 关系运算符与关系表达式. 运算符. 含义. 优先级. 实例. 结果.

Transcript of 第 4 章 选择结构程序设计

Page 1: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 1

第 4 章 选择结构程序设计

本章主要任务: ( 1 )掌握关系运算与逻辑运算。 ( 2 )掌握 IF 语句和 Select Case 语句的使用。 ( 3 )掌握选择结构的嵌套应用。

Page 2: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 2

4.1.1 关系运算符与关系表达式 比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为 True ,若关系不成立,结果为 False 。 VB 中的关系运算符如下表所示。 运算符 含义 优先级 实例 结果

< 小于 所有关系运算优先级相同。低于算术运算的加“ +” ,减“ -” 运算,高于逻辑非“ Not” 运算。

15+10<20 False

<= 小于或等于 10<=20 True

> 大于 10>20 False

>= 大于或等于 "This">= "That" True

= 等于 "This"= "That" False

<> 不等于 "This"<> "That" True

Like 字符串匹配 "This" Like "*is" True

Is 对象比较    

4.1 运算符和表达式

Page 3: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 3

关系运算的规则如下: ( 1 )当两个操作式均为数值型,按数值大小比较。 ( 2 )字符串比较 , 则按字符的 ASCII 码值从左到右一一比较 , 直到出现不同的字符为止 . 。

例: " ABCDE " > " ABRA " 结果为 False

( 3 )数值型与可转换为数值型的数据比较, 如: 29>"189" ,按数值比较,结果为 False 。( 4 )数值型与不能转换成数值型的字符型比较, 如: 77>" sdcd" ,不能比较,系统出错。( 5 )“ Like” 运算符是 VB6.0 新增加的。 其使用格式为: str1 Like str2

4.1 运算符和表达式

Page 4: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 4

4.1.2 逻辑运算符与逻辑表达式 逻辑运算符: Not , And , Or Xor Eqv Imp

4.1 运算符和表达式

Page 5: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 5

说 明: ( 1 )逻辑运算符的优先级不相同, Not (逻辑非)最高,但它低于关系运算, Imp (逻辑蕴含)最低。 ( 2 ) VB 中常用的逻辑运算符是 Not 、 And 和 Or 。它们用于将多个关系表达式进行逻辑判断。例如: 数学上表示某个数在某个区域时用表达式: 10≤X<20

用 VB 程序中应写成: X>=10 And X<20

如果写成如下形式将是错误的: 10<=x<20 或 10<=x Or x<20

4.1 运算符和表达式

Page 6: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 6

例:用人单位招聘秘书:年龄小于 40 岁,女性,学历专科或本科: 写成条件 VB 的表达式:

年龄 <=39 性别 =“ 女” 学历 =“ 专科” 学历 =“ 本科”

4.1 运算符和表达式

And OrAnd( )

Page 7: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 7

4.2.1 单分支 If…Then 语句 If < 表达式 > Then

语句块 End If

或 If < 表达式 > Then < 语句 >

例 : 已知两个数 x和 y,比较它们的大小, 使得 x 大于 y.

If x<y Then

t=x : x=y: y=t

End If

或 If x<y Then t=x: x=y: y=t

4.2 IF 条件语句

Page 8: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 8

4.2.2 双分支结构 If…Then…Else 语句 If < 表达式 > Then < 语句块 1> Else < 语句块 2> End If

If < 表达式 > Then < 语句 1> Else < 语句 2>

双分支选择结构执行过程

4.2 IF 条件语句

Page 9: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 9

例如:输出 x,y 两个中值较大的一个值。IF X>Y Then Print XElse Print YEnd If也可以写成如下的单行形式: IF X>Y Then Print X Else Print Y

4.2 IF 条件语句

例 4-1 设计一个求解一元二次方程的程序,要求考虑实根、虚根等情况。 Pg.82

Page 10: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 10

IIf 函数可用来执行简单的条件判断操作,它相当于 IF…

Then….Else 结构。 IIF 函数的使用格式: IIF ( < 表达式 > , < 表达式 1> , < 表达式 2> )说明: ( 1 ) < 表达式 > 与 IF 语句中的表达式相同,通常是关系表达式、逻辑表达式,也可为算术表达式。如果是算术表达式,其值按非 0 为 True , 0 为 False 进行判断。 ( 2 )当 < 表达式 > 为真时,函数返回 < 表达式 1> 的值,当 < 表达式 > 为假时,函数返回 < 表达式 2> 的值。 ( 3 ) < 表达式 1> 、 < 表达式 2> 可以是任何表达式。

4.2.3 IIF 函数

4.2 IF 条件语句

Page 11: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 11

4.2.4 多分支结构 If…Then…ElseIf 语句

形式 : If < 表达式 1> Then

< 语句块 1> ElseIf < 表达式 2>Then

< 语句块 2> …

[Else 语句块 n+1 ]

End If执行过程

4.2 IF 条件语句

Page 12: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 12

使用 IF 语句实现的程序段如下:If x>=90 then Print " 优秀 "ElseIf x>=80 Then Print " 良好 " ElseIf x>=70 Then Print " 中等 " ElseIf x>=60 Then Print " 及格 " Else Print " 不及格 "End If

例 4-2 :输入一学生成绩,评定其等级。方法是: 90~100分为“优秀”, 80~89 分为“良好”, 70~79 分为“中等”,60~69 分为“及格”, 60 分以为“不合格”

4.2 IF 条件语句

Page 13: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 13

4.3.1 Select Case 语句(情况语句)形式:

Select Case 变量或表达式Case 表达式列表 1

语句块 1Case 表达式列表 2

语句块 2…

[Case Else语句块 n+1]

End Select

数值型或字符串表达式

4.3 多分支选择语句…… Select 语句

Page 14: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 14

说明: < 表达式列表 > :与 < 变量或表达式 > 同类

型的下面四种形式之一: 表达式 A +5

一组枚举表达式 ( 用逗号分隔 ) 2, 4, 6, 8

表达式 1 To 表达式 2 60 to 100

Is 关系运算符表达式 Is < 60

4.3 多分支选择语句…… Select 语句

Page 15: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 15

例如:将例 4-2 使用 select case….. 语句来实现的程序段如下:Select Case x Case 90 to 100 Print " 优秀 " Case 80 to 89 Print " 良好 " Case 70 to 79 Print " 中等 " Case 60 to 69 Print " 及格 " Case Else Print " 不及格 "End Select

4.3 多分支选择语句…… Select 语句

Page 16: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 16

4.3.2 Choose 函数使用 Choose 函数可使用简单的 Select Case….End Select 语句的功能。 Choose 函数使用格式:Choose ( < 数值表达式 > , < 表达式 1> , < 表达式 2> ,… . < 表达式 n> )说明:( 1 ) Choose 函数根据 < 数值表达式 > 的值来决定返回其后< 表达式列表 > 中的那个表达式的值。如果 < 数值表达式 > 的值为 1 ,则返回 < 表达式 1> 的值,如果 < 数值表达式 > 的值为 2 ,则返回 < 表达式 2> 的值,以此类推。若 < 数值表达式> 的值小于 1 或大于 n ,则函数返回 Null 。 ( 2 ) < 数值表达式 > 一般为整数表达式,如果是实数表达式,则将自动截断取整。

4.3 多分支选择语句…… Select 语句

Page 17: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 17

4.3.2 Choose 函数

例如:根据 Nop 的值,得到 + 、 - 、 * , / 的运算符,可由理面语句来实现。Nop= Int ( Rnd * 4 ) + 1

OP= Choose ( Nop, "+", "-", "*", "/" )此问题如果使用 Select Case….End Select 语句,则程序结构将复杂得多。

4.3 多分支选择语句…… Select 语句

Page 18: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 18

4.3.3 选择结构的嵌套下面是两种正确的嵌套形式:( 1 ) IF < 条件 1> Then ….. IF < 条件 2> Then …… Else ….. End If …. Else …. IF < 条件 3> Then ….. Else ….. End If ….. End IF

( 2 )IF < 条件 1> Then ….. Select Case … Case …… IF < 条件 2> Then …… Else ….. End If …… Case…. ….. End Select ….End IF

4.3 多分支选择语句…… Select 语句

Page 19: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 19

注意:只要在一个分支内嵌套,不出现交叉,满足结构规则,其嵌套的形式将有很多种,嵌套层次也可以任意多。对于多层 IF 嵌套结构中,要特别注意 IF 与 Else 的配对关系,一个 Else必须与 IF配结,配对的原则是:在写含有多层嵌套的程序时,建议使用缩进对齐方式,这样容易阅读和维护。

4.3 多分支选择语句…… Select 语句

例如:下面程序段 2 个 Else 语句的配对关系。IF x>=0 Then If x=10 Then y=10*x+5 y=10/y+2 Else y=5*x-8 End if Else Y=x*xEnd IF

Page 20: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 20

例 4-3 设计一个用户身份验证程序,运行界面如下图所示。

4.4 应用举例

例 4-4 建立一个类似彩票对奖的程序,程序运行界面如图 4-7 所示。当对奖者在文本框输入一个 7 位数值,将这个数据与用 Rnd产生的随机数进行比较,根据比较结果来决定其获奖项的等级,并在图形框中给出结果。中奖情况假设为:全部相同为一等奖,后六位相同为二等奖,后五位相同三等奖…最后一位相同为尾奖。

Page 21: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 21

本章小结 在 Visual Basic 程序设计中,实现选择结构的语句是: IF…Else…End If 语句,它有多种使用形式。 Select Case …..End Select 语句。 它们的特点是:根据所给定的条件成立(为 True )或不成立(为 False ),而决定从各实际可能的不同分支中执行某一分支的相应程序块,在任何情况下总有:“无论条件多寡,必择其一;虽然条件众多,仅选其一”的特性。使用选择结构要注意以下几个方面的问题。

对于多重选择,使用 IF 语句的嵌套时,一定要注意到IF 与 Else 的配对关系。 使用选择结构时要注意防止出现“死语句”,即永远也不可能执行的语句。

Page 22: 第 4 章  选择结构程序设计

浙江科技学院教信系计算机基础教学网站: www.Goit.Net目录 4.1 4.2 4.3 4.4 本章小结 作业 22

本章作业

教材 : Pg.98