VB 选择结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2
3
n
n+1
2020/4/2
27
Case子句中的表达式列表可以有以下几种形式:
形式
表达式
表达式1 To 表 达式2
Is 关系运算符 表达式
示例
Case 2*a, 12,14
Case 1 To 10
Is<100
说明
数值或字符串,测试条件的值可以是2*a, 12,14三者之一 1≤测试条件值≤10
测试条件值<100
分析:设行李重量为wkg,应付运费为x元,则运费公式
为:
0.25 w
(w 50)
x 0.2550 0.35 (w 50)
(50 w 100)
0.2550 0.3550 0.45 (w 100)
(w 100)
2020/4/2
20
Private Sub Command1_Click()
2020/4/2
18
条件1 条件2
2020/4/2
19
例:铁路托运行李,从甲地到乙地,规定每张客票托运
费计算方法是行李重量不超过50kg时,0.25元/kg,超过
50kg而不超过100kg时,其超过部分按0.35元/kg收费,超
过100kg时,其超过部分按0.45元/kg收费。编写程序,输
入行李重量,计算并输出托运的费用。
2020/4/2
29
Private Sub Command1_Click( )
Dim m As Integer
m = Val(Text1.Text)
Select Case m
Case Is < 0, Is > 12
Text2.Text = "输入错误"
Case 2
Text2.Text = "本月有29天"
语句序列1]
[Case <表达式列表2>
语句序列2]
……
[Case <表达式列表n>
语句序列n]
[Case Else
语句序列n+1]
End 2020/4/2 Select
26
测试条件
表达式列表1 表达式列表2 表达式列表3……表达式列表n 其他情况







句 …… 句











1
d = "良"
ElseIf score >= 90 And score <= 100 Then
d = "优“
Else
d = "输入错误!"
End If
2020/4/2
24
a=75
If a>60 then
b=1
a=75
ElseIf a>70 then
If a>60 then b=1
b=2
If a>70 then b=2
比较 数值型与可转换成数值型的数据比较,按转换后
的数值进行比较 日期型数据的比较,看成”yyyymmdd”的8位整
数 单精2度020/数4/2不能直接进行”=”的比较,计算机中 4
4.1.3 布尔运算符与布尔表达式
运算符
含义
示例
结果
说明
Not
取反 Not T
F
对其后的布尔值取反
And

T And F
a=12
Print “a=”; a
b=2*a
Print “b=”; b
End Sub
结果:a=12 b=24
2020/4/2
11
4.3 If语句
4.3.1 单行选择语句If…Then…Else
单行选择语句的语法格式为:
If <条件> Then 语句序列1 [Else 语句序列2]
条件表达式的结果 为一个布尔值;可 以是关系表达式; 布尔表达式;数值 表达式,非0值为 True,0为False;字 符串表达式,只允 许出现包含数字的 字符串。
优先级
1 2 3 4 5 6 7 8 9 10 11 12 2020/143/2
运算符类型 算术运算符
字符串运算符 关系运算符 布尔运算符
运算符
^(指数运算)
-(取负)
*、/(乘法和除法)
\(整除)
Mod(求模)
+、-(加法和减法)
&(字符串连接)
=、<>、<、<=、>、>=
Not(取反)
And(与)
2020/4/2
16
4.3.3 块结构条件语句If…Then…Else…End If
当If语句中的语句序列要包含多条语句时,采用块结 构条件语句。
其语法格式如下: If <条件> Then
[<语句序列1>] [Else
[<语句序列2>]] End If
If x >= 2 Then y=x^3-9
Else y=x^2+5*x–6
Dim w As Single, x As Single
w = Val(Text1.Text)
If w <= 50 Then
x = 0.25 * w
Else
If w <= 100 Then
x = 0.25 * 50 + 0.35 * (w–50)
Else
x = 0.25 * 50 + 0.35 * 50 + 0.45 * (w–100)
VB只有一种字符串连接符,即连接运算符“&”。 字符串表达式的格式为: <字符串1> & <字符串2> [& <字符串3>…… &<字 符串n>]
例如: “xyz” & 123 & 456 123 & “100”
‘ 运算结果为xyz123456 ‘ 运算结果为123100
2020/4/2
6
4.1.5 运算符的优先顺序
2020/4/2
22
例【4-8】学生成绩采用五分制:成绩小于60分为 “不及格”,大于等于60小于70为“及格”,大 于等于70小于80为“中”,大于等于80小于90为 “良”,大于等于90为“优”。试编写程序判断 某学生的成绩等级。
分析:可从文本框1中获取学生成绩,然后进行 判断并在文本框2中输出。
Or、Xor(或和异或)
Eqv(等价)
Imp(蕴含)
7
求表达式Not 8>6 Or 6>5 And 5+3>10的值
(1) 算术运算:Not 8>6 Or 6>5 And 8>10 (2) 关系运算:Not True Or True And False (3) 取反操作:False Or True And False (4) 与操作:False Or False (5) 最后得到:False
Case 1, 3, 5, 7, 8, 10, 12
Text2.Text = "本月有31天"
Case Else
Text2.Text = "本月有30天"
End Select
End Sub
2020/4/2
30
练习
1.按下列公式计算Y值
y
sin x cos x
x2 1 x 3 3x
x0 x 0
F
当两个值均为真时结果为真
Or

