vb选择结构select
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择结构
一、单分支的if语句
1、格式
[1] If 表达式Then
语句块
End if
[2] If 表达式Then语句块
2、功能:
3、说明:
(1)“表达式”一般为关系或逻辑表达式。
(2)“语句块”可以是任意多个语句,只不过“格式[2]”中的多个语句之间必须用:隔开,书写在同一行。此时,“End if”可以省略。
4、举例:
例1:任意读入两个整数,从小到大输出这两个数。
Private Sub Command1_Click()
Dim a As Integer, b%
a =InputBox("请输入一个整数:")
b = InputBox("请输入一个整数:")
If a > b Then Print b; a End If
If b >= a Then Print a; b End If
End Sub
5、InputBox函数
(1)简单格式
InputBox("提示信息") (2)使用格式(赋值语句)
变量= InputBox("提示信息") (3)功能:从键盘上接受一个数据,然后赋值给某个变量(即读入一个任意值,保存到某变量中。
(4)用InputBox函数输入的数据默认为字符型,但由于赋值语句的特点“右
边服从左边”,通常会自动转换成相应类型值之后再赋值给变量。
例如:
Private Sub Command1_Click()
'a,b不定义就使用,被认为是变体型a = InputBox("请输入一个整数:")
b = InputBox(请输入一个整数:") If a > b Then Print b, a
If b >= a Then Print a, b
End Sub
输入的是“9”和“12”
则会被当成字符串"9"和字符串"12",
赋值给a和b,而字符串按其ASCII 码值比较大小(字典序)。
因此,“变量最好先定义再使用”
二、双分支if语句
1、格式
[1] If 表达式Then
语句块1
Else
语句块2
End if
[2]
If 表达式Then 语句块1 Else 语句块2
2、功能
3、说明
格式[1]中Else独立占一行!
4、举例
改写上例:
Option Explicit
Private Sub Command1_Click() Dim a%, b%
a = InputBox("请输入一个整数:")
b = InputBox("请输入一个整数:") If a > b Then
Print b, a
Else
Print a, b
End If
End Sub
[法二]让a中存放较小数,b中存放较大数。
Option Explicit
Private Sub Command1_Click()
Dim a%, b%, t As Integer
a = InputBox("请输入一个整数:")
b = InputBox("请输入一个整数:") If a > b Then '交换二者的值
t = a
a = b
b = t
End If
Print a, b
End Sub
*重要基本算法:两数交换借助第三数。类似于两水杯交换其中的内容,借助第
三个空杯子,最终空杯子依然是空的。但是,中间变量t却保存了a或b的值。只是没用。
例2:任意读入3个整数,从小到大输出这3个数。
[算法提示:让a中放最小数,c中放最大数]
Option Explicit
Private Sub Command1_Click()
Dim a%,b%,c%,t%
A=inputbox(“:”)
b=inputbox(“:”) c=inputbox(“:”) if a>b then
t=a:a=b:b=t end if
if a>c then
t=a:a=c:c=t end if
if b>c then
t=b:b=c:c=t end if
print a;b;c
End Sub
三、多分支if语句1.格式
If 表达式1 then
语句块1
Elseif 表达式2 then 语句块2
Elseif 表达式3 then 语句块3
……
Else
语句块n
End if
2.功能
3.说明
(1)各“表达式”通常为关系(>、=
等)表达式、逻辑表达式(Not、And、Or)
(2)Else子句可以省略(但一般不省),省略之后可能一个分支都不被执行。(3)各分支中最多只会有一个分支被执行到。
4.应用举例
例2、商场打折:满500元打5折;满300不足500打6折;满200不足300打7折;满100不足200打8折;其余不打折。请为收银员编程,输出顾客应付款。
Option Explicit
Private Sub Command1_Click() Dim cost As Single, x As Single 'x表示商品原价
x = InputBox("读入原价")
If x >= 500 Then