1 / 22

第 5 章 选择结构程序设计

本章主要任务: ( 1 )掌握关系运算与逻辑运算。 ( 2 )掌握 IF 语句和 Select Case 语句的使用。 ( 3 )掌握选择结构的嵌套应用。. 第 5 章 选择结构程序设计. 5.1 关系运算符与关系表达式. 运算符. 含义. 优先级. 实例. 结果. <. 小于. 所有关系运算优先级相同。低于算术运算的加“ +” ,减“ -” 运算,高于逻辑非“ Not” 运算。. 15+10<20. False. <=. 小于或等于. 10<=20. True. >. 大于. 10>20. False. >=.

adem
Download Presentation

第 5 章 选择结构程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 5.1 关系运算符与关系表达式 运算符 含义 优先级 实例 结果 < 小于 所有关系运算优先级相同。低于算术运算的加“+”,减“-”运算,高于逻辑非“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 对象比较 5.1 运算符和表达式 比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。 VB中的关系运算符如下表所示。

  3. 5.1 运算符和表达式 关系运算的规则如下: (1)当两个操作式均为数值型,按数值大小比较。 (2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。 例: " ABCDE " > " ABRA " 结果为 False (3)数值型与可转换为数值型的数据比较, 如:29>"189" ,按数值比较,结果为False。 (4)数值型与不能转换成数值型的字符型比较, 如:77>" sdcd" ,不能比较,系统出错。 (5)“Like”运算符是VB6.0新增加的。 其使用格式为:str1 Like str2

  4. 5.1.2 逻辑运算符与逻辑表达式 逻辑运算符:Not,And,Or Xor Eqv Imp 5.1 运算符和表达式

  5. 5.1 运算符和表达式 说 明: (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

  6. 5.1 运算符和表达式 例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科: 写成条件VB的表达式: 年龄<=39 性别=“女” 学历=“专科” 学历=“本科” Or And ( ) And

  7. 5.2.1 单分支If…Then语句 If <表达式> Then 语句块 End If 或If <表达式> Then <语句> 5.2 IF条件语句 例:已知两个数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

  8. 5.2.2 双分支结构If…Then…Else语句 If <表达式> Then <语句块1> Else <语句块2> End If If <表达式> Then <语句1> Else <语句2> 5.2 IF条件语句 双分支选择结构执行过程

  9. 5.2 IF条件语句 例如:输出x,y两个中值较大的一个值。 IF X>Y Then Print X Else Print Y End If 也可以写成如下的单行形式: IF X>Y Then Print X Else Print Y

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

  11. 5.2.4 多分支结构If…Then…ElseIf语句 形式: If <表达式1> Then <语句块1> ElseIf <表达式2>Then <语句块2> … [Else 语句块 n+1 ] End If 5.2 IF条件语句 执行过程

  12. 5.2 IF条件语句 例5-2:输入一学生成绩,评定其等级。方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以为“不合格” 使用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

  13. 5.3.1 Select Case语句(情况语句) 形式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 … [Case Else 语句块n+1] End Select 5.3 多分支选择语句……Select语句 数值型或字符串表达式

  14. 说明: <表达式列表>:与<变量或表达式>同类型的下面四种形式之一: 表达式 A +5 一组枚举表达式(用逗号分隔)2, 4, 6, 8 表达式1 To 表达式2 60 to 100 Is 关系运算符表达式Is < 60 5.3 多分支选择语句……Select语句

  15. 5.3 多分支选择语句……Select语句 例如:将例5-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

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

  17. 5.3 多分支选择语句……Select语句 5.3.2 Choose函数 例如:根据Nop的值,得到+、-、*,/的运算符,可由理面语句来实现。 Nop= Int(Rnd * 4)+ 1 OP= Choose(Nop, "+", "-", "*", "/") 此问题如果使用Select Case….End Select语句,则程序结构将复杂得多。

  18. 5.3 多分支选择语句……Select语句 5.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

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

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

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

  22. 本章作业 教材: Pg.98

More Related