Visual Basic 程序设计第 4节 算法基础及 VB基本语句
4.2 分支结构
4.3 循环结构
4.1 顺序结构
Visual Basic 程序设计
1.赋值语句
⑴ 给变量赋值格式,变量名 =表达式
⑵ 设置或获取对象的属性设置属性值,[对象名,]属性 =表达式获取属性值,变量名=对象名,属性如,A=“VB程序设计,
Text1.Text=A
B= Text2.Text
4.1 顺序结构顺序结构,各语句按照出现的先后次序依次执行
Print方法系统提供的交互函数或过程包括 赋值语句输入 /输出如,Dim v As Integer
Dim book As String*8
Dim sum As Single
v=26
v=v+1
book=“VB程序设计,
sum=v*123.4+56.7
Visual Basic 程序设计
Boolean? 数值型
True为 -1; False为 0
Boolean? 数值型非 0为 True; 0为 False
1.赋值语句
4.1 顺序结构顺序结构,各语句按照出现的先后次序依次执行例,Dim v As Integer
Dim book As String*8
Dim sum As Double
Dim Bool As Boolean
v=26
v=v+12.3
sum=v*123.4+56.7
v=“126”
sum=“123ab”
v=True
sum=False
Bool=123?Bool值为 true
Bool=0 ’Bool值为 False
注意:
(1) 右边表达式的值 强制转换 成左边变量的精度
(2) 若不能实现类型转换,
出现,类型不匹配,错
Visual Basic 程序设计
1.赋值语句
4.1 顺序结构顺序结构,各语句按照出现的先后次序依次执行注意:
(1) 右边表达式的值 强制转换 成左边变量的精度
(2) 若不能实现类型转换,
出现,类型不匹配,错例,Dim X As Single
Dim Y As Single
Dim Sum As Single
X=26
Sin(X)=X+Y
5=Sqr(X)+Y
X+Y=126
Sum=1
Sum=Sum+1
(3) 赋值号 左侧 只能出现变量
(4) 一条赋值语句不能同时给多个变量赋值

