《教育专题:26选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《教育专题:26选择结构程序设计.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、选择结构的程序可以用选择语句来表示。选择语句又称条件语选择结构的程序可以用选择语句来表示。选择语句又称条件语句、分支语句或判断语句。选择语句能使程序在执行过程中,根据句、分支语句或判断语句。选择语句能使程序在执行过程中,根据不同的结果,选择执行不同的处理。语句的主要形式是不同的结果,选择执行不同的处理。语句的主要形式是If语句。语句。26 选择结构程序设计选择结构程序设计1行行If语语句句行行If语语句必句必须须在一行内写完。在一行内写完。该语该语句的句的执执行行过过程是:先程是:先计计算条算条件表达式的件表达式的值值,如果条件表达式的,如果条件表达式的计计算算结结果是果是True,就,就执执
2、行行Then后后面的面的语语句,否句,否则执则执行行Else后面的后面的语语句。如果句。如果Else和它的后随和它的后随语语句不句不出出现现,则则条件表达式条件表达式值为值为True时执时执行行Then后面的后面的语语句,否句,否则则就什么就什么也不也不执执行,程序行,程序转转向向If语语句后面的后句后面的后继语继语句。行句。行If语语句格式如下:句格式如下:If条件表达式条件表达式 Then语语句句1Else 语语句句2或或If条件表达式条件表达式Then 语语句句2块块If语语句句块块If语语句的格式如下:句的格式如下:If 条件表达式条件表达式1 Then语语句句块块1ElseIf 条件
3、表达式条件表达式2 Then语语句句块块2ElseIf 条件表达式条件表达式n Then语语句句块块nElse语语句句块块0End If说说明:明:这这儿的儿的语语句句块块可以由一个或多个可以由一个或多个语语句句组组成。如果只有两种不同成。如果只有两种不同情形的分情形的分别处别处理,理,则则中中间间所有的所有的ElseIf部分都不必部分都不必书书写,只保留写,只保留语语句句块块1和和语语句句块块0相相应应的部分即可,即的部分即可,即块块If语语句可以句可以简简化化为为以下格式:以下格式:If 条件表达式条件表达式1 Then语语句句块块1Else语语句句块块0End If块语块语句的句的执执行
4、行过过程是:先程是:先测试测试“条件表达式条件表达式1”,如果,如果该该条件条件为为“True”,则执则执行行Then后面的后面的“语语句句块块1”;如果;如果“条件表达式条件表达式1”为为False,则顺则顺序序测试测试每个每个ElseIf子句中的子句中的“条件表达式条件表达式”,当,当发现发现某个某个“条件表达条件表达式式”为为True时时,就,就执执行与其相关的行与其相关的Then后面的后面的“语语句句块块”;如果所有的;如果所有的ElseIf“条件表达式条件表达式”均均为为False,则执则执行行Else后面的后面的“语语句句块块0”。在在块结块结构的条件构的条件语语句中,句中,Els
5、eIf子句的数量没有限制,可以子句的数量没有限制,可以根据需要加入任意多个根据需要加入任意多个ElseIf子句。子句。在有些在有些时时候,候,块结块结构的条件构的条件语语句中可能出句中可能出现现多个条件多个条件为为True的情况,此的情况,此时时只能只能执执行一个行一个语语句句块块,即当遇到第一个,即当遇到第一个为为True的条件的条件时时,执执行相行相应语应语句后就跳出句后就跳出If结结构,去构,去执执行下面的行下面的语语句。句。块结块结构的条件构的条件语语句可以嵌套,即把一个句可以嵌套,即把一个If ThenElse放在放在另一个另一个If ThenElse块块内,嵌套必内,嵌套必须须完全
6、完全“包住包住”,不能相互,不能相互“骑骑跨跨”。3当条件表达式当条件表达式为为True或或False时进时进行行处处理的理的语语句都只有一个句都只有一个时时,可采用行,可采用行If语语句,也可采用句,也可采用块块If语语句;而如果分支中句;而如果分支中进进行行处处理理的的语语句不止一个句不止一个时时,必,必须须采用采用块块If语语句。句。块块条件形式的条件形式的语语句可以句可以简简化化为为:If 条件表达式条件表达式 Then语语句句块块End If行行If语语句必句必须须在一行内写完,最后没有在一行内写完,最后没有End If;块块If语语句的句的ElseIf部分和部分和Else语语句部分
7、是可句部分是可选选的,最后必的,最后必须须有有End If。4Exit和和End语语句句使用使用Exit语语句可以在程序句可以在程序执执行行过过程中退出事件程中退出事件过过程。如程。如Exit Sub。使用使用End语语句可以在程序句可以在程序执执行行过过程中,关程中,关闭闭程序。示例如下:程序。示例如下:Private Sub Command1_Click()Dim a As Integera MsgBox(“你确定要关你确定要关闭吗闭吗?”,1,“关关闭闭”)If a 1 ThenExit Sub 关关闭闭程序,此程序,此处处可用可用End EndElsePrint“留下留下”End If
8、End Sub本章本章节节学学习习中需要掌握行中需要掌握行If语语句与句与块块If语语句的使用方法,并会句的使用方法,并会使用使用If语语句句编编写写简单简单的的选择结选择结构的构的VB程序。程序。难难点是掌握点是掌握块块If语语句的句的嵌套使用方法。考嵌套使用方法。考查查方式方式为选择题为选择题与填空与填空题题。1 1有如下有如下VBVB程序段:程序段:a a 5:b 5:b 3 3If Not b a Then a If Not b 1 Then y x 1 Else y x 1后,后,变变量量y的的值值是是 ()A1B0C1D2C C 3已知已知a、b、c为为某三条某三条线线段的段的长长
9、度,判断度,判断这这三条三条线线段能否构成一个三角段能否构成一个三角形的形的VB程序代程序代码码如下:如下:Private Sub Command1_Click()a 20 b 13 c 5 If a b c And b c a And c a b Then MsgBox“能构成能构成”Else MsgBox“构不成构不成”End Sub运行程序,运行程序,单击单击命令按命令按钮钮Command1后,后,结结果是果是()A弹弹出出对话对话框中框中显显示示“能构成能构成”B弹弹出出对话对话框中框中显显示示“构不成构不成”C出出现现“块块If没有没有End If”的的错误错误信息信息D出出现现“F
10、alse”的的错误错误信息信息 4有如下有如下VB程序段:程序段:Private Sub Command1_Click()a 3:b 4:c 5If a b And a c ThenMax aElseIf b c ThenMax bElseMax c End IfEnd Sub该该程序运行后,整数型程序运行后,整数型变变量量max的的值为值为 ()A0B3C4D5D D C C5有如下有如下VB程序段:程序段:Private Sub Command1_Click()a Val(Text1.Text)If a 5 Then b a 3 Else b a*3 End If Text1.Text S
11、tr(b)End Sub若要若要测试测试所有分支程序代所有分支程序代码码是否正确,下列是否正确,下列测试测试数据中最恰当数据中最恰当的一的一组组是是 ()A1,4B8,12C3,7D5,15D D6“如果如果a能被能被b整除,那么整除,那么xab”。能。能实现该实现该功能的功能的VB语语句是句是 ()AIf ab0 Then xab BIf ab Then xabCIf Int(a/b)0 Then xab DIf a Mod b0 Then xabC C7 7有如下有如下VBVB程序段:程序段:Private Sub Command1_Click()Private Sub Command1_
12、Click()a a 123123 b b 456456 If a Mod 2 If a Mod 2 1 Then1 Then MsgBox Str(a MsgBox Str(a b)b)Else Else MsgBox Str(a MsgBox Str(a b)b)End If End IfEnd SubEnd Sub程序运行后,在输出对话框中显示的提示信息是程序运行后,在输出对话框中显示的提示信息是 ()A Aa a b bB B123123456456C C579579D D显示出错信息显示出错信息半价票半价票 8某景区某景区针对门针对门票的票的销销售售编编写了如下写了如下VB程序代程序
13、代码码:Private Sub Command1_Click()m InputBox(请输请输入身高入身高)If m 120 Then Label1.Caption 免票免票 ElseIf m 150 Then Label1.Caption 半价票半价票 Else Label1.Caption 全价票全价票 End IfEnd Sub运行程序,运行程序,单击单击命令按命令按钮钮Command1,若在出,若在出现现的的对话对话框中框中输输入入“125”,在,在标签标签Label1上上显显示的内容是示的内容是_。X Mod 2=1 X Mod 2=1 9下列下列VB程序用来判断某整数的奇偶情况:程
14、序用来判断某整数的奇偶情况:Private Sub Command1_Click()x Val(Text1.Text)If _ Then Text2.Text 奇数奇数 Else Text2.Text 偶数偶数 End IfEnd Sub则则程序划程序划线处应线处应填入填入_。10(操作操作题题)编编写一个程序,从文本框写一个程序,从文本框Text1中中输输入一个数入一个数进进行行判断。有如下情况:判断。有如下情况:输输入的数小于入的数小于3,在,在标签标签Label2中中显显示示“输输入入错错误误,请请重新重新输输入入”;输输入的数是偶入的数是偶(奇奇)数且又是数且又是3的倍数的的倍数的话话
15、,在,在标标签签Label2中中显显示示“这这是一个能被是一个能被3整除的偶整除的偶(奇奇)数数”;如果不是;如果不是3的倍的倍数数则则在在标签标签Label2中中显显示示“这这个数不是个数不是3的倍数的倍数”。示例程序界面如。示例程序界面如下。下。n n=3=3请请根据参考界面完成界面根据参考界面完成界面设计设计,程序代,程序代码码参考如下:参考如下:Private Sub Command1_Click()Dim n As Integer n Val(Text1.Text)If _ Then If n Mod 2 0 And n Mod 3 0 Then_ ElseIf_Then Label2.Caption “这这是一个能被是一个能被3整除的奇数整除的奇数”Else Label2.Caption “这这个数不是个数不是3的倍数的倍数”_ Else Label2.Caption “输输入入错误错误,请请重新重新输输入入”End IfEnd Sub请补请补充完整划充完整划线处线处的的语语句句Label2.Caption=Label2.Caption=这是一这是一个能被个能被3 3整除的偶数整除的偶数 End IFEnd IFn Mod 2=1 And n Mod 3=0 n Mod 2=1 And n Mod 3=0
限制150内