收藏 分享(赏)

第4章 选择结构.ppt

上传人:tkhy51908 文档编号:8009859 上传时间:2019-06-04 格式:PPT 页数:37 大小:488.50KB
下载 相关 举报
第4章 选择结构.ppt_第1页
第1页 / 共37页
第4章 选择结构.ppt_第2页
第2页 / 共37页
第4章 选择结构.ppt_第3页
第3页 / 共37页
第4章 选择结构.ppt_第4页
第4页 / 共37页
第4章 选择结构.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、2019/6/4,1,第4章 选择结构,吴老师版 电信学院计算机工程系,2,本章内容:, 关系表达式 逻辑表达式 If语句 Select Case语句 框架 单选按钮 复选框,3,4.1 关系表达式,在程序中经常需要描述数据之间的关系并进行判断,从而决定下一步应执行什么动作。关系运算符可以用来构建关系表达式,以描述和比较两个数据之间的大小关系。,4,4.1.1 关系运算符,VB语言提供了6个常用的关系运算符:、=、(不等于),它们都是双目运算符,优先级彼此相同。 关系运算的结果显然是逻辑值,即关系成立为True,否则为False。,5,说明 :,(1)关系运算符的操作数可以是数值、字符串或者

2、日期型数据。一般要求两边的操作数类型一致。 (2)两个字符串按词典序进行比较,即都从各自的第一个字符开始,相应位置的字符依次按Unicode码比较大小,直到出现不同的字符或者字符串结束为止。 VB语言规定逻辑值转换为数值时,-1代表True,0代表False。,6,4.1.2 关系表达式,用关系运算符连接起来进行关系运算的式子,称为关系表达式。 如: Dim a%, b%, c%a=7: b=6: c=5a*2=b+cabc 2=2=2,7,4.2 逻辑表达式,关系表达式可以用来构造一些简单的条件,但是还不足以构造复杂的条件。 这些条件是由一些子条件复合而成的,表达了一种逻辑关系,无法用关系表

3、达式完成,需要用逻辑表达式构造。 例如不仅任意两边之和大于第三边,而且其中的两边相等,才能构成等腰三角形。,8,4.2.1 逻辑运算符,VB语言提供了3个常用的逻辑运算符:Not、And和Or,分别表示逻辑非、逻辑与和逻辑或运算。 逻辑运算的结果当然为逻辑值:True(真)或者False(假)。 Not是单目运算符,其余两种是双目运算符。 Not的优先级最高,其次是And,最低为Or。,9,逻辑运算规则表:,10,4.2.2 逻辑表达式,l用逻辑运算符将表达式连接起来的式子称为逻辑表达式。 例如:Dim a%, b%, c%a=7: b=6: c=5a=b And bcNot a=b a=b的

4、值为False,表达式的值为True,11,运算符的优先级顺序:,运算符:,12,计算表达式的结果: 3 Mod 5=3 And 132 Or Not 2=1,计算步骤: 1)先计算3 Mod 5,值为3。 2)再计算3=3,值为True。 3)计算32,值为1。 4)计算11,值为False。 5)然后计算True And False,值为False。 6)计算2=1,值为False。 7)计算Not False,值为True。 8)最后计算False Or True,值为True。整个表达式的结果为True。,13,举例:,(1)描述321这种数学常识。32 And 21 (2)描述字符串

5、变量c的值是小写字母。c=“a” And c=“z” (3)描述m是n的倍数。m Mod n=0,14,4.3 If语句If-Else结构,If 表达式 Then 语句块1Else语句块2End If,15,说明:,If-Else结构是一种双分支的选择结构,用来处理“非此即彼,二者择一”的情况。 If语句的表达式通常是关系或者逻辑表达式,以构成条件。如果是算术表达式,则按照“非0为真”的原则,把算术表达式的值转换为逻辑值。 Else不能单独出现,只能与If语句配合使用。 语句块可以有多条语句。如果语句较少而且表达式也较为简单,VB语言允许把If语句写在同一行上,此时即可省略End If。,16

6、,例4.1 从键盘输入1个字符,判断其是否为字母。,Private Sub Command1_Click()Dim s As String, t$s=InputBox(“请输入一个字符“)If s= “A“ And s= “a“ And s= “z“ Thent=s & “是字母“Elset=s & “不是字母“End IfMsgBox(t)End Sub,17,4.3 If语句If结构,If 表达式 Then 语句块End If 说明:If结构用于处理触发型情况,一旦触发某个条件,则会引发后续的动作。,18,例4.2 按升序输出两个整数。,Private Sub Command2_Click