Visual Basic 程序设计
4.1 顺序结构顺序结构,各语句按照出现的先后次序依次执行
InputBox函数
Msgbox函数
⑶ 与用户交互函数和过程格式,InputBox ( 提示 [,标题 ] [,默认值 ] [,X] [,Y] )
格式,MsgBox ( 提示内容 [,按钮设置 ] [,标题 ] )
1.赋值语句
⑴ 给变量赋值
⑵ 设置或获取对象的属性
Visual Basic 程序设计
InputBox函数 ---输入框作用,
打开一个对话框,等待用户输入内容。
单击确定,返回输入值(字符型数据)
格式,
变量名 = InputBox ( 提示 [,标题 ][,默认值 ][,X][,Y])
例:设置一个输入框:
提示用户输入查询学号。
提示:
若提示内容中需要换行显示:
在换行处加 chr(13)和 chr(10)
各项参数位置必须一一对应
InputBox函数 ---输入例如:
Private Sub Command1_Click()
Dim name As String * 40,s1 As String * 40
s1 = "请输入姓名 " + Chr(13) + Chr(10) + "然后单击确认 "
name = InputBox(s1,"输入框 ",,100,100)
text1.text=name
End Sub
Visual Basic 程序设计按 钮,可选 。整型表达式,缺省值为 0
指定信息框中按钮 数目,类型,图标类型,
缺省按钮 等
Msgbox函数 --信息框
变量 = MsgBox(提示内容 [,按钮 ][,标题 ])
MsgBox 提示内容 [,按钮 ] [,标题 ]
提示内容,必要 。字符表达式,即显示在对话框中的信息
2.MsgBox 函数的常用参数的说明
<= 1024 个字符,
如果文字超过一行,可用 Chr(13) + Chr(10) 换行标 题,可选 。在对话框标题栏中显示的内容。
省略此项,则将 应用程序名 放在标题栏中
1.语法
Visual Basic 程序设计值 按钮的设置 对应按钮名称
0 vbOKOnly---------------确定
1 vbOKCancel-------------确定、取消
2 vbAbortRetryIgnore---终止、重试、忽略
3 vbYesNoCancel---------是、否、取消
4 vbYesNo------------------是、否
5 vbRetryCancel----------重试、取消
Buttons参数的设置
1.按钮的类型和数目的设置
Buttons的和 =按钮设置值 + 图标设置值 + 缺省按钮值
Buttons参数值 = 1 或 vbOKCancel
Visual Basic 程序设计对应值 符号常量 出现的图标
2.图标的样式
Buttons的和 =按钮设置值 +图标设置值 +缺省按钮值
16 vbCritical --------------------
32 vbQuestion --------------------
48 vbExclamation --------------
64 vbInformation ---------------
Buttons参数值 = 1+64 或 vbOKCancel+ vbInformation
Buttons参数的设置
Visual Basic 程序设计对应值 符号常量 缺省的活动按钮
3.说明哪一个是缺省按钮
Buttons的和 =按钮设置值 +图标设置值 +缺省按钮值
0 VbDefaultButton1
256 VbDefaultButton2
512 VbDefaultButton3
Buttons参数值 =65 ( 1+64+0)
或 vbOKCancel+ vbInformation+VbDefaultButton1
Buttons参数的设置
Visual Basic 程序设计符号常量 返回值 对应按钮
4.Msgbox的函数返回值用于确定用户选择对话框的哪一个按钮,以作出不同的响应。
vbOK 1--------------------确认
vbCancel 2--------------------取消
vbNo 7 ------------------- 否 (N)
vbAbort 3 -------------------终止 (A)
vbRetry 4--------------------重试 (R)
vbIgnore 5--------------------忽略 (I)
vbYes 6 -------------------是 (Y)
信息框的返回值:
练习小结,表 1,按钮,设置值及意义分组 内部常数 按钮值 描述按钮数目
VbOkOnly
VbOkCancel
VbAboutRetryIgnore
VbYesNoCancel
VbYesNo
VbRetryCancel
0
1
2
3
4
5
显示,确认,按钮显示,确认,,,取消,按钮显示,终止,,,重试,,,忽略,按钮显示,是,,,否,,,取消,按钮显示,是,,,否,按钮显示,重试,,,取消,按钮图标类型
VbCritical
VbQuestion
VbExclamition
VbInformation
16
32
48
64
关键信息图标 红色 STOP标志询问信息图标?
警告信息图标 !
信息图标 i
默认按钮
VbDefaultButton1
VbDefaultButton2
VbDefaultButton3
0
256
512
第 1个按钮为默认第 2个按钮为默认第 3个按钮为默认模式 VbApplicationModel
VbSystemModel
0
4096
应用模式系统模式小结,表 2 Msgbox函数返回所选按钮整数值的意义内部函数 返回值 被单击的按钮
VbOk
VbCancel
VbAbout
VbRetry
VbIgnore
VbYes
VbNo
1
2
3
4
5
6
7
确认取消终止重试忽略是否举例,编 一帐号和密码输入的检验程序,要求:
帐号不超过 6位,密码 4位,密码假设为,gong”;
帐号为非数字,密码不正确,显示有关信息 。
Test9.vbp
Visual Basic 程序设计设计一个如下所示的提示框:
练习使用信息框进入
Test10.vbp
Private Sub Command1_Click()
Dim i As Integer
If Text2.Text = "123456" And Text1.Text = "npu" Then
Form3.Visible = True
Form1.Visible = False
Else:
i = MsgBox("密码错! " + Chr(13) + Chr(10) + "是否重新输入? ",
vbOKOnly + vbCritical,"提示信息 ")
Text2.Text = ""
Form1.Visible = True
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text1.Text = "npu"
Text2.PasswordChar = ""
End Sub
4.2 选择结构进入
Visual Basic 程序设计先对条件测试,根据测试的结果选择执行不同的分支
1.If条件语句
2.Select Case 结构
4.2 选择结构
3.条件函数
Visual Basic 程序设计例,If score >= 60 Then
Print "祝贺你考试通过! "
End If
Print,继续努力!”
等价于,
If Score>=60 Then Print,祝贺你考试通过!,
Print,继续努力 !!!”
1,If… Then 结构格式,(1) If 条件 Then
(A组语句 )
EndIf
……
(2) If 条件 Then 语句执行规则:若 条件成立,执行 A组语句 ;
条件不成立,跳过 A组语句,
4.2.1 If条件语句条件
A组语句
T
F
使用前提,条件成立时,A组语句中只一条执行语句例,If score >= 60 Then
Print score
Print "祝贺你考试通过! "
End If
Print,继续努力!”
练习
Visual Basic 程序设计
1,If… Then结构例 1:输入两个数,分别放在 x和 y变量中,比较它们大小,
然后将大数放在 x中,小数放在 y中。
x < y
……
x%=Text1.text
Y%=Text2.text
If x < y Then
y = x
x = y
End If
Print x,y
……
t = x
y = t
F
x y
T
思考,3个数的排序如何实现?