T Or F
T
当两个值均为假时结果为假
Xor
异或 T Xor F
T
两个值相反时,结果才为真
Eqv
等价 T Eqv F
F
两个值相同时,结果才为真
Imp
蕴含 T Imp F
F
2020/4/2
第一个值为真,第二个值为 假时结果为假,否则结果为 真
5
4.1.4 字符串运算符与字符串表达式
第四章 选择结构
4.1 运算符与表达式 4.2 顺序结构 4.3 If语句 4.4 多条件选择语句 4.5 选项按钮 4.6 复选框
2020/4/2
1
4.1 运算符与表达式
4.1.1 算术运算符与算术表达式
两种含义:减法或 运算符
者取负
^
-
*
/
区别
\
求整型除
Mod
法的余数+-2020/4/2
运算 乘方 取负 乘法 除法 整除 取模 加法 减法
2020/4/2
8
判断一个年份是否是闰年,需要满足以下条 件:该年份能被4整除但不能被100整除,或该 年份能被100整除又能被400整除。设y为年份。
条件1:y mod4=0 And y mod100<>0 条件2:y mod100=0 And y mod400=0
y mod4=0 And y mod100<>0 Or y mod100=0 And y mod400=0
End If
End If
Text2.Text = x
End Sub2020/4/2
21
4.3.5 ElseIf语句
多层的If语句嵌套格式使程序冗长复杂。 ElseIf语
句的语法格式如下: If <条件1> Then [语句序列1] ElseIf <条件2> Then [语句序列2] …… Else [语句序列n+1] End If
2020/4/2
9
4.2 顺序结构
顺序结构是程序中最基本的一种结构,顾名思义 是按照顺序向下执行,一条语句执行完毕之后接 着执行下一条语句的结构。
语句1 语句2
语句3
2020/4/2
10
Private Sub Command1_Click()
Dim a As Integer,b As Integer
End Sub
2020/4/2
15
4.3.2 IIF语句
IIF语句也是单条件选择结构语句,其语法格式为: IIF(条件,语句序列1,语句序列2) 其中:语句序列1是条件为真时要执行的语句块部分, 语句序列2是条件为假时要执行的语句块部分。
If x >= 2 Then y = x ^ 3 - 9 Else y = x ^ 2 + 5 * x - 6 利用IIF语句可将改其写成如下形式: y=IIF(x>=2, x ^ 3 – 9,x ^ 2 + 5 * x – 6)
ElseIf a>80 then
If a>80 then b=3
b=3
If a>90 then b=4
ElseIf a>90 then
b=4
Else
b=0
End If
2020/4/2
25
4.4 多条件选择语句Select Case
语法格式如下:
Select Case <测试条件>
[Case <表达式列表1>
2020/4/2
23
If score >= 0 And score < 60 Then
d = "不及格"
ElseIf score >= 60 And score <70 Then
d = "及格"
ElseIf score >= 70 And score < 80 Then
d = "中"
ElseIf score >= 80 And score <90 Then
End If
块结构中的If语句必须以End If结束
2020/4/2
17
4.3.4 If语句的嵌套
If语句的嵌套是指语句序列1或语句序列2本身又是
一个If语句。
语法格式:If <条件1> Then
If <条件2> Then
<语句序列1>
Else
<语句序列2>
End If
Else
<语句序列3>
End If
2.输入3个不同的数,将它们从大到小排序
3.假定每周的工作安排:星期一、三:计算机;星 期二、四:高等数学;星期五:英语;星期六、日: 休息。输入星期,输出安排。
提示:用0~6代表星期日到星期六。
2020/4/2
31
4.5 选项按钮控件
选项按钮(OptionButton)就是我们通常所说的单选按钮, 它的主要功能是提供一组选择,这些选择是互斥的,要 求在这些互斥的选择中根据需要选取一个且只能选取一 个。
示例
2^3 -a(a=2)
6.5*6 13/2 13\2 15Mod4 45+6 23-11
结果
8 -2 39.0 6.5 6 3 51 12
2
4.1.2 关系运算符与关系表达式
相优 同先 的级
的 级 别 都 是
运算符 > >= < <= =
含义
示例
大于
5>3
大于等于 “a”>=“b”
小于 小于等于
2020/4/2
28
例【4-10】判断某一闰年中任意给定的月份有多少 天。
分析:在闰年中,2月有29天,1、3、5、7、8、10、 12月有31天,其他月份有30天。这是个多个条件的 选择问题,用Select Case语句实现。设计时有文本 框1提供月份的输入,文本框2用于输出该月有多少 天,点击“判断”按钮进行判断。
y = x 3- 9
y = x 2 + 5 x -6
输出 y 值
2020/4/2
14
Private Sub Command1_Click( ) Dim x As Single x = Val(Text1.Text) If x >= 2 Then y = x ^ 3 - 9 Else y = x ^ 2 + 5 * x - 6 Text2.Text = y
“abc”<“bc
d” 5<=6
等于
“56”=“65”
<>
2020/4/2
不等于
“ABCD”<> ”ABC”
结果 True False True True False True
3
进行关系运算时,先算出关系运算符两侧表达式 的值,然后再进行比较
表达式均为数值型时,按数值大小进行比较 表达式是字符串型时,对应的字符按ASCII值进行

语句序列1
条件

语句序列2
2020/4/2
12
例【4-3】根据以下分段函数,任意输入一个x值, 求出y值。
x3 9, x 2
y
x
2
5x
6,
x
2
分析:当x≥2时,用公式y=x3-9来求y的值;当 x<2时,用公式y=x2+5x-6来计算y的值。
2020/4/2
13
输入 x 值

x≥ 2

相关文档
最新文档