程序If语句、SelectCase语句的格式与使用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注1: If语句的完整性,即内层If语句必须完 整地出现在外层If语句的Then子句或Else子 句中。
外层If 内层If
内外层不能有交叉!
内层If
2.3.4 If语句的嵌套
注2:Else-If的匹配原则
Else始终与上面距离其最近的未 被匹配过的 If匹配
注3: If -End If的匹配
If 块必须以一个 End If 语句结束
If … Then If …Then …… Else …… End If Else If …Then … … If ……Then …… Else …… End If
在Then子句或Else子句的语句体中包含完整 的一条If语句
如: If x > y Then Print x & “>” & y
Else
一条If语句
If x<y Then Print x & “<” & y
Else Print x & “=” & y
一条If语句
End If End If
2.3.4 If语句的嵌套
(x50)*2020*10 x50
此分段函数用程序代码表示如下:
Private Sub Command1_Click()
Dim x As Single, y As Single
x = Val(Text1.Text)
If x < 30 Then
' x<30
y=0
ElseIf x <= 50 Then
' 30<=x<=50
2.3.3 If…Then…ElseIf…结构
格式:
If <表达式1> Then 语句体1
ElseIf <表达式2> Then 语句体2
……
[Else 语句体n+1]
End If
Else和If间无空格
表达式1e 执行语句体2 False 表达式3=……
y = (x - 30) * 10
Else
' x>50
y = (x - 50) * 20 + 20 * 10
End If
Text2.Text = y
End Sub
能否写成?
x >= 30 And x<=50
可以,但Else 已经包含了 x>=30的信息
2.3.4 If语句的嵌套
If语句中又包含If语句
2.3.3 If…Then…ElseIf…结构
表达式1 T
语句体1
F 表达式2 T
语句体2
F
……
…… ……
表达式n T
语句体n
F 语句体n+1
•判断的顺序为表达式1、表达式2…… •只有当表达式1为False时才判断表达式2,当表达式 1和表达式2都为False时,才判断表达式3, •程序执行语句体n+1的条件为前n个表达式均为False。
程序If语句、Select Case语句的 格式与使用
学习重点
If语句、Select Case语句的格式与使用。 If 语句的嵌套使用。 掌握常用的选择结构算法。
本节内容
If语句 Select Case语句 基本算法及应用 其他应用举例 本节小结
引言
分支结构
True
P
False
A
B
2.3 If语句
'第1个文本框的名称是txtX
If x < 0 Then MsgBox "x不能小于0"
Else
y = Sqr(x) txtY.Text = Str(y)
'第2个文本框的名称是txtY
End If
E等n价d S于ub:
If x < 0 Then MsgBox "x不能小于0" Else y = Sqr(x) : txtY.Text = Str(y)
条件表达式 True
语句体
False
格式2:单行形式 If <条件表达式> Then 语句体
注注注32:1::语当条句条件体件表中为达可T式r以u的e是时值多执条为行语T语r句u句e,或体当F,a采l否s用e则,格执一式行2
时I般f,语是所句逻有的辑的下或语一关句条系必语表须句达写式在,一也行可,以用是冒算号术隔表开达语句 体式中(的转语换句为逻辑值)
2.3.1 If…Then…结构 2.3.2 If…Then…Else…结构 2.3.3 If…Then…Else If…结构 2.3.4 If语句的嵌套 2.3.5 与If语句有关的函数
2.3.1 If…Then…结构
两种格式:
格式1: 块形式 If <条件表达式> Then
语句体 End If
2.3.3 If…Then…ElseIf…结构
例2-3 -3 旅客乘车旅行,可免费携带30公斤行李,超 过30公斤的部分每公斤需支付托运费10元,超过50 公斤部分则每公斤需支付20元托运费。请编程根据 每位旅客行李的重量计算其应付的行李托运费。
例2-3-3
0
x30
y (x30)*10 30x50
2.3.1 If…Then…结构
例:已知有两数x、y,编程使x中存放较大的数
分析:如果x>=y,则不需要做处理 如果x<y,则做交换处理
实现:
If x < y Then t=x x=y
特别注意: 块结构时If和End If成对出现
y=t
End If
用格式2描述:
If x < y Then t = x:x = y:y = t
End Sub
Private Sub Timer1_Timer() Text1.Text = Text1.Text - 1 If Text1.Text = 0 Then Timer1.Enabled = False End If End Sub
2.3.2 If…Then…Else…结构
两种格式:
格式1: If <条件表达式> Then
语句体1 Else
语句体2 End If
T
F
条件表达式
语句体1
语句体2
格式2: If <条件表达式> Then 语句体1 Else 语句体2
注:当条件为True时执行语句体1,否则执行语 句体2
例2-3-2 已知x,求 y x
程序代码如下:
Private Sub CmdCul_Click()
Dim x As Single, y As Single x = Val(txtX.Text)
2.3.1 If…Then…结构
例1 倒计时设计,主要利用文本框、按钮、 计时器控件实现倒计时功能。
例2-3-1
: 程序代码如下
Private Sub Command1_Click() Timer1.Interval = 1000 Timer1.Enabled = True
End Sub
Private Sub Form_Load() Timer1.Enabled = False