参考课件 msgbox函数与选择结构

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

19
4.If语句的嵌套
If语句的嵌套是指If或Else后面的语句块中又包含If语句。 形式如下: If <表达式1> Then If <表达式11> Then … End If … End If
20
例:已知x,y,z三个数,使得x>y>z
用一个IF语句和一个嵌套的IF语句实现
x<y T x 与 y 交换 x >y y<z T y 与 z 交换
•表达式 •一组枚举表达式(用逗号分隔) 例: “A” 或者 10 2,4,6,8
•表达式 To 表达式•Is 关系运算表源自式例如:Case 1 To 5
例如:Case Is<=100
注意:只能 “小 to 大”
注意:使用Is定义条件时,只能是简单的条件,不能用逻辑
运算符将两个或多个简单条件组合。 如:Case Is>5 And Is<10 是不合法的。 •以上4种形式可以混用 例如:Case Is<5,8,9,20 to 30
根据下列公式求函数
1 x x 1 1 x 2 x2
y=
(1 x)( 2 x) (2 x)
If x < 1 Then y=1-x ElseIf x >= 1 And x <= 2 Then y = (1 - x) * (2 - x) Else y = -(2 - x) End If
MsgBox(<提示信息>[,<按钮类型>][,<对话框标题>])
功能:在对话框中显示消息,等待用户单击按钮,并返回一 个整数告诉用户单击了哪个按钮。
2
“按钮类型”的设置值及含义
分类 按钮值 0 1 2 按钮类型 3 4 5 16 图标类型 32 48 64 0 默认按钮 256 512 vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 系统定义符号常量 vbOKOnly vbOKCancel vbAbortRetryIgnore 含义 只显示“确定”按钮 显示“确定”、“取消”按钮 显示“终止”、“重试”、“忽略”按 钮 显示“是”、“否”、“取消”按钮 显示“是”、“否”按钮 显示“重试”、“取消”按钮 显示停止图标 x 显示询问图标 ? 显示警告图标 ! 显示信息图标i 第一个按钮是默认按钮 第二个按钮是默认按钮 第三个按钮是默认按钮
3
MsgBox函数的返回值
系统符号常量 vbOK vbCancel vbAbort 返回值 1 2 3 按键 确定 取消 终止
vbRetry vbIgnore vbYes
vbNo
4 5 6
7
重试 忽略 是

•若不需要返回值,则可以使用MsgBox语句, 其格式为: MsgBox <提示信息> [,<按钮类型>][,<对话框标题>]
Private Sub Command1_Click( ) a= MsgBox(“提示信息” , ,“标题”) End Sub
省略第二个参数“按钮类 型”,但逗号不能省略
Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1,“标题”) End Sub
显示“确定”、“取消”按 钮
23
2、如果同一个范围在多个Case子句中出现,则只执行符合要求的第一个 Case子句的语句块。
3、Case Else子句必须放在所有的Case子句之后。
24
例:变量strC中存放了一个字符,判断该字符类型。
用IF多分支结构实现: If Ucase(strC) >="A" And Ucase (strC) <="Z" Then Print strC + "是字母字符" ElseIf strC >="0" And strC <="9" Then Print strC + "是数字字符" Else Print strC + "其他字符" End If
F
If x<y Then t=x: x=y: y=t If y<z Then t=y: y=z: z=t If x<y Then t=x: x=y: y=t End If End If
F
x >y>z
x< y
z 为最小数 F
T x 与 y 交换 使得 x >y
21
If语句的嵌套注意事项:书写锯齿型; If 与End If配对。
4
例:
Private Sub Command1_Click( ) a= MsgBox(“提示信息”) End Sub
只显示“提示信息”
Private Sub Command1_Click( ) a= MsgBox(“提示信息” & Chr(13) & “换行显 示”) End Sub
提示信息换行
5
If a > b Then max = a Else max = b End If
17
18
例: 已知变量strC中存放了一个字符,判断该字符是字母字 符、数字字符还是其他字符。 用多分支结构实现: If Ucase(strC) >="A" And Ucase (strC) <="Z" Then Print strC + "是字母字符" ElseIf strC >="0" And strC <="9” Then Print strC + "是数字字符" Else Print strC + "其他字符" End If 不管有几个分支,依次判断,当某条件满足,执行相应的语句, 其余分支不再执行;若条件都不满足,且有Else子句,则执行该 语句块,否则什么也不执行。. ElseIf不能写成 Else If。
x0 x0
单分支结构实现:
双分支结构实现:
y=cos(x)-x^3+3*x If x<>0 Then y=sin(x)+sqr (x*x+1)
If x<>0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)-x^3+3*x End If
14
3. If…Then…ElseIf语句(多分支结构)
7
选择结构
1. If…Then语句(单分支结构) 块形式:If <表达式> Then 语句块 End If 单行形式: If <表达式> Then <语句> <表达式> : 一般为关系表达式、逻辑表达式, 也可以是算术表达式(非0为true,0为false)

