VB编程序的基本结构
1
2 3
“确定”
“取消” “中止”
vbRetry
vbIgnore vbYes vbNo
4
5 6 7
本书目录
“重试”
“忽略” “是”” “否”
11
例 在Form1_Click()事件过程中定义一个消息框,代码如下: Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Click Dim s As Integer s = MsgBox("用户名必须包含数字和字母", 5 + 48, "警告") If s = vbCancel Then End ' 若用户单击"取消",则程序退出 End Sub
End Sub
本书目录
9
2. MsgBox(消息框)
MsgBox函数用于在屏幕上的消息框中显示简短消 息,并等待用户单击按钮,然后返回一个整数型的数值, 让应用程序了解用户单击的是哪一个按钮。
语法格式: MsgBox(Prompt[,Buttons] [,Title])
功能:在屏幕上显示一个消息框,根据选择确定其后的 操作。
输入圆的半径r
顺序结构可以独立使用构成一 个简单的完整程序,常见的输入、 计算,输出三部曲的程序就是顺序 结构,例如计算圆的面积。
计算s = 3.14*r*r
输出圆的面积s
3.1.1 赋值语句
语法格式:变量名 = 表达式 功能: 计算赋值号“=”右边表达式的值,然后赋给
赋值号“=”左边的变量。
给变量赋值和设定属性是VB编程中常见的两个任务
如以下语句, n=n+1 '计数累加 Label1.Text = "欢迎使用VB "
以下语句形式很常用: • dim sum% , x% sum=100 : x=5 sum = sum + x ‘执行后,sum的值为多少?
•
dim
n% ‘执行后,n的值为多少?
n=7 n = n + 1
本书目录
6
3.1.2 用户交互函数
本书目录
7
1. InputBox (输入对话框函数)
输入对话框一般由标题、提示信息、“确定” 按钮、“取消”按钮和一个供用户输入的文本框组 成。当用户将输入信息输入到文本框,并单击“确 定”按钮后,函数返回用户输入的字符串数据。当 单击“取消”按钮时,返回一个空字符串。 语法格式:InputBox(Prompt[,Title][,Default])
思考:该处续行符 能否去掉?
Dim x As Single x = Val(InputBox("输入实数x", "计算分段函数的值")) If x <= 4 Then MsgBox("f(x)=" + Str(1 - x * x)) Else _ MsgBox("f(x)=" + Str((x - 4) ^ 0.25))
MsgBox(ch + "是字母字符")
ElseIf Else MsgBox(ch + "是其他字符") End If ch >= "0" And ch <= "9" Then MsgBox(ch + "是数字字符")
下列程序执行后,变量X的值为( Private Sub Form1_Click()
多分支结构举例
语法格式: If 表达式1 Then
… ElseIf 表达式n Then
语句块1 ElseIf 表达式2 Then 语句块2 语句块n
[Else End If
语句块n+1]
注: ElseIf 不能写成 Else If
多分支结构举例
例 已知变量ch中存放了一个字符,判断该字符是字母 字符、数字字符还是其他字符。 If UCase(ch) >= "A" And UCase(ch) <= "Z" Then
Dim Number%
Number = Val(InputBox("输入整数")) Select Case Number Case 1 To 5 ' 范围为[1,5] Msgbox( "Between 1 and 5“)
Case 6, 7, 8
Msgbox ("Between 6 and 8“) Case 9, 10
正确答案:C
多分支结构
不管有几个分支,依次判断,当某条件满足,执行相应 的语句,其余分支不再执行;若条件都不满足,且有Else子 句,则执行该语句块,否则什么也不执行。
If
表达式 1
Elseif F
表达式 2
T Then
Elseif F
表达式 n
T
else F
T
语句块1
语句块2
语句块n
语句块n+1
28
IIF函数
格式: IIf(表达式,TruePart,FalsePart) IIf函数是If „ Then „Else 结构的简洁表示 例如,将x,y中大的数,放入Tmax变量中:
本书目录
8
例 创建一个输入对话框。如下图所示:
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Click
Dim myvalue As Object myvalue = InputBox("请输入数值,数值在1~3之间!", "输入提示", "1")
b
3
t
也可改写成行IF语句,如下所示,
If b > a Then t = a : a = b: b = t
双分支结构
多行形式 If 表达式 Else Then
T Then 语句块1
If
表达式
语句块1
语句块2
F Else 语句块2
End If
单行形式
If 表达式 Then 语句块1 Else 语句块2 当表达式的值为True时,执行Then后面的语句块1,否则执行 Else后面的语句块2
本书目录
10
当用户单击消息框上的某按钮时,MsgBox函数将返回一个常 量来确认该按钮被按动了,下表是按钮和常量之间的对应关系。通 过对返回值的判断,就可以确定消息框中到底是哪个按钮被按动, 从而确定程序下一步的运行方式。
表 Msgbox函数的可能返回值 符号常量 值 用户单击的按钮
vbOK
vbCancel vbAbort
End Sub
双分支结构练习
例: 计算当 0<x<10时,y=x,否则 y=100 ,正确的语句 是_____。 A. If 0<x<10 then y=x else y=100 B. If 0<x and x<10 then y=x
else y=100
C. If 0<x and x<10 then y=x else y=100 D. If 0<x or x<10 then y=x else y=100
第3章 程序的基本结构
1 2 3 4
• 顺序结构 • 分支结构
• 循环结构
• 综合应用
程序开发的两步
界面 设计
程序
代码
设计
程序基本控制结构(三种)
顺序结构
循环结构
选择结构
3.1 顺序结构
顺序结构的程序设计是最简单的,只要按照解决 问题的顺序写出相应的语句就行。
顺序结构就是各语句按出现的先后次序执行
System.EventArgs) Handles _ Button1.Click Dim x, y As Single x = Val(TextBox1.Text) Select Case x Case Is < 0 y=x Case Is <= 10 y=x*x Case Is <= 20 y = 10 Case Else y = 0.5 * x + 20 End Select MsgBox("y=" & y) End Sub
Then
语句块
当表达式的值为True,执行Then后面的语句块, 否则不做任何操作。
单分支结构
表达式:关系表达式、逻辑表达式,
算术表达式(值按非零为True,零为False)。
关系表达式: If x> y Then num1=50 : Msgbox(“你好!”) If (x+30)*100 <= (y^20) then num2=num5 逻辑表达式 If a And b Then num2=num3: k=k+1 If not x Then sum=sum+mark: i=i+1 If (x>y) or (num1<=num2) Then i=i+1
Select Case ch Case "a" To "z", MsgBox (ch + Case "0" To "9" MsgBox (ch & Case Else MsgBox (ch + End Select
"A" To "Z" "是字母字符") "是数字字符") "是其他字符")