《第4章选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章选择结构程序设计.ppt(69页珍藏版)》请在第壹文秘上搜索。
1、第第4章章 选择结构程序设计选择结构程序设计 4.1 条件表达式 1 关系运算符与关系表达式关系运算符与关系表达式 比较两个运算量之间的关系,关系表达式的运算结果为逻辑比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为量。若关系成立,结果为True,若关系不成立,结果为,若关系不成立,结果为False。VB中的关系运算符如下表所示。中的关系运算符如下表所示。运算符含义优先级实例结果小于所有关系运算所有关系运算优先级相同。优先级相同。低于算术运算低于算术运算的加的加“+”,减,减“-”运算,高运算,高于逻辑非于逻辑非“Not”运算。运算。15+1020False=小于或等
2、于10大于1020False=大于或等于This=ThatTrue=等于This=ThatFalse不等于This ThatTrueLike字符串匹配This Like*isTrueIs对象比较 关系运算的规则如下:关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。)当两个操作式均为数值型,按数值大小比较。(2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右一一比较码值从左到右一一比较,直到出现不同的字符为止直到出现不同的字符为止.。例:例:ABCDE ABRA 结果为结果为 False (3)数值型与可转换为数值型的数据比较,)数值型与可转换为数值型的数据
3、比较,如:如:29189,按数值比较,结果为,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较,如:如:77 sdcd,不能比较,系统出错。,不能比较,系统出错。(5)“Like”运算符是运算符是VB6.0新增加的。新增加的。其使用格式为:其使用格式为:str1 Like str22 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 逻辑运算符:逻辑运算符:Not,And,Or Xor说说 明:明:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻辑非)最高,(逻辑非)最高,但它低于关系运算。但它低于关系运算。(2
4、)VB中常用的逻辑运算符是中常用的逻辑运算符是Not、And和和Or。它们用。它们用于将多个关系表达式进行逻辑判断。于将多个关系表达式进行逻辑判断。例如:例如:数学上表示某个数在某个区域时用表达式:数学上表示某个数在某个区域时用表达式:10X=10 And X20 如果写成如下形式将是错误的:如果写成如下形式将是错误的:10=x20 或或 10=x Or x字符串运算符字符串运算符-关系运算符关系运算符-布尔运算符布尔运算符【例【例4-1】设变量】设变量x=4,y=1,a=7.5,b=6.2,求表达,求表达式式x+y a+b And Not y 1.3 And Not y b (2)再作关系运
5、算:再作关系运算:True And Not False (3)作非运算:作非运算:True And True (4)最后得:最后得:True【例【例4-2】判断某个年份是闰年的根据是年份数】判断某个年份是闰年的根据是年份数满足下述条满足下述条件之一。件之一。(1)能被能被4整除,但不能被整除,但不能被100整除的年份都是闰年。整除的年份都是闰年。(2)能被能被100整除,又能被整除,又能被400整除的年份都是闰年。整除的年份都是闰年。设变量设变量y表示年份,写出判断表示年份,写出判断y是否闰年的布尔表达式。是否闰年的布尔表达式。解:判断解:判断y是否满足条件是否满足条件(1)的布尔表达式是的布
6、尔表达式是y Mod 4=0 And y Mod 100 0 判断判断y是否满足条件是否满足条件(2)的布尔表达式是的布尔表达式是y Mod 100=0 And y Mod 400=0 两者取两者取“或或”,即得判断闰年的布尔表达式,即得判断闰年的布尔表达式y Mod 4=0 And y Mod 100 0 Or y Mod 100=0 And y Mod 400=0 4.3单条件选择语句单条件选择语句IF 1.单行结构条件语句单行结构条件语句IFTHENELSE If条件条件Then 语句序列语句序列1 Else语句序列语句序列2【例【例4-3】输入】输入x,计算,计算y的值。其中:的值。其
7、中:)0(21)0(1xxxxy 设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写程序代码。编写程序代码。写出命令按钮写出命令按钮Command1的单击(的单击(Click)事件代码为)事件代码为Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x=0 Then y=1+x Else y=1 2*x Text2.Text=yEnd Sub【例【例4-4】学校对学习成绩优良的学生进行奖励,获奖的条件】学校对学习成绩优良的学生进行
8、奖励,获奖的条件如下:如下:(1)所考所考5门课的总分超过门课的总分超过450分。分。(2)每门课的成绩都在每门课的成绩都在88分以上。分以上。(3)前前3门(主课)的成绩都在门(主课)的成绩都在95分以上,其他两门(非主课)分以上,其他两门(非主课)的成绩都在的成绩都在80分以上。分以上。输入某学生输入某学生5门课的成绩门课的成绩s1、s2、s3、s4、s5,判断他是否能,判断他是否能够获奖。够获奖。设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写程序代码。编写程序代码。图图4-5 判断能否获奖判断能否获奖可以写出命令按钮可
9、以写出命令按钮Command1的单击(的单击(Click)事件代码为:)事件代码为:Private Sub Command1_Click()Dim s1 As Single,s2 As Single,s3 As Single,s4 As Single,s5 As Single Dim p As String s1=Val(InputBox(请输入第请输入第1门课的成绩:门课的成绩:,输入框输入框,0)s2=Val(InputBox(请输入第请输入第2门课的成绩:门课的成绩:,输入框输入框,0)s3=Val(InputBox(请输入第请输入第3门课的成绩:门课的成绩:,输入框输入框,0)s4=V
10、al(InputBox(请输入第请输入第4门课的成绩:门课的成绩:,输入框输入框,0)s5=Val(InputBox(请输入第请输入第5门课的成绩:门课的成绩:,输入框输入框,0)t1=(s1+s2+s3+s4+s5=450)t2=(s1=88 And s2=88 And s3=88 And s4=88 And s5=88)t3=(s1=95 And s2=95 And s3=95 And s4=80 And s5=80)If t1 Or t2 Or t3 Then p=可以获奖可以获奖!Else p=不能获不能获奖奖!p=Str(s1)&,&Str(s2)&,&Str(s3)&,&Str(s
11、4)&,&Str(s5)&Chr(13)&p Label1.Caption=该生五门课的成绩分别是:该生五门课的成绩分别是:&Chr(13)&pEnd Sub【例4-5】利用输入框函数输入3个不同的数,选出其中最大的数。设计步骤如下:(1)建立应用程序用户界面与设置对象属性。(2)编写程序代码。可以写出命令按钮可以写出命令按钮Command1的单击(的单击(Click)事件代码为)事件代码为Private Sub Command1_Click()Dim a As Single,b As Single,c As Single a=Val(InputBox(请输入第请输入第1个数:个数:,输入框输
12、入框,0)b=Val(InputBox(请输入第请输入第2个数:个数:,输入框输入框,0)c=Val(InputBox(请输入第请输入第3个数:个数:,输入框输入框,0)p=&a&,&b&,&c p=p&三个数中最大的数是:三个数中最大的数是:If a b And a c Then p=p&a If b a And b c Then p=p&b If c a And c b Then p=p&c Label1.Caption=pEnd Sub2 使用使用IIF函数函数 I I f 函 数 可 用 来 执 行 简 单 的 条 件 判 断 操 作,它 相 当 于函 数 可 用 来 执 行 简 单
13、的 条 件 判 断 操 作,它 相 当 于IFThen.Else结构。结构。IIf函数的语法结构为函数的语法结构为 IIf(条件表达式,表达式条件表达式,表达式1,表达式,表达式2)说明:说明:(1)与与IF语句中的表达式相同,通常是关系表语句中的表达式相同,通常是关系表达式、逻辑表达式,也可为算术表达式。如果是算术表达式,达式、逻辑表达式,也可为算术表达式。如果是算术表达式,其值按非其值按非0为为True,0为为False进行判断。进行判断。(2)当)当为真时,函数返回为真时,函数返回的值,当的值,当为假时,函数返回为假时,函数返回的值。的值。(3)、可以是任何表达式。可以是任何表达式。【例
14、【例4-6】例】例4-3中命令按钮中命令按钮Command1的单击(的单击(Click)事件代码可以改为事件代码可以改为Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)y=IIf(x=0,1+x,1 2*x)Text2.Text=yEnd Sub 3.块结构条件语句块结构条件语句IFTHENELSEEND IF 其语法结构为其语法结构为If条件条件1Then 语句列语句列1Else 语句列语句列2End If【例【例4-7】将例】将例4-3中命令按钮中命令按钮Command1的单击(的单击(Cli
15、ck)事件代码改为多行事件代码改为多行If语句:语句:Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x=0 Then y=1+x Else y=1 2*x End If Text2.Text=yEnd Sub4.IF语句的嵌套语句的嵌套 1)IF语句的嵌套1.【例【例4-8】铁路托运行李,从甲地到乙】铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是地,规定每张客票托运费计算方法是行李重量不超过行李重量不超过50kg时,时,0.25元元/kg,超过超过50kg而不超过而不超过100k
16、g时,其超过时,其超过部分按部分按0.35元元/kg收费,超过收费,超过100kg时,时,其超过部分按其超过部分按0.45元元/kg收费。编写程收费。编写程序,输入行李重量,计算并输出托运序,输入行李重量,计算并输出托运的费用。的费用。设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象建立应用程序用户界面与设置对象属性。属性。图4-9 计算托运费(2)编写程序代码。编写程序代码。可以写出命令按钮可以写出命令按钮Command1的单击(的单击(Click)事件代码)事件代码为为 Private Sub Command1_Click()Dim w As Single,x As Single w=Val(Text1.Text)If w=50 Then x=0.25*w Else If w=100 Then x=0.25*50+0.35*(w 50)Else x=0.25*50+0.35*50+0.45*(w 100)End If End If Text2.Text=xEnd Sub可以将上例中命令按钮Command1的单击(Click)事件代码改为:Private Sub Co