8

问题: 如果 成绩(存于变量a) 大于60 ,显示及格。
<语句块1> Else
<语句块2> End If
单行形式: If <表达式> Then <语句1> Else <语句2>
11

问题: 如果 成绩(存于变量a) 大于60 ,显示及格, 否则显示不及格。
12
双分支程序示例
①求a,b中的较大数
If a > b Then max = a Else max = b End If
②将百分制转换成两级制
If score > 60 Then print “过” Else print “不过” End If 单 行 书 写
单 行 书 写
If a > b Then max = a Else max = b
请回答
13
计算分段函数:
sin x x 2 1 y cos x x 3 3x
哪个能实现,哪个不能实现? 方法二代码错误:
1. Select Case 后不能出现多个变量; 2. Case后不能出现变量及有关运算符。
27
6.条件函数
(1)IIf函数形式是:
IIf(表达式,当表达式为True时的值,当表达式为False时的值)
含义:当条件为True时,返回True表达式的值,当条件为False时, 返回False表达式的值。 例如,求x,y中大的数,放入Tmax变量中,语句如下: Tmax=IIf(x > y,x,y)
5. Select Case语句(情况语句)
形式:
Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 … [Case Else 语句块n+1] End Select
22
Select Case语句(情况语句)说明
1、<表达式列表>:与<变量或表达式>同类型的下面四种形式之一:
6
Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1+16,“标题”) End Sub
显示停止图标
Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,2+32+0,“标题”) End Sub
设第一按钮是 默认按钮

消息框函数(MsgBox) 选择结构
1
消息框函数(MsgBox)
在windows中,如果操作有误,通常会在屏幕上显示一个 对话框,提示用户进行选择,然后系统根据选择确定其后的 操作。 VB提供的MsgBox函数可以实现此功能,它可以向用户传 送信息,并可以接收用户在对话框上的选择,以此作为程序 继续执行的依据。 格式:
形式: If <表达式1> Then <语句块1> ElseIf <表达式2> Then <语句块2> … [Else 语句块 n+1 ] End If
15

问题: 如果 成绩(存于变量a) 大于90 ,显示优秀; 大于80,显示良好;大于60,显示及格;否则 显示不及格。
16
多分支结构示例
26
例:已知坐标点(x,y),判断其落在哪个象限。
方法一 方法二 If x > 0 And y >0 Then Select Case x,y Case x > 0 And y > 0 Print "在第一象限" Print "在第一象限" ElseIf x < 0 And y > 0 Then Case x < 0 And y > 0 Print "在第二象限" Print "在第二象限" ElseIf x < 0 And y < 0 Then Case x < 0 And y < 0 Print "在第三象限" Print "在第三象限" ElseIf x > 0 And y <0 Then Case x > 0 And y <0 Print "在第四象限" Print "在第四象限" End If End Select
25
用Select Case语句实现:
Select Case strC Case "a" To Print Case "0" To Print Case Else Print End Select
"z","A" To "Z" strC + "是字母字符" "9" strC + "是数字字符"
strC + "其他字符"
问题:已知百分制成绩mark,显示对应的五级制成绩 哪些正确,哪些错误?
方法一 If mark >= 90 Then Print "优" ElseIf mark >= 80 Then Print "良" ElseIf mark >= 70 Then Print "中" ElseIf mark >= 60 Then Print "及格" Else Print "不及格" End If 方法二 If mark < 60 Then Print "不及格" ElseIf mark < 70 Then Print "及格" ElseIf mark < 80 Then Print "中" ElseIf mark < 90 Then Print "良" Else Print "优" End If 方法三 If mark >= 60 Then Print "及格" ElseIf mark >= 70 Then Print "中" ElseIf mark >= 80 Then Print "良" ElseIf mark >= 90 Then Print "优" Else Print "不及格" End If
9
例:已知两个数x和y,比较它们的大小, 使得x大于y. If x<y Then t=x x=y y=t End If 或 If x<y Then t=x: x=y: y=t
重要的是学会两个数的交换,若上述语句次序变一下,结果如何?
10
2. If…Then…Else语句(双分支结构)
块形式: If <表达式> Then
相关文档
最新文档