§3.5 基本语句
【教学目标】
通过运用VB的基本语句编制中小型程序,来培养和训练学习者的编程能力。
【教学要求】
了解:表达式、函数的概念。
理解:控制程序流程的三种程序结构的程序执行过程。
掌握:赋值语句、条件语句、循环语句的使用;两个交互性函数的使用方法。
【本节重点】
两个交互性函数的使用方法。
条件语句的嵌套。
循环语句的不同使用格式及区别;循环嵌套的使用及注意事。
一、赋值语句
格式:
<变量名>=<表达式>
功能:
先计算表达式的值,然后将表达式的值赋给赋值号左边的变量。
二、与用户交互的函数和过程
VB与用户交互可以通过InputBox函数、MsgBox函数和MsgBox过程进行。
1、InputBox函数
格式:
InputBox(提示信息[,标题][,缺省][,X坐标位置][,Y坐标位置])
说明:
(1)提示信息:不可省略;
(2)标题:若省略标题,系统将自动以应用程序名代之;
(3)缺省:“确省”表示输入过程中的默认值。即若用户没有在输入对话框中输入任何值,则以该确省值作为输入的内容;
X坐标位置,Y坐标位置用于确定InputBox对话框在计算机屏幕上的位置。
注意:
① 各参数次序必须一一对应,若省略某项,也要使用“,”占位。
② 函数返回字符型数据。
③ 若程序运行时按下“取消”按钮,则函数无值。
例:在InputBox函数的使用中设置输入的默认值为“男”。
Dim TS As String
TS=InputBox("请输入性别",,"男",100,100)
2、MsgBox函数
格式:
MsgBox(提示[,按钮][,标题])
3、MsgBox过程
格式:
MsgBox 提示[,按钮][,标题]
(1)MsgBox函数和MsgBox过程中语法格式项说明
其中函数和过程中的“提示信息”不可省略;若省略标题,系统将自动以应用程序名代之。
其中函数和过程中“按钮”项的值用VB系统常数表示,常用的有:
0-VbOkOnly (只显示“确定”按钮)
1-VbOkCancel (显示“确定”、“取消”按钮)
2-VbAboutRetryIgnore (显示“终止”、“重试”、“忽略”按钮)
3-VbYesNoCancel (显示“是”、“否”、“取消”按钮)
4-VbYesNo (显示“是”、“否”按钮)
basic语言if语句5-VbRetryIgnore (显示“重试”、“忽略”按钮)
(2)MsgBox函数和MsgBox返回值说明
由于MsgBox函数和MsgBox过程均具有人机交互的功能,因此两者均有返回值,返回值可以用VB系统常数及其数值代码表示。返回的VB系统常数及其数值代码表如下:
1-VbOk (表示用户按“确定”按钮)
2-VbCancel (表示用户按“取消”按钮)
3-VbAbout (表示用户按“终止”按钮)
4-VbRetry (表示用户按“重试”按钮)
5-VbIgnore (表示用户按“忽略”按钮)
6-VbYes (表示用户按“是”按钮)
7-VbNo (表示用户按“否”按钮)
MsgBox函数和MsgBox过程是VB中十分重要的对话框,两者的功能和对话框界面都相同,只是在书写格式和编制判断程序时有所区别。
例:编制一个输入密码程序。人机界面是一个窗体,命令按钮Command1表示输入密码“确认”功能。设计要求是:设用户的操作密码是:ABCD,当用户三次输入错误,显示警告信息,并退出程序。
Private Sub Command1_Click()
Dim i, j As Integer
Dim mm As String
mm = InputBox("请输入密码", , , 2000, 2000)
j = 1
Do While j <= 2
If UCase(mm) <> "ABCD" Then
i = MsgBox("输入错误!是否重新输入?", VbYesNoCancel, "输入密码")
If i <> 6 Then
End
Else
mm = InputBox("请输入密码", , , 2000, 2000)
j = j + 1
End If
Else
MsgBox "输入正确"
End
End If
Loop
MsgBox "非法操作者", 48
End Sub
三、选择结构
1、If — Then语句
(1)形式1:
If <条件> Then
<语句组>
End If
(2)形式2:
If <条件> Then <语句>
说明:
If — Then语句中的“条件”一般是逻辑表达式或关系表达式,如果是数值表达式,当表达式值非零时为True。
例:用If — Then语句判断x和y变量值的大小,若x的值小于y,则将两变量中的值互换。下面用If — Then语句的“形式1”和“形式2”分别编制判断和互换的程序语句:
形式1: 形式2:
If x<y then If x<y then t=x:x=y:y=t
t=x:x=y:y=t
End if
2、If—Then—Else语句
形式1:
If <条件> Then
<语句组1>
Else
<语句组2>
End If
形式2:
If <条件> Then <语句1> Else <语句2>
例:编程输入a,b,c的值,求一元二次方程ax2+bx+c=0的解。
Private Sub Command1_Click()
Dim a, b, c, d, x1, x2 As Single
a = InputBox("输入a的值", , , 1000, 1000)
b = InputBox("输入b的值", , , 1000, 1000)
c= InputBox("输入c的值", , , 1000, 1000)
d = b * b - 4 * a * c
If d > 0 Then
x1 = (-b + Sqr(d)) / 2 / a
x2 = (-b - Sqr(d)) / 2 / a
Print "x1="; x1, "x2="; x2
Else
MsgBox "输入有错", , 2
End If
End Sub
3、If—Then—ElseIf语句
语句形式:
If <条件1> Then
<语句组1>
ElseIf <条件2> Then
<语句组2>
ElseIf <条件3> Then
<语句组3>
……
[Else
语句组n+1]
End if
例:设已在strC中存入了一个字符,编程判断该字符是英文字母、数字、其它,并显示结果。
If strC>="a" and strC<="z" or strC>="A" and strC<="Z" Then
Print strC+"是英文字母"
ElseIf strC>="0" and strC<="9" Then
Print strC+"是数字
Else
Print strC+"是其它字符"
End if
4、If语句的嵌套
例:编程比较三个变量x,y,z的大小,并按从小到大的顺序排列,结果仍存放在x,y,z变量中。
If x > y Then
t = x: x = y: y = t
If x > z Then
t = x: x = z: z = t
End If
If y > z Then
t = y: y = z: z = t
End If
Else
If x > z Then
t = x: x = z: z = t
End If
If y > z Then
t = y: y = z: z = t
End If
End If
5、Select Case语句
语句形式:
Select Case <变量或表达式>
Case 表达式列表1
<语句组1>
Case 表达式列表2
<语句组2>
……
Case 表达式列表n
<语句组n>
[Case Else
语句组n+1]
End Select
例:编程判断strC中字符的类型。
Select Case strC
Case "a" to "z","A" to "Z"
Print strC+"是英文字母"
Case "0" to "9"
Print strC+"是数字
Case Else
Print strC+"是其它字符"
End Select
6、条件函数
(1)IIf函数
形式:
IIf(<条件表达式>,<表达式为真>,<表达式为假>)
例:编程将x,y中值较大者的值赋给z。
z=IIf(x>y,x,y)
(2)Choose函数
形式:
Choose(<字符类型变量>,<值为1的返回值>,<值为2的返回值>,……)
例:假设变量Nop中存放了1、2、3、4中的某一个值,编程将变量Nop中的值转换成算术四则运算符,其中1转换为+;2转换为-;3转换为×;4转换为÷,并将转换结果存放到OP变
量中。
Op=Choose(Nop,"+", "-","×","÷")
四、循环结构
1、For — Next语句
语句形式:
For <循环变量>=<初值> To <终值> [Step 步长]
<语句组1>
[exit for]
<语句组2>
Next [循环变量]
注意:若缺省“Step 步长”选项,系统默认步长为1。
例:编程计算1到100中奇数之和。
Dim i, s As Integer
s = 0
For i = 1 To 100 Step 2
s = s + i
Next i
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论