VB控制结构
05 VB控制结构
结构框图: 结构框图:
a A B b
Page9
2. 顺序结构及基本语句
2.1 2.2 2.3 2.4 2.5 赋值语句 注释语句 结束语句 Print方法 方法 与Print方法有关的函数 方法有关的函数
VB控制结构 第5章 VB控制结构
VB控制结构 第5章 VB控制结构 2. 顺序结构及基本语句 Page15
2.5 与Print方法有关的函数 方法有关的函数
信息要按一定的格式输出,需要使用Tab、Spc、 Space$函数,这些函数必须与Print方法配合使用。
Tab(n)函数:把输出位置移到第n Tab(n)函数:把输出位置移到第n列。 函数 Spc(n) 函数:在输出下一项之前插入n个空格。 Spc(n) 函数:在输出下一项之前插入n个空格。 函数:返回n个空格。 Space$(n) 函数:返回n个空格。
VB控制结构 第5章 VB控制结构 2. 顺序结构及基本语句 Page11/75
2.2 注释语句
格式: 格式:Rem 注释内容 ’ 注释内容 说明: 说明: 注释语句是非执行语句, ⑴注释语句是非执行语句,它不被解释 和编译。 和编译。 ⑵任何字符都可以放在注释行中作为注 释内容。 释内容。 注释语句不能放在续行符( )后面。 ⑶注释语句不能放在续行符(_)后面。
VB控制结构 第5章 VB控制结构 2. 顺序结构及基本语句 Page13/75
2.4 Print方法 方法
用于在相应对象上显示文本和表达式的值。 用于在相应对象上显示文本和表达式的值。 格式:[对象名 表达式列表] 格式:[对象名.]Print [表达式列表] :[对象名.
对象名——可以是窗体、图片框或打印机等 可以是窗体、 对象名 可以是窗体 “程序设计 程序设计” Print “程序设计” ‘在当前窗体上输出 “程序设计 程序设计” Picture1.Print “程序设计”‘在图片框上输出 “程序设计 程序设计” Debug.Print “程序设计” ‘在立即窗口中输出 “程序设计 程序设计” Printer.Print “程序设计” ‘用打印机输出 表达式列表——是一个或多个表达式,多个表达 是一个或多个表达式, 表达式列表 是一个或多个表达式 式之间用分隔符隔开。如果省略表达式, 式之间用分隔符隔开。如果省略表达式,则输出 一个空行。 一个空行。
VB第3章_控制结构
8
type参数及功能
常数 vbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel 值 0 1 2 3 显示OK按钮 显示OK及Cancel 按钮 显示Abort、Retry 及 Ignore 按钮 显示显示 Yes、No 及 Cancel 按钮 功能描述
Print "B" Else Print "C" End If ElseIf score >= 60 Then Print "D" Else Print "E" End If End Sub
'此处为小于70分的情况
22
3.2.3 Select Case语句
格式:
说明: 变量或表达式:数值型或字符表达 式 表达式列表:与“变量或表达式” 的类型必须相同,可以是下面4种类型
End Sub
28
求和运行结果
29
例3.10 实现计算器函数区中求阶乘(n!) Private Sub Cmd_n_Click( ) Dim i, n, s As Long s=1 n = Val(InputBox("输入n(1-12)", "求n!")) For i = 1 To n s=s*i Next MsgBox s, 0, "n!" End Sub
7
3.1.2 数据的输入、输出函数
2. 输出函数MsgBox
格式 :MsgBox(prompt [,type][,title][,helpFile,context]) 说明:
① prompt是字符串类型,提示
② type是一个整数值或符号常量,用来控制在对话 框内显示的按钮、图标的类型。 如上例中输出: MsgBox s, 0, "Area"
VB程序基本控制结构
VB程序基本控制结构VB程序的基本控制结构有三种:顺序结构、条件结构和循环结构。
下面将详细介绍这三种结构。
1.顺序结构:顺序结构是指程序按照代码编写的顺序依次执行,不涉及任何的条件判断或循环。
简单来说,就是按照代码的顺序一行行执行。
2.条件结构:条件结构是指根据条件的不同,程序按照不同的路径执行不同的代码。
在VB中,我们可以使用if语句和select case语句来实现条件结构。
- if语句用法示例:if(condition) then'条件为真时执行的代码else'条件为假时执行的代码end if- select case语句用法示例:select case expressioncase value1' 当expression等于value1时执行的代码case value2' 当expression等于value2时执行的代码...case else' 当expression不等于以上任何一个值时执行的代码end select3.循环结构:循环结构是指根据特定的条件重复执行一段代码块。
在VB中,我们可以使用do while、do until、for、for each等语句来实现循环结构。
- do while语句用法示例:do while condition'循环执行的代码loop- do until语句用法示例:do until condition'循环执行的代码loop- for语句用法示例:for counter = start to end step stepValue'循环执行的代码next counter- for each语句用法示例:for each element in collection'循环执行的代码next element这些是VB程序的基本控制结构,它们的灵活运用可以实现各种复杂的程序逻辑。
举个例子,我们可以使用条件结构结合循环结构来实现一个计算1到100之间所有偶数和的程序:```Dim sum As Integer = 0For i = 1 To 100 Step 1If i Mod 2 = 0 Thensum += iEnd IfNextMsgBox("1到100之间所有偶数的和为:" & sum)```。
VB控制结构
If <表达式1> Then <语句块1> ElseIf <表达式2> Then <语句块2> … [Else <语句块n+1>] End If
If <表达式> Then <语句1> Else <语句2>
例4.8 思考
p73更正后的方法3:
If mark < 60 Then Print "不及格" ElseIf mark < 70 Then Print "及格" ElseIf mark < 80 Then Print "良" ElseIf mark < 90 Then Print "中" Else Print "优" End If
错误!
例4.9 思考
4.2.3 条件函数
1、IIf函数
形式: IIf( 表达式1,表达式2 ,表达式3 ) 说明:
表达式1的值为True,则返回表达式2的值,否
则返回表达式3的值。
例:
max=IIf(x>y,x,y)
2、Choose函数
形式: Choose(整数表达式,选项列表) 说明:
例: 求三个数中的最大数。
方法1: If a > b And a > c Then max = a 方法2:
If b > a And b > c Then max = b If c > a And c > b Then max = c
方法2错误!MAX<b时没 再和c做比较
max = a If max < b Then max = b ElseIf max < c Then max = c Max = a End If If Max < b Then Max = b Else Max = c End If
VB的基本控制结构
顺序结构是一种线性结构,也是程序设计中最简单、
最常用的基本结构。它在程序运行过程中,按照语 句出现的顺序从上到下依此执行。顺序结构流程图 如下图所示,先执行语句A,再执行语句B。
顺序结构中主要的语句是赋值语句,通过赋值语句, 可以在程序中改变变量的值,或改变对象属性值。 其语法格式为:
[Let]变量=表达式 [Let]对象.属性=表达式
其中表达式中可以包含变量、常量、属性。此时等 号称为赋值等号。例如:
Dim A As String
A=Text1.Text Label1.Caption=A
说明:
(1)赋值语句兼有计算和赋值双重功能。
(2)“=”是赋值等号,与数学上的等号意义不同。
(3)赋值等号两边的数据类型通常要求一致,但VB 提供的对某些数据类型的自动转换机制,可强制变 量转换为适当的数据类型。例如,当逻辑型赋值给 数值型时,True转换为 -1,False转换为0;反之, 非0转换为True,0转换为False;
程序代码: Dim I%, s % FFoorrI I==10ToTo101steSpte1p -
1 s=s+I
Next I
Print I, s
循环体的执行次数是多少 ? 输出的I、S的值是多少 ?
For I = 1 To 10执行多少次?
例1:求1+2+3+4+ …+10之和. 分析: •重复过程(循环体): + •初值、终值和增量:1、10、1 Dim I, s As Integer
EEnnddsseelelecctt
例7 编写一个加油站计费程序
在“种类”中选择油品种类,界面上的说明文字将随之 改变,并将“数量”文本框设为焦点;在数量文本框中输入 需购的油品数量后,单击“计算”按钮,在“总价”文本框 显示所购油品种类应付的金额。已知汽油单价:
第4章 VB控制结构
05:51
21
【例4.5】求n!(n为自然数)
由阶乘的定义可知: n! = 1* 2* 3*…*(n-1)*n
= (n-1)!*n
Private Sub Form_Click() Dim N As Integer, i As Integer, k As Single N = InputBox("输入N:") k=1 For i = 1 To N k = k * i '此语句称为累乘器 Next i Print N; "! = "; k End Sub 操作变量 05:51 Private Sub Form_Click() Dim N As Integer, i As Integer, m As Integer, k As Single N = InputBox("输入N:") k = 1:m = 1 For i = 1 To N k=k*m m = m + 1 '此语句称为计数器 Next i Print N; "! = "; k End Sub 形式变量 22
If x >= 0 Then If x > 0 Then y = 1 Else y = 0 Else y = -1
05:51 11
3.多分支If语句 格式:If 条件1 Then 语句块1 [ElseIf 条件2 Then 语句块2] …… [ElseIf 条件n Then 语句块n] [Else 语句块n+1] End If
05:51
19
说明:
(1)计数型循环的循环次数可用以下公式计算: 循环次数=Int(Abs(b – a)/c)+1
第04章 VB程序控制结构
Print m, n, p; "可视化"; "VB编程"
Print m, n, p; "AAA"; "BBB"
18
第 4 章 VB 程序控制结构
4.2.4 数据的输出 2. MsgBox函数 格式: 函数形式:变量[%] = MsgBox(提示[,按钮][,标题]) 过程形式:MsgBox 提示[,按钮+图标+默认][,标题] 功能:打开一个信息框,等待用户单击一个按钮。
2. 功能:将赋值符号右边表达式的值赋给左边的变量或 对象的属性 给变量赋值和设置属性是VB编程中常见的两个任务。 例如:
N = 30
i=i+1
' 把数值常量30赋给变量N
' 把i原来的值加上1,再赋给变量i
str = “Good morning ”
' 给字符串变量赋值
Text1.Text = str & “teacher!” ' 给控件赋值
Or year/400 = Int(year/400) Then
MsgBox (Str(year) + " 年是闰年!") Else
MsgBox (Str(year) + " 年不是闰年!")
End If End Sub
27
第 4 章 VB 程序控制结构
4.3.1 If 分支结构
3. If…Then…ElseIf语句(多分支结构)
% 数值乘以100,加百分号 1234.567
$
E+
在数字前强加$
用指数表示
1234.567
1234.567
22
第7章 VB控制结构
7.1.3 条件函数 ( 1) IIf 函数 Result=IIf (条件1,条件1为True时的值,条件 1为False
时的值)
例如,将 x,y中大的数放入Tmax变量中,语句如下: Tmax=IIf ( x > y, x, y)
15
7.1.3 条件函数 ( 2) Choose函数
Result=CΒιβλιοθήκη oose(数字类型变量,值为 1的返回值,值为2的返回值
18
说明:
• 1)表达式:可以是数值表达式或字符串表达式,通常用 数值类型或字符串类型的变量。 • 2 ) Case 值列表 i: 是 Case 子句,如果 表达式与某 个 Case 子句的值列表 i 相匹配,则执行该 Case 子句中的语
句组 i 。
19
• • •
Case子句中的“值列表i”可以有三种表示形式: ①一个或多个常量,多个常量之间用“,”分开; ②使用 To关键字,用以指定一个数值范围,要求小 数在 To之前,如1 To 10;
错误
23
选择结构常见错误
1 .在选择结构中缺少配对的结束语句
对多行式的If块语句中,应有配对的End If语句结束。 Select应有End Select作为结束语句。 2. 多边选择 ElseIf关键字的书写和条件表达式的表示
条件:比较三个数之间的大小关系 结构:需要两个选择结构,每个至多有两个分支
语句:书写出每种情况下的语句(组)
7
Private Sub Command1_Click() Dim a, b, c As Single, max As Single a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text) max = a If max < b Then max = b '单行条件语句 If max < c Then max = c '单行条件语句 Text4.Text = max End Sub
第4章 VB控制结构(整理)
InputBox函数示例
例4-1-1(补充) 利用InputBox函数输入圆的半径;
在标签中显示输入的半径和计算所得的圆的面积.
3. 消息对话框MsgBox函数(P63)
变量=MsgBox( 提示字符串 [,按钮样式+图标样式] [,标题字符串])
• 提示字符串:必须指定,消息对话框中显示的字符串 • 按钮图标样式:利用VB给定的符号常量指定消息框
Format(123.46,"0.0E+00") 结果为: 1.2E+02
4.2 选择结构(P69)
4.2.1 If条件语句 4.2.2 Select Case语句 4.2.3 条件函数 IIf
4.2.1 If 条件语句(P69)
If~Then语句(单分支行语句和块语句) If~Then~Else语句(双分支行语句和块语句)
符或为空串,则出错;
当逻辑型值赋值给数值型变量时,True转换为-1, False转换为0. 反之,当数值赋值给逻辑型变量时,非0 转换为True, 0转换为False; 任何非字符型的值赋值给字符型变量,自动转换为字 符型.
4.1.2 数据的输入/输出(P62)
标签和文本框控件
输入对话框InputBox函数
赋值号与表示“相等”关系的关系运算符都用
“=”表示, VB系统会根据表达式或语句所处的 位置自动判断是何种意义的符号.
4. 赋值号两侧数据类型不同时的处理方法(P61)
当右侧表达式与左侧变量精度不同时,系统将右侧表
达式的值强制转换为左侧变量的精度;
当表达式是数字字符串,而左侧变量是数值类型时,自 动转换为数值类型再赋值. 如果表达式中有非数字字
VB的基本控制结构
Delta = B ^ 2 - 4 * A * C Select Case Delta Case 0 Print "X1=X2="; Format(-B / (2 * A), "0.000") Case Is > 0 X1 = (-B + Sqr(Delta)) / (2 * A) X2 = (-B - Sqr(Delta)) / (2 * A) Print "X1="; Format(X1, "0.000") CurrentX = 600: CurrentY = 1300 Print "X2="; Format(X2, "0.000") Case Is < 0 A1 = -B / (2 * A) A2 = Sqr(Abs(Delta)) / (2 * A)
If Data < 90 Then Print "合格" Else Print "优秀"
Yes Data>=90? No
输出“优秀”
输出“合格”
输出“计算完毕”
返回目录
说明 (1) <表达式> : 关系表达式、布尔表达式 数值表达式(0为False,非0为True) 字符串表达式("0"为False,非"0"为True) (2) <语句1>、<语句2>: 可以有多条语句,各语句之间 用冒号隔开。 (3)可以没有Else部分,这时必须有<语句1>。 例: If N>0 Then A=A+B:B=B+A Else A=A-B:B=B-A 例: If X<>"aaa" Then Print X
Vb程序设计教程 第四章 VB控制结构
4、如果被赋值的变量是变体类型(variant 类型)或未定义变量类型(默认类型为变体类 型,即variant类型),则根据表达式的值确定变 量的类型。 5、表达式中参加运算的数据类型变必须一 致,如果不一致,则先转换后运算,而转换的 规则与赋语句不同,是由简单类型向复杂类型 转换。
2、数据的输入与输出 1)利用文本框输入、输出数据,类型为 String(字符串)类型 例: x=val(text1.text) x% = text1.text text1.text=x 字符串于文本框中显示输出 text1.text = str(x) ‘输入数到x中 ‘与上语句等价 ‘将x中值转换成 ‘与上语句等价
3、循环结构——一个模块被重复执行多次
假 条件 真 真 模块 条件 假 模块
注:模块在 一定条件下被执 行多次。
说明:1)对方案一而言,“模块”可能不 能初执行到,而方案二之“模块”至少执行一次; 2)如果“模块”至少执行一次,则二者等价;3) “条件”不能是固定的,须随“模块”的执行而 发生变化,否则无法终止。
ii)连续输出,以;分隔 Print 表达式1;……;表达式n 例:Print “x=“;x iii)定位输出,使用定位控制输出格式 Tab(n):由第n列开始输出 spc(n):插入n个空格
第四章 VB控制结构
一、三种程序设计结构
1、顺序结构——按照书写的顺序,依次 执行每一条语句。 特点:执行完毕“语 句块1”后,执行“语句块 语句块2 2”。 例:计算半径为4.8的园的面积。 r=4.8 ‘半径r赋值 pi=3.1415926 ‘为pi赋值 s=pi*r*r ‘计算园的面积 print s ‘显示面积值
二、常用语句
1、赋值语句 格式:变量 = 表达式 功能:首先计算“表达式”的值,然后将值存 储到“变量”指定的存储单元中。 例: x=x+a ‘将变量a的值累加到变量x中
vb课件第4章.VB的基本控制结构
If条件语 句
3. If…Then…ElseIf 结构
例5 编写一个按月收入分额析计:算选个择人语收句入结调构节税的程序
计算方法如下
每个条件的表示及先后顺序
0
Pay≤1000
(Pay-1000)*0.05 1000<Pay≤2000
Z=
(Pay-2000)*0.15+50 2000<Pay≤3000
If 条件1 Then
(A组语句)
Els若eI条f 条件件12与T条he件n 2换位,
结(B果组会语怎句)样?
……
Else
(n组语句)
End If
Mark=txtScore.Text If Mark >= 90 Then
Print "优" ElseIf Mark >= 60 Then
Print “通过" Else
Select Case 测试表达式
Case 测试项1
A组语句
Case 测试项2
B组语句
……
Case Else
n组语句
End Select
说明: • 测试表达式的值应是数字或字符型 例 应6三•:MSE级MKSE测的ne输a=ena制dlre试值ldmccCrke入ccCcksaa的=csaaaat=e类项ass二tVe具连满三rssscVl评eeskcelaeeeaea型的e\级aPPPcl续种体足i61sPPPc(定lEs18st(rrrTE00et>考rrrT相取iii0elennn形取的某iiistl。e=nnntos,xttteo9M试xttt同9值eKt““"式值范个61t"““如如如0通 未9优a1成通未优.必,0rT.可,围条kT过通":::e绩过通"e须常x以用:件"过x11It,"过)t用2与 ,s)组逗界:"要">测T形51合号1I求o,0s试式使隔T运显29O表为0用开算示界达:符对2式
vb第三章控制结构
Case Is <= 10 y=x*x
Case Is <= 20 y = 10
Case Else y = 0.5 * x + 20
End Select Label2 = "y=" & y End Sub
28
6.IIF函数
格式:
IIf(Expression,TruePart,FalsePart)
单分支结构举例
例:将保存在变量a和 b中的整数
按升序排列。(即a的值一定不
1
大于b的值)
2
分析:a<b时,两者值不变
a>b时,两者的值交换
3
If b > a Then
t=a
a=b
b=t
End If
也可改写成行IF语句,如下所示,
If b > a Then t = a : a = b: b = t
2.双分支结构
• 变量•的类型或表达式的[C结a果se Els例e:Is < 60
• 必对须于•为多个数变值量或进字符行串条件。判断 或者statementsn+1]
时,•不能使用EsneldecSt eclaesec语t 以上三种形式的以逗号分隔的任意组合
句,只能使用IF 语句
例:2,4 to 8,11,is>50
A. 正确答案:C
3.多分支结构
不管有几个分支,依次判断,当某条件满足,执行相应的 语句,其余分支不再执行;若条件都不满足,且有Else子 句,则执行该语句块,否则什么也不执行。
If
表达式 1
T Then
Elseif
F
表达式 2
第4章VB控制结构
…
2.表达式列表形式如下 :
[Case Else
•表达式
例: "A"
语句块n+1] End Select
•一组用逗号分隔的枚举值2,4,6 •表达式1 To 表达式2
60 To 100
•Is 关系运算符表达式 Is < 60
2021/2/22
23
Select Case语句例
将例4.7 改用 Select Case 语句实现:
14
4.2 选择结构
▪ VB中提供了多种形式的条件语句来实现选 择结构,有If条件语句和Select情况语句等。 它们都是对条件进行判断,根据判断结果, 选择执行不同的分支。
2021/2/22
15
4.2.1 If条件语句
1. If…Then语句(单分支结构) If <表达式> Then
F 表达式
F 表达式列表 1
T 语句块
T 有 Exit Do
F 语句块
先判断后执行,有可能一次也不执行
Do While…Loop
2021/2/22
29
4.3.2 Do…Loop循环语句
形式2: Do
语句块 [Exit Do 语句块] Loop { While|Until} <条件>
先执行后判断,至少执行一次
语句块(可以是一句或多句语句) T
End If
语句块
或 If <表达式> Then <语句>
▪ 表达式:关系表达式、逻辑表达式,算术表达式。 表达式值按非零为True,零为False进行判断。
▪ 该语句的作用是当表达式的值为True,执行Then 后面的语句块,否则不做任何操作。
第5章 VB控制结构(精简)
5.1-7结构化程序设计及算法表示(补充)
算法概述
什么是算法: 广义地讲:算法是为完成一项任务所应当遵循的一步一 步的规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲:算法是解决一个问题采取的方法和步骤的描述。 下面通过两个简单的例子加以说明:
山东科技大学(泰安)信息工程系
26
5.1-7 结构化程序设计及算法表示
按钮及图标值如下:
根据用户所选按钮,函数返 回1—7的整数值,其含义 如下表:(表5.2)
山东科技大学(泰安)信息工程系
12
5.1-3
数据的输出
格式: MsgBox(msg[,type][,title]) MsgBox函数的应用--例1: Private Sub Form_Click () msg1$ = "要继续吗?" msg2$ = "Operation Dialog Box" r = MsgBox(msg1$, 34, msg2$) Print r End Sub
2
5.1-2 赋值语句
执行过程如右图
4.赋值符号“=”左边一定只能是变量名或对象的属性引 用,不能是常量、符号常量、表达式。
下面的赋值语句都是错的:
5=X
Abs(X)=20
' 左边是常量。
' 左边是函数调用,即是表达式。
5. 赋值符号“=”两边的数据类型一般要求应一致。 山东科技大学(泰安)信息工程系
举例1可用如下的伪代码表示begin算法开始输入amax否则bmaxcmaxprintmaxend算法结束517山东科技大学泰安信息工程系32用传统流程图表示算法处理框起止框判断框流程线连接点1传统流程图中的基本符号517山东科技大学泰安信息工程系332三种基本结构的表示1顺序结构条件语句1语句2语句1语句22选择结构517山东科技大学泰安信息工程系343循环结构直到循环条件语句组语句组517山东科技大学泰安信息工程系35三种基本结构的特点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 VB控制结构
Dim n1 As Integer, n2 As Integer, sum As Single, ave As Single Private Sub Command1_Click() Dim x As Single x = Val(InputBox("请输入x的值")) sum = sum + x If x < 60 Then n1 = n1 + 1 Else n2 = n2 + 1 End If ave = sum / (n1 + n2) End Sub
第7章 VB控制结构
注意:
1、条件可以加(),也可以不加()。
2、else与if之间没有空格
第7章 VB控制结构
例题2:从键盘输入学生的成绩,统计其中及格,
不及格的人数,总平均成绩。
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
第7章 VB控制结构
第二种做法:
Private Sub Command1_Click()
Dim str As String, countn As Integer
str = InputBox("请从键盘输入字符")
Print "输入字符的个数为:"; Len(str)
End Sub
第7章 VB控制结构
第7章 VB控制结构
三、循环结构
在实际应用中,经常会遇到一些操作并不复杂,但
需要反复处理的问题,这类问题,如果用顺序结构
或选择结构来处理,将十分烦琐,甚至无法实现,
为此,VB提供了循环语句。
循环结构的特点:
根据条件的成立与否,重复执一行或数行代码。直
到条件满足为止。
第7章 VB控制结构
1、while 结构 while condition 循环体 首先判断条件,当条件
Y=
1( x 1) 0 ( x 0 ) 1( x 0 )
第7章 VB控制结构
Private Sub Command1_Click() Dim x As Integer, y As Integer x = Val(InputBox("请输入x的值")) If x > 0 Then y=1 ElseIf x = 0 Then y=0 Else y = -1 End If Print "当x="; x & "时", "y="; y End Sub
IIF 函数 Result=IIf(条件,True部分, False部分)。
例题:
Private Sub Command1_Click()
Dim x As Integer,Dim result As Integer
x = 20
result = IIf(x > 100, 200, 300)
End Sub
为 True 就执行 statements。
第7章 VB控制结构
Do While condition statements Loop Do statements Loop While ondition
首先测试 condition
如果 condition = False(零),则跳过循环体; 如果 condition= True(非零),则执行循环体。 先执行循环体,然后在每次执行后测试 condition。
第7章 VB控制结构
Private Sub Command2_Click()
Text1 = n2
Text2 = n1
Text3 = Format(ave, "###.00")
End Sub
Private Sub Command3_Click()
End
End Sub
第7章 VB控制结构
3、与选择结构相关的函数IIF 函数
Visual Basic 过程通过测试条件表达式,根
据测试结果(真或假)执行不同的操作。Visual
Basic 支持的判定结构有:
1、If...Then格式:单行条件语句的两种形式
(1)、If 条件 Then 语句:
条件和语句在同一行中。
第章 VB控制结构
Private Sub Command1_Click()
y = 200
End If
第7章 VB控制结构
2、If...Then...Else
用 If...Then...Else 块定义几个语句块,根据条
件执行其中一个语句:
If
[ElseIf
条件1
条件2
Then
Then
[语句-1]
[语句2]]
[Else
End If
[语句n]]
第7章 VB控制结构
例题1:用编程的方法求函数的值。
第7章 VB控制结构
注意:
(1)、用这种结构,也许同时满足条件的有多个,
但执行的是最先满足条件的case语句,其它满足条
件的case语句并不执行。
(2)、不能用逻辑运算符将将两个或多个条件简单
的组合在一起。
第7章 VB控制结构
Private Sub Command1_Click() Select Case Val(Text1.Text) Case Is < 60 Text2 = "不及格" Case Is <= 70 Text2 = "中等" Case Is <= 90 Text2 = "良好" Case Is <= 100 Text2 = "优秀" Case Else Text2 = "输入成绩有误" End Select End Sub
括to两边的数据。
第7章 VB控制结构
Private Sub Command3_Click() Select Case Val(Text1.Text) Case 0 To 59 Text2 = "不及格" Case 60 To 69 Text2 = "中等" Case 70 To 79 Text2 = "良好" Case 80 To 100 Text2 = "优秀" Case Else Text2 = "输入成绩有误" End Select End Sub
这种形式保证 statements 至少执行一次 首先测试 condition
如果 condition = False(零),则执行循环体 如果 condition= True(非零),则跳过循环体 先执循环体,然后在每次执行后测试 condition。 这种形式保证 statements 至少执行一次
成立时执行循环体,否
则,退出循环体。
wend
例题1:统计从键盘输入字符的个数
第7章 VB控制结构
第一种做法:
Private Sub Command1_Click() Dim str As String, countn As Integer
str = InputBox("请从键盘输入一个字符")
While str <> "?" countn = countn + 1 str = InputBox("请从键盘输入字符") Wend Print "输入字符的个数为:"; countn End Sub
End Sub
第7章 VB控制结构
2.没有使用 Let的 语句
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 1:b = 2
Print "a="; a
Print "b="; b
End Sub
第7章 VB控制结构
二、选择结构
第7章 VB控制结构
一、顺序结构
按照整个程序的书写顺序依次执行。
1、[Let] <变量名>=<表达式>
Private Sub Command1_Click()
Dim a As Integer, b As Integer
Let a = 1:Let b = 2
Print "a="; a:Print "b="; b
第7章 VB控制结构
4、多分支选择结构 Select Case 语句
它根据表达式的值,在一组相互独立的可选语句序列
中选择其中一条去执行。
例题1、
从键 盘 输入 学 生的 成 绩 , 如 果在 0=<x<60,输 出
“不及格”,如果60=<x<70,输出“中等”,如果
80=<x<90,输出“良好”,如果90=<x<100,输出
Do Until condition
statements Loop DO statements Loop Until condition
第7章 VB控制结构
例如:求1+2+3+……+100的值 (1)、用Do While condition statements Loop结构 Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0 i=1 Do While i <= 100 sum = sum + i i=i+1 Loop Print sum End Sub