第5章选择结构设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章选择结构设计第5章选择结构设计5.1选择结构的概念5.2条件表达式5.3If语句5.4多分支条件选择语句SelectCase5.5计时器控件5.6选择性控件习题五第5章选择结构设计5.1选择结构的概念在日常生活和工作中,经常需要根据给定的条件进行分析、比较和判断,以采取相应的不同操作。第5章选择结构设计选择结构是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特点是:根据所给定的条件为真(即条件成立)与否,而决定从各实际可能的不同分支中执行某一分支的相应操作,并且任何情况下总有“无论分支多寡,必择其一;纵然分支众多,仅选其一”的特性。第5章选择结构设计5.2条件表达式5.2.1关系运算符与关系表达式1.关系运算符关系运算符的作用是对两个表达式的值进行比较,若关系成立,则返回True,否则返回False。VB提供了6种关系运算符,如表5-1所示。第5章选择结构设计表5-1关系运算符第5章选择结构设计2.关系表达式关系表达式是指用关系运算符将两个表达式连接起来的式子(例如2*32+3),关系表达式的格式为〈表达式1〉〈关系运算符〉〈表达式2〉[〈关系运算符〉〈表达式3〉...]第5章选择结构设计5.2.2布尔运算符与布尔表达式布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而组成的式子。如不等式2≤x≤3可以表示为2=xAndx=3。布尔表达式的值也是一个布尔值。常用的布尔运算符有And、Or、Not等3种,如表5-2所示。第5章选择结构设计表5-2布尔运算符第5章选择结构设计表5-3布尔运算真值表第5章选择结构设计5.2.3运算符的优先顺序在一个表达式中进行多种操作时,VB会按一定的顺序进行求值,称这个顺序为运算符的优先顺序。运算符的优先顺序见表5-4。第5章选择结构设计表5-4运算符的优先顺序第5章选择结构设计【例5-1】写出VB表达式2+31+4AndNot68的值。在计算前,先要看清表达式中有哪些运算符,再根据运算符的优先级进行计算。本例中应按下面的步骤进行计算:①算术运算:55AndNot68②关系运算:FalseAndNotTrue③非运算:FalseAndFalse④结果:False第5章选择结构设计【例5-2】根据下列所给条件,写出VB布尔表达式:(1)一元二次方程ax2+bx+c=0有实根的条件为:a≠0,并且b2-4ac≥0。(2)闰年的条件是:年号(year)能被4整除,但不能被100整除;或者能被400整除。第5章选择结构设计5.3If语句5.3.1单行结构条件语句If...Then...Else单行条件语句比较简单,其语法格式为If〈条件〉Then[〈语句序列1〉][Else〈语句序列2〉]第5章选择结构设计【例5-3】输入x,计算y的值。其中:00xxyxx第5章选择结构设计图5.1计算分段函数y的值第5章选择结构设计设计步骤如下:(1)建立应用程序用户界面并设置对象属性,如图5.1所示。(2)编写事件代码。命令按钮Command1的单击(Click)事件代码为PrivateSubCommand1_Click()DimxAsSingle,yAsSingle'定义x、y为单精度数第5章选择结构设计x=Val(Text1.Text)'输入x的值Ifx=0Theny=Sqr(x)Elsey=-x'判断并计算Text2.Text=y'输出结果Text2.Locked=TrueEndSub程序运行结果如图5.1所示。第5章选择结构设计图5.2输出两数中的较大数第5章选择结构设计【例5-4】已知两个数x和y,比较它们的大小,输出较大数。设计步骤如下:(1)建立应用程序用户界面并设置对象属性,如图5.2所示。(2)编写事件代码。命令按钮Command1的单击(Click)事件代码为第5章选择结构设计PrivateSubCommand1_Click()DimxAsSingle,yAsSingle'定义变量数据类型为单精度数x=Val(Text1.Text)y=Val(Text2.Text)IfxyThenLabel3.Caption=较大数为&Str(y)IfxyThenLabel3.Caption=较大数为&Str(x)EndSub第5章选择结构设计或者编写代码为PrivateSubCommand1_Click()DimxAsSingle,yAsSingle'定义变量数据类型为单精度数x=Val(Text1.Text)y=Val(Text2.Text)IfxyThent=x:x=y:y=t'如果x小,则交换x、y的值Label3.Caption=较大数为&Str(x)'输出比较结果EndSub程序运行结果如图5.2所示。第5章选择结构设计5.3.2使用IIf函数使用IIf函数可以实现一些比较简单的选择结构。IIf函数的语法结构为IIf(〈条件表达式〉,〈真部分〉,〈假部分〉)第5章选择结构设计5.3.3块结构条件语句If...Then...Else...EndIf虽然单行If语句使用方便,可以满足许多选择结构程序设计的需要,但是当Then部分和Else部分包含较多内容时,在一行中就难以容纳所有命令。为此,VB提供了块If语句,将一个选择结构用多个语句行来实现。第5章选择结构设计块If语句又称为多行If语句,其语法结构为If〈条件〉Then[语句列1][Else[语句列2]]EndIf第5章选择结构设计【例5-5】将例5-3中命令按钮Command1的单击(Click)事件代码改为多行If语句:PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx=0Theny=Sqr(x)Elsey=-xEndIfText2.Text=yText2.Locked=TrueEndSub第5章选择结构设计【例5-6】将例5-4中命令按钮Command1的单击(Click)事件代码改为多行If语句:PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)y=Val(Text2.Text)IfxyThen第5章选择结构设计Label3.Caption=较大数为&Str(y)ElseLabel3.Caption=较大数为&Str(x)EndIfEndSub第5章选择结构设计5.3.4If语句的嵌套1.If语句的嵌套If语句的嵌套是指If或Else后面的语句块中又包含If语句。语句形式如下:If〈条件1〉ThenIf〈条件2〉ThenEndIEndIf第5章选择结构设计【例5-7】键盘输入3个不同的数,将它们从大到小排序。(1)建立应用程序用户界面并设置对象属性,如图5.3所示。(2)编写事件代码。命令按钮Command1的单击(Click)事件代码为第5章选择结构设计图5.3从大到小排序第5章选择结构设计PrivateSubCommand1_Click()DimxAsSingle,yAsSingle,zAsSinglex=Val(Text1.Text)'输入数据y=Val(Text2.Text)z=Val(Text3.Text)IfxyThen'将第1个数与第2个数进行比较,使大数在前t=x:x=y:y=t'交换数据第5章选择结构设计EndIfIfyzThent=y:y=z:z=t'使得yzIfxyThen'使得xy,此时的x、y已不再是原x、y的值t=x:x=y:y=tEndIfEndIfLabel4.Caption=从大到小排序结果:&Str(x)&Str(y)&Str(z)EndSub第5章选择结构设计【例5-8】某百货公司为了促销,采用购物打折扣的优惠办法,即每位顾客一次购物:(1)在1000元以上2000元以下者,按九五折优惠;(2)在2000元以上3000元以下者,按九折优惠;(3)在3000元以上5000元以下者,按八五折优惠;(4)在5000元以上者,按八折优惠。第5章选择结构设计设计步骤如下:(1)建立应用程序用户界面并设置对象属性,如图5.4所示。(2)编写事件代码。命令按钮Command1的单击(Click)事件代码为第5章选择结构设计图5.4计算优惠价第5章选择结构设计PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx1000Theny=x'不打折ElseIfx2000Then'九五折y=0.95*xElseIfx3000Then第5章选择结构设计y=0.9*x'九折ElseIfx5000Theny=0.85*x'八五折Elsey=0.8*x'八折EndIf第5章选择结构设计EndIfEndIfEndIfText2.Text=yText2.Locked=TrueEndSub程序运行结果如图5.4所示。第5章选择结构设计2.If语句的嵌套格式ElseIf如果出现多层If语句嵌套,将使程序冗长,不便阅读。为此VB提供了带ElseIf的块If语句来处理当条件为假时又内嵌块If语句的情形,以使程序简化易写。其语法结构为第5章选择结构设计If〈条件1〉Then[语句列1]ElseIf〈条件2〉Then[语句列2][Else[其他语句列]]EndIf第5章选择结构设计【例5-9】在例5-8中使用带ElseIf的块If语句来计算出优惠价。将命令按钮Command1的单击(Click)事件代码改为PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx1000Theny=x'不打折ElseIfx2000Theny=0.95*x'九五折第5章选择结构设计ElseIfx3000Theny=0.9*x'九折ElseIfx5000Theny=0.85*x'八五折Elsey=0.8*x'八折EndIfText2.Text=yText2.Locked=TrueEndSub第5章选择结构设计【例5-10】编制命令按钮代码,要求每单击一次命令按钮,就会依次在窗体上显示下面诗词中的诗句。静夜思床前明月光,疑是地上霜。举头望明月,低头思故乡。(1)建立应用程序用户界面并设置对象属性,如图5.5所示。(2)编写事件代码。命令按钮Command1的单击(Click)事件代码为第5章选择结构设计PrivateSubCommand1_Click()Label1.FontName=隶书Label1.FontSize=14Label1.ForeColor=QBColor(4)Label1.Caption=静夜思'设置标签Label1的标题Command1.Caption=显示'设置命令按钮的标题属性第5章选择结构设计StaticiAsInteger'声明静态变量i为整型数i=i+1Mytext1=床前明月光,Mytext2=Mytext1+Chr(13)+疑是地上霜。'Chr(13)表示换行Mytext3=Mytext2+Chr(13)+举头望明月,Mytext4=Mytext3+Chr(13)+低头思故乡。Ifi=1ThenLabel2.Caption=Mytext1ElseIfi=2Then第5章选择结构设计Label2.Caption=Mytext2ElseIfi=3ThenLabel2.Caption=Mytext3ElseLabel2.Caption=Mytext4i=0EndIfEndSub程序运行结果如图5.5所示。第5章选择结构设计图5.5显示诗句第5章选择结构设计5.4多分支条件选择语句SelectCase虽然使用嵌套的办法可以利用If语句实现多分支选择,但是最好还是使用VB提供的多分支选择结构(SelectCase语句)来实现。根据单一表达式来执行多种可能的动作时,SelectCase更为简捷。多分支选择结构的特点是:从多个

1 / 106
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功