程序VB选择结构程序设计.ppt
《程序VB选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《程序VB选择结构程序设计.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 选择结构程序设计 学习重点 If语句、IIf函数、Switch函数、Select Case语句的格式与使用。If 语句的嵌套使用。掌握常用的选择结构算法。本章内容7.1 If语句7.2 Select Case语句7.3 基本算法及应用7.4 其他应用举例本章小结 引言分支结构 True False P A B 7.1 If语句7.1.1 IfThen结构 7.1.2 IfThenElse结构 7.1.3 IfThenElseIf结构 7.1.4 If语句的嵌套 7.1.5 与If语句有关的函数 注注1 1:条条件件表表达达式式的的值值为为TrueTrue或或FalseFalse,一一般
2、般是是逻逻辑辑或或关关系系表表达达式式,也也可可以以是是算算术术表表达达式(转换为逻辑值)式(转换为逻辑值)7.1.1 IfThen结构两种格式:格式格式1 1:块形式块形式 If If If If Then Then Then Then 语句体语句体语句体语句体End IfEnd IfEnd IfEnd If 格式格式2 2:单行形式单行形式 If If If If Then Then Then Then 语句体语句体语句体语句体条件表达式条件表达式语句体语句体TrueFalse注注2 2:当当条条件件为为TrueTrue时时执执行行语语句句体体,否否则则执执行行IfIf语句的下一条语句语句
3、的下一条语句注注3 3:语句体中可以是:语句体中可以是多条语句多条语句,当采用,当采用格式格式2 2时,所有的语句必须写在一行,用时,所有的语句必须写在一行,用冒号隔开冒号隔开语句语句体中的语句体中的语句 7.1.1 IfThen结构例:已知有两数x、y,编程使x中存放较大的数n分析:如果x=y,则不需要做处理 如果xy,则做交换处理n实现:If x y Thentemp=xx=yy=tempEnd Ifn用格式2描述:If x y Then temp=x:x=y:y=temp特别注意:特别注意:块结构时块结构时If和和End If成对出现成对出现7.1.1 IfThen结构例例7-1 电子闹
4、钟设计,主要利用文本框、按钮、计时器控件实现闹钟功能。例例7-1程序代码如下:Private Sub Command1_Click()Timer1.Enabled=Not Timer1.Enabled 用Not运算进行开关控制End SubPrivate Sub Timer1_Timer()Dim d As Date d=Text1.Text If Hour(Time)=Hour(d)And Minute(Time)=Minute(d)Then Beep 到达时间后发声End Sub 功能:功能:连续连续1分钟响铃,分钟响铃,60次次等价于:等价于:If Hour(Time)=Hour(d)A
5、nd Minute(Time)=Minute(d)Then Beep End If 7.1.2 IfThenElse结构两种格式:格式格式1 1:If If If If Then Then Then Then 语句体语句体语句体语句体1 1 1 1ElseElseElseElse语句体语句体语句体语句体2 2 2 2 End If End If End If End If 格式格式2 2:If If If If Then Then Then Then 语句体语句体语句体语句体1 Else 1 Else 1 Else 1 Else 语句体语句体语句体语句体2 2 2 2注注:当当条条件件为为Tr
6、ueTrue时时执执行行语语句句体体1 1,否否则则执执行行语语句体句体2 2T条件表达式条件表达式语句体语句体1F语句体语句体2例7-2 已知x,求程序代码如下:Private Sub CmdCul_Click()Dim x As Single,y As Single x=Val(txtX.Text)第1个文本框的名称是txtX If x 0 Then MsgBox x不能小于不能小于0 Else y=Sqr(x)txtY.Text=Str(y)第2个文本框的名称是txtY End IfEnd Sub等价于:等价于:If x 0 Then MsgBox x不能小于不能小于0 Else y=S
7、qr(x):txtY.Text=Str(y)7.1.3 IfThenElseIf结构If If Then1 Then语句体语句体1 1ElseIf ElseIf Then2 Then语句体语句体2 2ElseElse语句体语句体n+1n+1End IfEnd If表达式表达式1 1 True True 执行语句体执行语句体1 1 False False 表达式表达式2 2 True True 执行语句体执行语句体2 2 False False 表达式表达式3 3ElseElse和和IfIf间无空格间无空格格式:7.1.3 IfThenElseIf结构FT表达式表达式1语句体语句体1表达式表达式
8、2语句体语句体2TF表达式表达式n语句体语句体nF语句体语句体n+1T判断的顺序为表达式判断的顺序为表达式1、表达式、表达式2只有当表达式只有当表达式1为为False时才判断表达式时才判断表达式2,当表达式,当表达式1和表达式和表达式2都为都为False时,才判断表达式时,才判断表达式3,程序执行语句体程序执行语句体n+1的条件为前的条件为前n个表达式均为个表达式均为False。7.1.3 IfThenElseIf结构例:已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符、空格还是其它字符。n分析:字母字符:ch=“a”And ch=“A”And ch=“0”And ch=“a”An
9、d ch=“A”And ch=“a”And ch=“A”And ch=“0”And ch=“0”And ch=“9”ThenPrint“Print“数字字符数字字符”ElseIf ch=“”ThenElseIf ch=“”ThenPrint“Print“空格空格”ElseElsePrint“Print“其他字符其他字符”End IfEnd If7.1.3 IfThenElseIf结构例7-3 旅客乘车旅行,可免费携带30公斤行李,超过30公斤的部分每公斤需支付托运费10元,超过50公斤部分则每公斤需支付20元托运费。请编程根据每位旅客行李的重量计算其应付的行李托运费。例7-3此分段函数用程序代
10、码表示如下此分段函数用程序代码表示如下:Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x 30 Then x30 y=0 ElseIf x=50 Then 30=x50 y=(x-50)*20+20*10 End If Text2.Text=yEnd Subx=30 And x=30 And x=30 x=30的信息的信息7.1.4 If语句的嵌套If语句中又包含If语句n在Then子句或Else子句的语句体中包含完整的一条If语句n如:If x y ThenPrint x&“”&yEls
11、eIf xy ThenPrint x&“”&yElse Print x&“=”&yEnd If End If一条一条IfIf语句语句一条一条IfIf语句语句7.1.4 If语句的嵌套n注1:If语句的完整性,即内层If语句必须完整地出现在外层If语句的Then子句或Else子句中。外层外层IfIf内层内层IfIf内层内层IfIf内外层不能有交叉!内外层不能有交叉!7.1.4 If语句的嵌套n注2:ElseIf的匹配原则Else始终与上面距离其最近的未被匹配过的 If匹配注3:If End If的匹配If 块必须以一个 End If 语句结束If ThenIf Then Else End IfE
12、lseIf Then If Then Else End IfEnd If7.1.4 If语句的嵌套为使程序结构更为清晰,要养成良好的书写习惯。If ThenIf Then Else End IfElseIf Then If Then Else End IfEnd If为体现层次,可以使用为体现层次,可以使用TabTab健健排放不同层次的排放不同层次的语句语句7.1.4 If语句的嵌套例7-4 根据用户输入年龄和性别,输出不同的欢迎信息。其中小于14岁的男性为boy,大于14岁的男性为guy,其中小于14岁的女性为girl,大于14岁的女性为miss。例7-4程序代码如下:程序代码如下:Priv
13、ate Sub Command1_Click()If Op_male.Value=True Then If Val(Txt_age.Text)14 Then 小于小于14岁的男性岁的男性 MsgBox Hello,boy!Else 大于或等于大于或等于14岁的男性岁的男性 MsgBox Hello,guy!End If Else If Val(Txt_age.Text)b Thenmax=aElsemax=bEnd Ifmax=IIf(ab,a,b)1.IIf函数函数IIf函数实际上是IfThenElse结构的一个简写 IIf函数中后两个表达式可以是各种类型的表达式,也可以是一个IIf函数的调
14、用Print x&IIf(x 0,“大于0”,“小于或小于0”)s=IIf(x 0,1,IIf(x=0,0,-1)判断x的符号 1.IIf函数函数将If语句改写成使用IIf函数:If x 30 Then y=0 ElseIf x=50 Then y=(x-30)*10 Else y=(x-50)*20+20*10 End If等价于:等价于:y=IIf(x 30,0,IIf(x=90,A,grade=80,B,grade=90,A,grade=80,B,grade80,C)用于多分支情况用于多分支情况 条件表达式和值必须成对出现条件表达式和值必须成对出现!2.Switch函数函数将If语句改写
15、成使用Switch函数:If x 30 Then y=0 ElseIf x=50 Then y=(x-30)*10 Else y=(x-50)*20+20*10 End If等价于:等价于:y=Switch(x 30,0,x50,(x-50)*20+20*10)条件条件条件条件条件条件值值值值值值7.2 Select Case语句(多分支语句)格式:Select CaseSelect Case Case Case 表达式列表表达式列表1 1 1Case Case 表达式列表表达式列表2 2 2Case ElseCase Else n+1End SelectEnd Select7.2 Selec
16、t Case语句T表达式表达式1语句体语句体1表达式表达式2语句体语句体2T表达式表达式n语句体语句体n语句体语句体n+1T执行过程执行过程:计算测试表达式的值;计算测试表达式的值;依次比较依次比较各个表达式,符合条件则进入相应的语句体执行;各个表达式,符合条件则进入相应的语句体执行;执行执行Select Case语句的下一条语句。语句的下一条语句。计算测试表达式的值计算测试表达式的值7.2 Select Case语句n注注1:测试表达式测试表达式可以是数值或字符串表达式可以是数值或字符串表达式;n注注2:各:各表达式列表表达式列表 合法的格式:合法的格式:一个常量或常量表达式一个常量或常量表
17、达式多个常量或常量表达式,用逗号隔开,逗号相当于多个常量或常量表达式,用逗号隔开,逗号相当于“或或”,如:,如:Case 1,3,5,7表达式表达式1 to 表达式表达式2,表示从表达式,表示从表达式1到表达式到表达式2中所有的值,其中中所有的值,其中表达式表达式1的值必须小于表达式的值必须小于表达式2的值。如:的值。如:Case 1 to 5Is关系运算表达式,可以使用的关系运算符为:关系运算表达式,可以使用的关系运算符为:、=、=、=,不可以使用逻辑运算符表示多个范围。,不可以使用逻辑运算符表示多个范围。前面四种情况的组合,如前面四种情况的组合,如Case Is10,2,4,6,Is=“a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 VB 选择 结构 程序设计
限制150内