第4章 选择结构.ppt
第第4 4章章 选择结构选择结构本章内容:本章内容:本章内容:本章内容:关系表达式关系表达式关系表达式关系表达式 逻辑表达式逻辑表达式逻辑表达式逻辑表达式 IfIfIfIf语句语句语句语句 Select CaseSelect CaseSelect CaseSelect Case语句语句语句语句 框架框架框架框架 单选按钮单选按钮单选按钮单选按钮 复选框复选框复选框复选框4/25/202314.1 4.1 关系表达式关系表达式l在在程程序序中中经经常常需需要要描描述述数数据据之之间间的的关关系系并并进进行行判断,从而决定下一步应执行什么动作。判断,从而决定下一步应执行什么动作。l关关系系运运算算符符可可以以用用来来构构建建关关系系表表达达式式,以以描描述述和比较两个数据之间的大小关系。和比较两个数据之间的大小关系。4/25/20232Visual Basic程序设计简明教程4.1.1 4.1.1 关系运算符关系运算符lVB语言提供了语言提供了6个常用的关系运算符:个常用的关系运算符:、=、=、=和和(不等于),它们(不等于),它们都是双目运算符,优先级彼此相同。都是双目运算符,优先级彼此相同。l关系运算的结果显然是逻辑值,即关关系运算的结果显然是逻辑值,即关系成立为系成立为True,否则为,否则为False。4/25/20233Visual Basic程序设计简明教程说明说明:(1 1)关关系系运运算算符符的的操操作作数数可可以以是是数数值值、字字符符串串或或者者日日期期型型数数据据。一一般般要要求求两两边边的的操操作作数数类类型型一致。一致。(2 2)两两个个字字符符串串按按词词典典序序进进行行比比较较,即即都都从从各各自自的的第第一一个个字字符符开开始始,相相应应位位置置的的字字符符依依次次按按UnicodeUnicode码码比比较较大大小小,直直到到出出现现不不同同的的字字符符或或者者字字符串结束为止。符串结束为止。VBVB语语言言规规定定逻逻辑辑值值转转换换为为数数值值时时,-1-1代代表表TrueTrue,0 0代表代表FalseFalse。4/25/20234Visual Basic程序设计简明教程 4.1.2 4.1.2 关系表达式关系表达式用关系运算符连接起来进行关系运算用关系运算符连接起来进行关系运算的式子,称为关系表达式。的式子,称为关系表达式。如:如:Dim a%,b%,c%a=7:b=6:c=5 a*2=b+c abc 2=2=24/25/20235Visual Basic程序设计简明教程4.2 4.2 逻辑表达式逻辑表达式l关系表达式可以用来构造一些简单的条件,但关系表达式可以用来构造一些简单的条件,但是还不足以构造复杂的条件。是还不足以构造复杂的条件。l这些条件是由一些子条件复合而成的,表达了这些条件是由一些子条件复合而成的,表达了一种逻辑关系,无法用关系表达式完成,需要一种逻辑关系,无法用关系表达式完成,需要用逻辑表达式构造。用逻辑表达式构造。l例如不仅任意两边之和大于第三边,而且其中例如不仅任意两边之和大于第三边,而且其中的两边相等,才能构成等腰三角形。的两边相等,才能构成等腰三角形。4/25/20236Visual Basic程序设计简明教程4.2.1 4.2.1 逻辑运算符逻辑运算符lVBVB语言提供了语言提供了3 3个常用的逻辑运算符:个常用的逻辑运算符:NotNot、AndAnd和和OrOr,分别表示逻辑非、逻辑与和逻辑或运算。,分别表示逻辑非、逻辑与和逻辑或运算。l逻辑运算的结果当然为逻辑值:逻辑运算的结果当然为逻辑值:TrueTrue(真)或者(真)或者FalseFalse(假)。(假)。lNotNot是单目运算符,其余两种是双目运算符。是单目运算符,其余两种是双目运算符。lNotNot的优先级最高,其次是的优先级最高,其次是AndAnd,最低为,最低为OrOr。4/25/20237Visual Basic程序设计简明教程逻辑运算规则表:逻辑运算规则表:ABA And BA Or BNot ATrueTrueTrueTrueFalse TrueFalseFalseTrueFalseTrueFalseTrueTrue FalseFalseFalseFalse4/25/20238Visual Basic程序设计简明教程4.2.2 4.2.2 逻辑表达式逻辑表达式l l用逻辑运算符将表达式连接起来的式子称为逻辑表达式。用逻辑运算符将表达式连接起来的式子称为逻辑表达式。l例如:例如:Dim a%,b%,c%a=7:b=6:c=5 a=b And b =NotAndOr=(赋值赋值)运算符:运算符:4/25/202310Visual Basic程序设计简明教程计算表达式的结果:计算表达式的结果:3 Mod 5=3 And 132 Or Not 232 Or Not 21,值为,值为False。5)然后计算)然后计算True And False,值为,值为False。6)计算)计算221这种数学常识。这种数学常识。32 And 21(2)描述字符串变量)描述字符串变量c的值是小写字母。的值是小写字母。c=“a”And c=A And s=a And sb Thent=aa=bb=tEnd IfPrint a;bEnd Sub 4/25/202317Visual Basic程序设计简明教程4.3 If4.3 If语句语句ElseIfElseIf结构结构 If 表达式表达式1 Then 语句块语句块1 ElseIf 表达式表达式2 Then 语句块语句块2 ElseIf 表达式表达式n Then 语句块语句块n Else 语句块语句块n+1 End If 是是语语句句块块n+1是是否否表达式表达式1为为真真语语句句块块1否否表达式表达式n为为真真语语句句块块n是是否否表达式表达式2为为真真语语句句块块24/25/202318Visual Basic程序设计简明教程说明:说明:l判断某个条件时存在一个前提,即前面的所有判断某个条件时存在一个前提,即前面的所有条件都不成立。条件都不成立。l尽管尽管ElseIfElseIf结构有多个分支,但是仍然只有一结构有多个分支,但是仍然只有一个分支的语句块会被执行。这种结构特别适合处理个分支的语句块会被执行。这种结构特别适合处理有多个互相排斥的条件存在的情况,例如计算分段有多个互相排斥的条件存在的情况,例如计算分段函数的值。函数的值。4/25/202319Visual Basic程序设计简明教程例例4.34.3 计算分段函数的值计算分段函数的值 Private Sub Command3_Click()Dim x As Single,y!x=Val(InputBox(请输入请输入x的值的值)If x2 Then 判断判断x是否小于是否小于2 y=2*x+1ElseIf x8 Then 判断判断x是否在是否在2和和8之间之间 y=x-3Else 前面两个条件都不满足前面两个条件都不满足 y=3*x-1End IfPrint y=;yEnd Sub4/25/202320Visual Basic程序设计简明教程4.3 If4.3 If语句语句IfIf语句的嵌套语句的嵌套If 表达式表达式1 Then If 表达式表达式1_1 Then 语句块语句块1_1 Else 语句块语句块1_2 End IfElse If 表达式表达式2_1 Then 语句块语句块2_1 Else 语句块语句块2_2 End If End If是是否否是是否否是是表达式表达式1_1为为真真语语句句块块1_1语语句句块块1_2语语句句块块2_1表达式表达式2_1为为真真语语句句块块2_2否否表达式表达式1为为真真4/25/202321Visual Basic程序设计简明教程例例4.44.4 用用IfIf语句的嵌套实现语句的嵌套实现例例4.3 4.3。Private Sub Command4_Click()Dim x As Single,y!x=Val(InputBox(请输入请输入x的值的值)If x8 Then 判断判断x是否小于是否小于8If xb,a,b)4/25/202323Visual Basic程序设计简明教程4.4 Select Case4.4 Select Case语句语句 Select Case 表达式表达式 Case 表达式列表表达式列表1 语句块语句块1 Case 表达式列表表达式列表2 语句块语句块2 Case 表达式列表表达式列表n 语句块语句块n Case Else 语句块语句块n+1 End Select 先计算表达式的值,先计算表达式的值,然后与然后与n n个个CaseCase右边的表右边的表达式列表逐一比较。如达式列表逐一比较。如果和其中某个表达式列果和其中某个表达式列表的值相等或者匹配,表的值相等或者匹配,则执行该则执行该CaseCase后面的语后面的语句块;如果与所有的句块;如果与所有的CaseCase表达式列表均不匹表达式列表均不匹配,则执行配,则执行Case ElseCase Else后后面的语句块。面的语句块。执行流程执行流程4/25/202324Visual Basic程序设计简明教程作息时间表的实现作息时间表的实现 Select Case t t为输入的查询时间为输入的查询时间 Case 7,14 MsgBox(起床起床)Case 7.5 To 8,12 To 12.5,17.5 To 18 MsgBox(用餐用餐)Case 8.5 To 11.5,14.5 To 17 MsgBox(上课上课)Case 19 To 21 MsgBox(自习自习)Case 0 To 7,13 To 14,Is=22 MsgBox(睡觉睡觉)Case Else MsgBox(自由活动自由活动)End Select Private Sub Command5_Click()Dim x As Single,y!x=Val(InputBox(请输入请输入x的值的值)Select Case x Case Is 2 x小于小于2 y=2*x+1 Case Is 8 x在在2和和8之间之间 y=x-3 Case Else x8 y=3*x-1 End Select Print y=;y End Sub例例4.54.5 用用Select Select CaseCase语句实现语句实现例例4.34.34/25/202325Visual Basic程序设计简明教程4.5 框架 框架(框架(FrameFrame)控件是一种容器型控件,)控件是一种容器型控件,用于将窗体中的控件分组。用于将窗体中的控件分组。在工具箱中表示在工具箱中表示为:为:框架的常用属性框架的常用属性 属性属性作用作用Name设设置框架的置框架的对对象名象名Caption设设置框架所置框架所显显示的文本信息示的文本信息Enabled确定框架是否有效确定框架是否有效Visible确定框架是否可确定框架是否可见见4/25/202326Visual Basic程序设计简明教程说明:说明:l程序第一个框架控件的默认对象名是程序第一个框架控件的默认对象名是Frame1,依次类推。,依次类推。lCaption属性设定了框架的标题,如果属性值属性设定了框架的标题,如果属性值为空串,则框架控件在外观上与一个封闭的为空串,则框架控件在外观上与一个封闭的矩形框类似。矩形框类似。l当当Enabled的属性值是的属性值是False时,不仅框架失时,不仅框架失效,而且框架内的所有控件也都会失效。当效,而且框架内的所有控件也都会失效。当Visible的属性值是的属性值是False时,则框架连同其时,则框架连同其中的所有控件都将被隐藏。中的所有控件都将被隐藏。4/25/202327Visual Basic程序设计简明教程4.6 单选按钮单选按钮(单选按钮(OptionButtonOptionButton)控件具有控件具有选择选择功能,在程序界功能,在程序界面中必须成组出现。在工具箱面中必须成组出现。在工具箱中表示为:中表示为:属性属性作用作用Name设设置置单选单选按按钮钮的的对对象名象名Caption设设置置单选单选按按钮钮的的标题标题Alignment设设置置单选单选按按钮标题钮标题的位置,默的位置,默认值认值是是0,表示,表示单选单选按按钮钮在左在左边边,标题标题在右在右边边Value设设置置单选单选按按钮钮的状的状态态,默,默认值认值是是FalseStyle设设置置单选单选按按钮钮的外的外观观,默,默认值认值是是0,表示,表示标标准方式准方式Picture设设置在置在单选单选按按钮钮上上显显示的示的图图片文件片文件单选按钮的常用属性单选按钮的常用属性单选按钮的常用属性单选按钮的常用属性 4/25/202328Visual Basic程序设计简明教程说明:说明:l程序第一个单选按钮控件的默认对象名是程序第一个单选按钮控件的默认对象名是Option1,依,依次类推。次类推。lValue是单选按钮控件最重要的属性,其属性值有是单选按钮控件最重要的属性,其属性值有2个,个,True和和False。True表示单选按钮被选中,而表示单选按钮被选中,而False表示未表示未被选中。如果某一个单选按钮的被选中。如果某一个单选按钮的Value属性值是属性值是True,必,必然意味着同组中其它单选按钮的然意味着同组中其它单选按钮的Value属性值是属性值是False。lStyle的属性值有的属性值有2个,个,0和和1。1表示图形方式,此时单表示图形方式,此时单选按钮的外观类似于命令按钮。如果单选按钮未被选中,选按钮的外观类似于命令按钮。如果单选按钮未被选中,就会显示由就会显示由Picture属性指定的图片文件;如果单选按钮被属性指定的图片文件;如果单选按钮被选中,则会显示由选中,则会显示由DownPicture属性指定的图片文件。属性指定的图片文件。4/25/202329Visual Basic程序设计简明教程4.7 复选框复选框(复选框(CheckBox)控件也具有选择)控件也具有选择功能,一般在程序界面中成组出现,功能,一般在程序界面中成组出现,用户在一组复选框中一次可以选择多用户在一组复选框中一次可以选择多个。在工具箱中表示为:个。在工具箱中表示为:复选框的常用属性复选框的常用属性 属性属性作用作用Name设设置复置复选选框的框的对对象名象名Caption设设置复置复选选框的框的标题标题Alignment设设置复置复选选框框标题标题的位置,默的位置,默认值认值是是0,表示复,表示复选选框在左框在左边边,标标题题在右在右边边Value设设置复置复选选框的状框的状态态,默,默认值认值是是0Style设设置复置复选选框的外框的外观观,默,默认值认值是是0,表示,表示标标准方式准方式Picture设设置在复置在复选选框上框上显显示的示的图图片文件片文件4/25/202330Visual Basic程序设计简明教程说明:说明:l程序第一个复选框控件的默认对象名是程序第一个复选框控件的默认对象名是Check1,依次类推。,依次类推。lValue是复选框控件最重要的属性,其是复选框控件最重要的属性,其属性值有属性值有3个。个。常量常量值值含义含义Unchecked0未被未被选选中中Checked1被被选选中中Grayed2复复选选框框变变成灰色,禁止用成灰色,禁止用户选择户选择4/25/202331Visual Basic程序设计简明教程