清华大学VB经典教案第四节选择结构程序设计【精选】
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1.2 双分支If语句 双分支If语句有两个分支,其流程图如图4-5所示。双
分支If语句也有两种格式:单行结构和块结构。 格式1:单行结构 If <条件表达式> Then <语句组1> Else <语句组2> 格式2:块结构 If <条件表达式> Then <语句组1> Else <语句组2> End If
注意:在块结构双分支If语句中,Else语句必须是其所在 行的第一条语句,即Else语句不能接在其他语句的后面。
【例4-4】输入x的值,计算并输 出函数y的值,程序运行结果如图 4-6所示。
y
x2 3x 5
2
x
2
4x
6
x≥0 x<0
4.1.3 IIf函数
IIf函数用于实现简单的条件判断,它是单行结构双分支If
第4章 选择结构程序设计
选择结构又称为分支结构,需要先对给定的所有条件一一 进行判断,在众多条件中,当某个条件成立(结果为True)时, 将执行该条件所对应的分支。一般情况下,在一个选择结构的 程序中,任意时刻最多只能有一个分支被执行。
在Visual Basic中,条件表达式有三类:关系表达式、布 尔表达式、算术表达式,这三类表达式作为条件表达式时,其 结果都只可能是True或False,如果是数值将自动转换成对应 的布尔值,即0转换成False,非0转换成True。
对于单行结构双分支If语句,当<条件表达式>的值为 True时,执行Then和Else之间的<语句组1>,否则,执行 Else后面的<语句组2>。在单行结构双分支If语句中,如果语 句组包含多条语句,相互间用冒号“:”分隔。
对于块结构双分支If语句,当<条件表达式>的值为True时, 执行Then和Else之间的<语句组1>,否则,执行Else和End If 之间的<语句组2>。如果语句组包含多条语句,一般写成多行, 如果要写成一行,相互间用冒号“:”分隔。
4.1.5 If语句的专用嵌套形式ElseIf语句
由于If语句的嵌套层次过多,将导致程序书写和阅读困 难,因此,Visual Basic提供了If语句的专用嵌套形式ElseIf 语句,其流程图如图4-8所示。其语法格式如下:
If <条件表达式1> Then <语句组1>
ElseIf <条件表达式2> Then <语句组2>
【例4-5】用IIf函数实现例4-4的函数计算。
4.1.4 If语句的嵌套及IIf函数的嵌套 If语句的嵌套指的是Then或Else后的<语句组1>或<语句
组2>,本身也可以是一个If语句,即If语句的分支中又嵌套了If 语句。使用If语句的嵌套可以实现多个分支的复杂选择。
IIf函数的嵌套指的是IIf函数的第二个参数“<表达式1>” 或第三个参数“<表达式2>”本身也可以是一个IIf函数。
【例4-1】随机产生窗体的背景颜色,用消息框函数实现交 互设置,程序运行结果如图4-2所示。
【例4-2】输入三个数,计算 并输出这三个数中的最小值, 程序运行结果如图4-3所示。
【例4-3】用InputBox函数输 入三个数,对这三个数按从大 到小的顺序排列并输出,程序 运行结果如图4-4所示。
… ElseIf <条件表达式n> Then
<语句组n>
[Else <语句组n+1>]
End If 注意: (1)在<语句组1>~<语句组n+1>中,有且仅有一个<语句 组>被执行; (2)可以有多个ElseIf语句,但只能有一个If语句和一个 End If语句,最多只能有一个Else语句(可以没有Else语句)。 【例4-8】用If语句的专用嵌套形式ElseIf语句实现例4-6的成 绩等级判断。
【例4-6】用InputBox函数输入一 个学生某门课的成绩,判断并输出 该学生的成绩等级,假定成绩大于 或等于85分为“优秀”,大于或等 于70分小于85分为“良好”,大于 或等于60分小于70分为“合格”, 小于60分为“不合格”,程序运行 结果如图4-7所示。
【例4-7】用嵌套的IIf函数实现例4-6的成绩等级判断。
实现选择结构的语句有两种:If语句和Select Case语句。
4.1 If语句 根据If语句所包含的分支数,可以分成:单分支If语句、
双分支If语句和嵌套的If语句,即多分支If语句。 根据If语句的结构,可以分成:单行结构If语句和块结构If
语句。单行结构If语句只能写成一行,而且行尾没有End If语 句;块结构If语句必须写成多行,而且一定是If语句开头End If 语句结束。
语句的简化形式。其语法格式如下:
IIf(<条件表达式>,<表达式1>,<表达式2>)
IIf函数的功能是:先计算<条件表达式>的值,如果为
True,则整个IIf函数的返回值为<表达式1>的值;如果为
wenku.baidu.com
False,则整个IIf函数的返回值为<表达式2>的值。
注意:IIf函数的三个参数都是必选参数,不能省略。
对于块结构单分支If语句,当<条件表达式>的值为True时, 执行Then和End If之间的<语句组>,否则不执行。如果语句 组包含多条语句,一般写成多行,如果要写成一行,相互间用 冒号“:”分隔。
注意: (1)在块结构单分支If语句中,Then语句后必须换行; (2)在If语句中,赋值运算符“=”与关系运算符“=”的区 别。 例如:语句If x=1 Then y=1中,“x=1”是条件表达式,表 示x的值是否“等于”1,而“y=1”是赋值运算,表示将1赋给 变量y,使得变量y的值为1。
4.1.1 单分支If语句 单分支If语句只有一个分支,其流程图如图4-1所示。单
分支If语句有两种形式:单行结构和块结构。
格式1:单行结构 If <条件表达式> Then <语句组>
格式2:块结构 If <条件表达式> Then <语句组> End If
对于单行结构单分支If语句,当<条件表达式>的值为True 时,执行Then后面的<语句组>,否则不执行。语句组又称语 句序列,可以是一条或多条语句,在单行结构单分支If语句中, 如果语句组包含多条语句,相互间用冒号“:”分隔。
分支If语句也有两种格式:单行结构和块结构。 格式1:单行结构 If <条件表达式> Then <语句组1> Else <语句组2> 格式2:块结构 If <条件表达式> Then <语句组1> Else <语句组2> End If
注意:在块结构双分支If语句中,Else语句必须是其所在 行的第一条语句,即Else语句不能接在其他语句的后面。
【例4-4】输入x的值,计算并输 出函数y的值,程序运行结果如图 4-6所示。
y
x2 3x 5
2
x
2
4x
6
x≥0 x<0
4.1.3 IIf函数
IIf函数用于实现简单的条件判断,它是单行结构双分支If
第4章 选择结构程序设计
选择结构又称为分支结构,需要先对给定的所有条件一一 进行判断,在众多条件中,当某个条件成立(结果为True)时, 将执行该条件所对应的分支。一般情况下,在一个选择结构的 程序中,任意时刻最多只能有一个分支被执行。
在Visual Basic中,条件表达式有三类:关系表达式、布 尔表达式、算术表达式,这三类表达式作为条件表达式时,其 结果都只可能是True或False,如果是数值将自动转换成对应 的布尔值,即0转换成False,非0转换成True。
对于单行结构双分支If语句,当<条件表达式>的值为 True时,执行Then和Else之间的<语句组1>,否则,执行 Else后面的<语句组2>。在单行结构双分支If语句中,如果语 句组包含多条语句,相互间用冒号“:”分隔。
对于块结构双分支If语句,当<条件表达式>的值为True时, 执行Then和Else之间的<语句组1>,否则,执行Else和End If 之间的<语句组2>。如果语句组包含多条语句,一般写成多行, 如果要写成一行,相互间用冒号“:”分隔。
4.1.5 If语句的专用嵌套形式ElseIf语句
由于If语句的嵌套层次过多,将导致程序书写和阅读困 难,因此,Visual Basic提供了If语句的专用嵌套形式ElseIf 语句,其流程图如图4-8所示。其语法格式如下:
If <条件表达式1> Then <语句组1>
ElseIf <条件表达式2> Then <语句组2>
【例4-5】用IIf函数实现例4-4的函数计算。
4.1.4 If语句的嵌套及IIf函数的嵌套 If语句的嵌套指的是Then或Else后的<语句组1>或<语句
组2>,本身也可以是一个If语句,即If语句的分支中又嵌套了If 语句。使用If语句的嵌套可以实现多个分支的复杂选择。
IIf函数的嵌套指的是IIf函数的第二个参数“<表达式1>” 或第三个参数“<表达式2>”本身也可以是一个IIf函数。
【例4-1】随机产生窗体的背景颜色,用消息框函数实现交 互设置,程序运行结果如图4-2所示。
【例4-2】输入三个数,计算 并输出这三个数中的最小值, 程序运行结果如图4-3所示。
【例4-3】用InputBox函数输 入三个数,对这三个数按从大 到小的顺序排列并输出,程序 运行结果如图4-4所示。
… ElseIf <条件表达式n> Then
<语句组n>
[Else <语句组n+1>]
End If 注意: (1)在<语句组1>~<语句组n+1>中,有且仅有一个<语句 组>被执行; (2)可以有多个ElseIf语句,但只能有一个If语句和一个 End If语句,最多只能有一个Else语句(可以没有Else语句)。 【例4-8】用If语句的专用嵌套形式ElseIf语句实现例4-6的成 绩等级判断。
【例4-6】用InputBox函数输入一 个学生某门课的成绩,判断并输出 该学生的成绩等级,假定成绩大于 或等于85分为“优秀”,大于或等 于70分小于85分为“良好”,大于 或等于60分小于70分为“合格”, 小于60分为“不合格”,程序运行 结果如图4-7所示。
【例4-7】用嵌套的IIf函数实现例4-6的成绩等级判断。
实现选择结构的语句有两种:If语句和Select Case语句。
4.1 If语句 根据If语句所包含的分支数,可以分成:单分支If语句、
双分支If语句和嵌套的If语句,即多分支If语句。 根据If语句的结构,可以分成:单行结构If语句和块结构If
语句。单行结构If语句只能写成一行,而且行尾没有End If语 句;块结构If语句必须写成多行,而且一定是If语句开头End If 语句结束。
语句的简化形式。其语法格式如下:
IIf(<条件表达式>,<表达式1>,<表达式2>)
IIf函数的功能是:先计算<条件表达式>的值,如果为
True,则整个IIf函数的返回值为<表达式1>的值;如果为
wenku.baidu.com
False,则整个IIf函数的返回值为<表达式2>的值。
注意:IIf函数的三个参数都是必选参数,不能省略。
对于块结构单分支If语句,当<条件表达式>的值为True时, 执行Then和End If之间的<语句组>,否则不执行。如果语句 组包含多条语句,一般写成多行,如果要写成一行,相互间用 冒号“:”分隔。
注意: (1)在块结构单分支If语句中,Then语句后必须换行; (2)在If语句中,赋值运算符“=”与关系运算符“=”的区 别。 例如:语句If x=1 Then y=1中,“x=1”是条件表达式,表 示x的值是否“等于”1,而“y=1”是赋值运算,表示将1赋给 变量y,使得变量y的值为1。
4.1.1 单分支If语句 单分支If语句只有一个分支,其流程图如图4-1所示。单
分支If语句有两种形式:单行结构和块结构。
格式1:单行结构 If <条件表达式> Then <语句组>
格式2:块结构 If <条件表达式> Then <语句组> End If
对于单行结构单分支If语句,当<条件表达式>的值为True 时,执行Then后面的<语句组>,否则不执行。语句组又称语 句序列,可以是一条或多条语句,在单行结构单分支If语句中, 如果语句组包含多条语句,相互间用冒号“:”分隔。