程序流程有三种最基本的控制 结构,即顺序结构、选择结构和循 环结构。 在一个过程中,程序通常是按 照由上而下的顺序来执行各个语句 的,直到整个过程结束。引入选择 结构和循环结构,可以改变程序执 行的流程。主页
第4章 选择结构设计选择程序结构用于判断给定的条件,根据判断的结果判 断某些条件,根据判断的结果来控制程序的流程
本章主要内容条件表达式 关系表达式 / 逻辑表达式条件语句 多分支语句 选择性控件 计时器控件 程序举例退出
If...Then / If...Then...Else 条件语句的嵌套
单选按钮 / 复选框
主页
选择结构设计选择程序结构用于判断给定的条件,根据判断的结果判 断某些条件,根据判断的结果来控制程序的流程
4.1 条件表达式If x = 5 Then y = x + 1 If a>1 And b<>0 Then x = 1 关系表达式和逻辑表达式 示例
4.2 条件语句两种格式的条件语句:
If ... Then If ... Then ... Else主页
4.2.1 If...Then语句单行结构
If 条件 Then 语句 If 条件 Then多行(块)结构
End If功能:若条件成立(值为真),则执行Then后面的语句或语 句块,否则直接执行下一条语句或“End If‖的下一条语句
主页
4.2.2
If...Then...Else语句If 条件 Then 语句块1 Else 语句块2 End If真 假
格式: (A)A E
B
(B)
功能:首先测试条件(E),如果条件成立(即值为真),则 执行Then后面的语句块1,如果条件不成立(即值为假),则 执行Else后面的语句块2。而在执行Then或Else之后的语句块 后,会从End If主页
4.2.3 IIf函数实现一些简单的条件判断分支结构 格式: IIf(条件,条件为真时的值,条件为假时的值) 功能:对条件进行测试,若条件成立(为真值),则 取第一个值(即“条件为真时的值”),否则取第二个 值(即“条件为假时的值”) 例如,将a、b中的小数,放入Min Min=IIf(a<b,a,b)主页
思考题
请你给出答案
想一想
1. 下列字符中,____字符最大,____字符最小。 A. 1 B. Z C. * D. a最大字符:D 最小字符:C
2. 假设a=1,b=2,下列逻辑表达式中其值为真的有F
A. a<=0 B. a>=0 And b>2 C. a<=0 Or "b"> "ab" D. a>=0 And Not b<2
FT T T
E. 2*a=-b Or a>0 And b>0主页
思考题
下列程序的运行结果是?
例4.1a Private Sub Form_Load() Show a = 1: b = 3 c=3*a-b a = IIf(c < a, a - 1, b) + 1 If a * 2 - 1 <= 10 Then b = b + c If 3 * b > a Then a=a+1 c=c-1 Else a=a-1 End If Print a, b, c End Sub 2 3 -1
想一想
主页
例4.2 输入三个数a、b、c,求出其中最大数(1)创建应用程序的用户界面和设置对象属性 (2)编写程序代码 功能要求:用户在“a=‖文本框(Text1)、“b=‖文本框 (Text2)和“c=‖文本框(Text3)中输入数据,单击“判断” 按钮后,则在“最大数=”文本框(Text4)中输出结
果
例4.2
主页
程序代码Private Sub Command1_Click() Dim a As Integer, b As Integer Dim c As Integer, m As Integer a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a > b Then m=b m=a Else m=b End If If c > m Then m = c Text4.Text = m End Sub
程序流程图'm用来存放较大值开始 从3 个文本框中 读取数值a, b, c
假
a>b
真 m=a
c>m 假
真 m=c
在文本框Text4 中显示m值 结束
主页
4.2.4 条件语句的嵌套Then和Else后面的语句块包含另一个条件语句
1.一般格式If 条件1 Then If 条件2 Then … End If Else … End If使用条件语句嵌套时,一定要注意If与Else,If 与End If的配对关系。主页
例4.4 根据不同的时间段发出问候语
例4.4
例如:0时至12时,显示“早上好” 利用窗体装载(Load)事件,采用Print直接在窗体上输出结果 Private Sub Form_Load()Dim h As Integer Show '使print输出在窗体上的内容可见 h = Hour(Time) '取系统的时间 FontSize = 30 : ForeColor = RGB(255, 0, 0) BackColor = RGB(255, 255, 0) If h < 12 Then Print "早上好!" Else If h < 18 Then Print "下午好!" Else Print "晚上好!" End If End If
End Sub主页
2. ElseIf格式If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2 ElseIf 条件3 Then 语句块3 …… [Else 语句块n] End If
If h < 12 Then Print "早上好!" ElseIf h < 18 Then Print "下午好!" Else Print "晚上好!" End If
先测试条件1,如果为假,就依次测试条件2,依此类推, 直到找到为真的条件。 一旦找到一个为真的条件时,VB会执行相应的语句块, 然后执行End If语句后面的代码。 如果所有条件都是假,那么执行Else后面的语句块n,然 后执行End If
主页
思考题
下列程序的运行结果是?例4.4a
Private Sub Form_Load() Show a = 1: b = 3 If a * 4 - 1 >= b Then If b > 5 Then b = b + 1 ElseIf b > 2 Then b=b-1 Else b=b+2 End If b = IIf(a = b, b + 1, b - 1) Print b End Sub 2
想一想
主页
4.3 多分支语句使用多分支语句Select Case也可以实现多分支选择。更 有效、更易读,并且易于跟踪调试。Select Case 测试表达式 Case 表达式表1 语句块1 [Case 表达式表2 语句块2] ... [Case Else 语句块n End Select 示例 Select Case x Case -1 y=10 Case 1 y=20 Case Else y=30 End Select
先计算表达式的值,然后将该值依次与结构中的每个Case的值进行比 较,如果该值符合某个Case指定的值条件时,就执行该Case的语句块, 然后跳到End Select,从End Select出口。如果没有相符 …… 此处隐藏:2312字,全部文档内容请下载后查看。喜欢就下载吧 ……