7、() Dim a%, b%, t% a=Val(InputBox(“请输入第1个整数“) b=Val(InputBox(“请输入第2个整数“) If ab Then t=a a=b b=t End If Print a;b End Sub,19,练习:计算分段函数,20,4.3 If语句ElseIf结构,If 表达式1 Then语句块1ElseIf 表达式2 Then语句块2ElseIf 表达式n Then语句块nElse语句块n+1 End If,21,说明:,判断某个条件时存在一个前提,即前面的所有条件都不成立。 尽管ElseIf结构有多个分支,但是仍然只有一个分支的语句块会被执行。这种结

8、构特别适合处理有多个互相排斥的条件存在的情况,例如计算分段函数的值。,22,例4.3 计算分段函数的值,Private Sub Command3_Click() Dim x As Single, y! x=Val(InputBox(“请输入x的值“) If x2 Then 判断x是否小于2y=2*x+1 ElseIf x8 Then 判断x是否在2和8之间y=x-3 Else 前面两个条件都不满足y=3*x-1 End If Print “y=“;y End Sub,2*x+1 x2 y= x-3 2=x83*x-1 8=x,23,练习:计算分段函数,24,4.3 If语句If语句的嵌套,If

9、 表达式1 ThenIf 表达式1_1 Then语句块1_1Else 语句块1_2 End If ElseIf 表达式2_1 Then语句块2_1Else 语句块2_2 End If End If,25,例4.4 用If语句的嵌套实现例4.3 。,Private Sub Command4_Click() Dim x As Single, y! x=Val(InputBox(“请输入x的值“) If x8 Then 判断x是否小于8 If x2 Then 判断x是否小于2 y=2*x+1 Else x在2和8之间 y=x-3 End If Else x8y=3*x-1 End If Print

10、“y=“;y End Sub,26,4.3 If语句IIf函数,IIf(表达式1,表达式2,表达式3) 说明:如果表达式1的值为True,则以表达式2 的值作为函数的返回值,否则以表达式3的值作为函数的返回值。 例如: max=IIf(ab,a,b),27,4.4 Select Case语句,Select Case 表达式Case 表达式列表1语句块1Case 表达式列表2语句块2Case 表达式列表n语句块nCase Else语句块n+1End Select,先计算表达式的值,然后与n个Case右边的表达式列表逐一比较。如果和其中某个表达式列表的值相等或者匹配,则执行该Case后面的语句块;

11、如果与所有的Case表达式列表均不匹配,则执行Case Else后面的语句块。,执行流程,28,功能: 根据测试变量或表达式的值,从多个语句块中选择符合条件的一个语句执行。 说明: 测试变量或表达式只能是数值表达式或字符串表达式,不能是逻辑表示式。 语句块是由一个或多个VB语句组成的。 表达式表与测试变量或表达式的类型必须相同,每一个表达式表是一个或者几个值的列表。如果在一个列表中有多个值,就用逗号把值分隔开。表达式有以下四种形式: 一个表达式。如: case 6 一组表达式,表达式之间用逗号分隔开。 Case 1,3,5, 7 Case “I”,“you”,”They” 表达式 1 TO 表

12、示式2。该形式制定某个数值范围。 Case 1 to 10 Case “a” to “e”,29,Is 。如: Case is=80 Case is”Y” 此外,在一个情况语句中,上述四种形式也可以混用。 注意执行次序。 当有多个case子句的取值范围和测试表达式的值域相符时,只执行符号要求的第一条case子句后的语句。 注意select case 和ifthenelse 的区别。,30,作息时间表的实现,Select Case t t为输入的查询时间Case 7,14MsgBox (“起床“)Case 7.5 To 8,12 To 12.5,17.5 To 18MsgBox (“用餐“)Ca

13、se 8.5 To 11.5,14.5 To 17MsgBox (“上课“)Case 19 To 21MsgBox (“自习“)Case 0 To 7,13 To 14,Is =22MsgBox (“睡觉“)Case ElseMsgBox (“自由活动“)End Select,Private Sub Command5_Click()Dim x As Single, y!x = Val(InputBox(“请输入x的值“)Select Case xCase Is 2 x小于2y = 2 * x + 1Case Is 8 x在2和8之间y = x - 3Case Else x8y = 3 * x

14、- 1End SelectPrint “y=“; yEnd Sub,例4.5 用Select Case语句实现例4.3,31,4.5 框架,框架(Frame)控件是一种容器型控件,用于将窗体中的控件分组。在工具箱中表示为:,框架的常用属性,32,说明:,程序第一个框架控件的默认对象名是Frame1,依次类推。 Caption属性设定了框架的标题,如果属性值为空串,则框架控件在外观上与一个封闭的矩形框类似。 当Enabled的属性值是False时,不仅框架失效,而且框架内的所有控件也都会失效。当Visible的属性值是False时,则框架连同其中的所有控件都将被隐藏。,33,4.6 单选按钮,单

15、选按钮(OptionButton)控件具有选择功能,在程序界面中必须成组出现。在工具箱中表示为:,单选按钮的常用属性,34,说明:,程序第一个单选按钮控件的默认对象名是Option1,依次类推。 Value是单选按钮控件最重要的属性,其属性值有2个,True和False。True表示单选按钮被选中,而False表示未被选中。如果某一个单选按钮的Value属性值是True,必然意味着同组中其它单选按钮的Value属性值是False。 Style的属性值有2个,0和1。1表示图形方式,此时单选按钮的外观类似于命令按钮。如果单选按钮未被选中,就会显示由Picture属性指定的图片文件;如果单选按钮被

16、选中,则会显示由DownPicture属性指定的图片文件。,35,4.7 复选框,复选框(CheckBox)控件也具有选择功能,一般在程序界面中成组出现,用户在一组复选框中一次可以选择多个。在工具箱中表示为:,复选框的常用属性,36,说明:,程序第一个复选框控件的默认对象名是Check1,依次类推。 Value是复选框控件最重要的属性,其属性值有3个。,37,分支结构程序设计习题,输入3个数,按从小到大的顺序输出。 判断某一年是否是闰年。 计算个人所得税。个人收入salary低于1000元的,免税;当1000salary 1500元,超过1000元部分税率为5%;当1500salary 2500元,超过1500元部分税率为10%;当2500salary 6000元,超过2500元部分税率为15%;当6000元salary ,超过6000元部分税率为20%。输入salary,输出个人所得税。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报