两个变量的值互换:
4.2.1 If条件语句
Visual Basic 程序设计例,If score >= 60 Then
Print,祝贺你考试通过!”
Else
Print,考试未通过,”
End If
Print "继续努力! "
2,If… Then… Else 结构格式,If 条件 Then
A组语句
Else
B组语句
END If
执行规则,条件 成立,执行 A组语句,
条件 不成立,执行 B组语句条件
A组语句
T
F
B组语句
4.2.1 If条件语句
Visual Basic 程序设计
.
3,If… Then… ElseIf 结构
Mark=Text1.Text
If Mark >= 90 Then
Print "优 "
ElseIf Mark >= 60 Then
Print,通过 "
Else
Print,未通过 "
End If
若条件 1与条件 2换位,结果会怎样?
格式,If 条件 1 Then
( A组语句)
ElseIf 条件 2 Then
( B组语句)
ElseIf 条件 3 Then
( C组语句)
……
Else
( n组语句)
End If
4.2.1 If条件语句
Visual Basic 程序设计
.
格式,If 条件 1 Then
A组语句
ElseIf 条件 2 Then
B组语句
ElseIf 条件 3 Then
C组语句
……
Else
n组语句
End If
3,If… Then… ElseIf 结构注意:
多分支语句中,有多个分支同时满足,只执行 第一个 与之匹配的语句块。
注意 ElseIf 的写法
4.2.1 If条件语句
Visual Basic 程序设计
.
4,If语句的嵌套
4.2.1 If条件语句
If语句的嵌套是指 if 或 else后面的语句块中又包含 If语句。语句形式:
If <表达式 1> Then
If <表达式 11> Then
……
End If
……
End If
注意:
(1) 对于嵌套结构,为了增强程序的可读性,应该采用缩进形式书写;
(2) If语句形式若不在一行上书写,必须与 End If配对多个 If嵌套,End If与它最接近的 If 配对。
Visual Basic 程序设计
Select Case 测试表达式
Case 测试项 1
A组语句
Case 测试项 2
B组语句
……
Case Else
n组语句
End Select
说明:
测试表达式的值应是数字或字符型
测试项的取值 必须 与测试表达式的值 类型相同,常用形式为:
具体取值,用逗号隔开如,1,5,9
连续的范围:界 1 TO 界 2
如,12 To 20
满足某个条件,Is运算符如,Is>10
三种形式可以组合使用
4.2.2 Select Case语句
Select Case 结构例 5:输入二级考试成绩,要求显示对应三级制的评定。
Mark=Val(Text1.Text)
Select case Mark
case is>=90
Print "优 "
case 60 to 90
Print,通过 "
Case Else
Print,未通过 "
End select
Mark=Val(Text1.Text)
K=mark\10
Select case K
case 10,9
Print "优 "
case 8 to 6
Print,通过 "
Case Else
Print,未通过 "
End select
Visual Basic 程序设计总 · 结赋值语句条件语句变量名 =表达式对象,属性 =表达式变量 =对象,属性变量赋值:
属性赋值:
1,If… Then 结构
2,If… Then… Else 结构
3,If… Then… ElseIf 结构
4,Select Case 结构
Visual Basic 程序设计
4.3 循环结构循环,是在指定的条件下多次重复执行一组语句
1,For,.,Next
2,Do..,Loop
3,循环嵌套
4.其他辅助控制语句
Visual Basic 程序设计循环变量 =循环变量 +步长语句块
F
Exit For
语句块
T
循环变量 <=终值
For 循环变量 =初值 TO 终值 [Step 步长 ]
语句块
Exit For
语句块
Next 循环变量
For循环格式:
执行过程,
(1) 将初值赋循环变量;
(2) 判断循环变量值是否 小于等于终止值;
(3) 若是,执行循环体(语句块);
(4) 然后将变量增加一个步长;
(5)重复 2~4步骤。
(6)否则,结束循环
4.3.1 For循环步长省略,
默认为 1
循环变量赋初值
F
T
循环体
Visual Basic 程序设计程序代码:
Dim I%,s %
For I = 1 To 10 step 1
Next I
Print I,s
例 1:求 1+2+3+4+… +10之和,
分析,
重复过程 (循环体 ),s= s+I
初值、终值和增量,1,10,1
初值与终值换位可以吗?
循环体的执行次数是多少?
输出的 I,S的值是多少?
For I = 1 To 10执行多少次?
s = s + I
For I= 0 To 1 Step -1
4.3.1 For循环
For 循环变量 =初值 TO 终值 [Step 步长 ]
语句块
Exit For
语句块
Next 循环变量循环体
Visual Basic 程序设计
Dim I,s As Integer
For I = 1 To 10
s = s + I
Next I
Print I,s
例 2:求 10!
分析,
重复过程,*
初值、终值与增量不变例 1:求 1+2+3+4+ … +10之和,
分析,
重复过程 (循环体 ),+
初值、终值和增量,1,10,1
Dim I,s As Integer
For I = 1 To 10
s = s * I
Next I
Print I,s
4.3.1 For循环
Visual Basic 程序设计注意:
⑴ 初值、终值、步长必须是 数值型,
步长为 正,初值 <终值;若为 负,初值 >终值; 缺省 默认为 1
⑵ 在已知循环次数时使用 For循环,循环次数 =int((终值 -初值 )/步长 )+1
⑶ 组成循环体的语句块可以是一条或多条语句
⑷ Exit For表示当遇到该语句时,退出循环体,执行 Next的下一句;
⑸ 在循环体内对循环变量可多次引用,但在循环过程中一般 不改变 其值,
否则影响结果。
⑹ 退出循环后,循环变量保持退出时的值
4.3.1 For循环
Visual Basic 程序设计
1,Do While <条件 >
循环体
Loop
2,D0
循环体
Loop While <条件 >
3,Do Until <条件 >
循环体
Loop
4,Do
循环体
Loop Until <条件 >
4.3.2 Do… Loop循环
Visual Basic 程序设计
1,While循环
⑴ Do While <循环条件 >
循环体
Loop
执行过程,(先判断,后执行)
先判断循环条件,
若为真,执行循环体,再判断循环条件否则,跳过循环体,执行 Loop之后语句循环条件语句块
T
F
语句块
F
Exit Do T
4.3.2 Do… Loop循环
Visual Basic 程序设计
⑴ Do While <循环条件 >
循环体
Loop
Dim I,s As Integer
For I = 1 To 10
s = s + I
Next I
Print I,s
例 1:求 1+2+3+4+… +10的和,Dim I,s As Integer
I=1
Do While
Loop
Print I,s
s=s+I
I<=10
I=I+1
1
(1)循环体执行了几次?
(2)没有 I=1会怎样?
(3)将 Print语句移到 Loop的前面结果怎样?
(4)I先赋值为 11,结果如何?
1,While循环
4.3.2 Do… Loop循环
Visual Basic 程序设计
⑵ D0
循环体
Loop While <条件 >
执行过程,(先执行,后判断)
先执行循环体,再判断循环条件,
若为真,继续执行循环体 ;
否则,结束循环,执行 Loop之后语句循环条件语句块
T
F
语句块
F
Exit Do T
1,While循环
4.3.2 Do… Loop循环
Visual Basic 程序设计
⑴ Do While <条件 >
循环体
Loop
⑵ D0
循环体
Loop While <条件 >
区别,(1)执行顺序不同形 式一,先判断,后执行 循环体 ;
形式二,先执行 循环体,后判断
(2)执行次数不同 (特殊情况下)
形式一,条件不满足,循环体可能一次也不执行形式二,不论条件如何,至少执行一次
1.While循环
4.3.2 Do… Loop循环
Visual Basic 程序设计执行过程,(先判断,后执行)
先判断循环条件:
条件为 假,执行循环体,
然后再判断条件,
条件为 真,跳过循环体,
执行 Loop之后语句
⑶ Do Until <条件 >
循环体
Loop
2.Until循环循环条件语句块
F
T
语句块
F
Exit Do T
4.3.2 Do… Loop循环
Visual Basic 程序设计几种形式比较,
Do While <条件 >
循环体
Loop( While <条件 >)
Do Until <条件 >
循环体
Loop( Until <条件 >)
区别,
While 条件为 真 时执行循环体,否则退出循环
Until 条件为 假 时执行循环体,否则退出循环关系,while和 Until可以相互 转换,但循环条件 取反
4.3.2 Do… Loop循环
Visual Basic 程序设计
1.GoTo语句
2.Exit语句
满足循环条件的情况下,提前跳出循环体,结束循环。
两种形式,Exit For,Exit Do
作用:无条件的转移到标号或行号指定的语句
语法,GoTo {标号 |行号 }
100 If I <= 100 Then
s = s + I
I = I + 2
GoTo 100
End If
4.4.4 其他辅助控制语句
Visual Basic 程序设计
Dim I As Integer
If I mod 17 =0 then
print I
end If
For I=100 to 200
Next I
Exit for
分析:
重复工作:判断每个数除 17的余数是否为 0
初值、终值和增量:
例题:
求出 100~ 200之间的 第一个 能被 17整除的整数。
4.4.4 其他辅助控制语句