VB程序设计基本结构

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

上一页 下一页 返回
4.3 循 环 结 构




【例4-7】下面的循环执行5次,因变量X小于0时而退出循 环。 x=5 For I=1 to 10 Print i I=I+1 X=x-1 If X<0 Then Exit For Next I
上一页 下一页 返回
4.3 循 环 结 构
上一页 下一页 返回
4.3 循 环 结 构



【例4-11】用Do…Until…Loop 循环语句编程计算 S=1+2+3+…+100。 Private Sub Form_Click() Dim S, I S=0 '累加前变量S为0 I=1 '给循环变量赋初值 Do While '类似循环变量赋终值 S=S+I I=I+1 '改变循环变量的值,类似FOR语句步 长的作用,否则会"死循环" Loop Until I> 100 '注意与上面例题中Do While I<= 100表示的条件相反 Print " S=",S End sun
上一页 下一页 返回
4.3 循 环 结 构


“循环体”在For和Next之间一条或多条语句将被执行 指定的次数。 Next后面的循环变量与For语句中的循环变量必须相 同。 执行过程: 系统给循环变量赋初值(它仅被赋值一次)并自动记下终 值和步长。 判断循环变量是否超过终值,未超过终值,则执行一次 循环体,并转到;否则,结束循环,执行Next的下一个语 句。 执行Next语句,将循环变量加上一个步长,转到,继 续执行,结束循环,执行Next后面的语句。 若要在循环变量大于终值之前结束循环,可以使用Exit For语句
上一页 下一页 返回
4.2 选 择 结 构



4.2.2 Select Case条件语句
Select Case 语句的功能与 If...Then...ElseIf 语句类似, 使用多分支语句Select Case也可以实现百度文库分支选择格式: Select Case 测试表达式 Case 表达式列表1 [语句块1] Case 表达式列表2 [语句块2]
上一页 下一页 返回
4.3 循 环 结 构





2. Do…Loop语句 Do循环用于控制循环次数未知的循环结构。 (1) 前测型循环 Do [{ While|Until } 条件 ] 语句块 [Exit Do] 语句块 Loop (2) 后测型循环 Do 语句块 [Exit Do] 语句块 Loop [{ While|Until} 条件]
上一页 下一页 返回
4.2 选 择 结 构



3. If...Then...ElseIf语句(多分支结构) 多分支结构的流程图如图4-5所示。 格式: If <条件表达式1> Then <语句块1> ElseIf<条件表达式2> Then <语句块2> [Else [语句块 n+1] ] End If
上一页 下一页 返回
4.3 循 环 结 构



3. Do循环与For 循环的区别 For...Next循环主要用于在知道循环次数的情况下,如果事 先不知道循环次数,可以使用当型循环Do...Loop,因为 Do...Loop循环是在给定的条件为真时重复执行循环体,条 件的表达方式灵活多样。因此,当需要由数据的某个条件是 否满足来控制循环时,使用Do...Loop循环比较容易。 4. 循环的嵌套 循环嵌套(多重循环)是指循环体内含有循环语句的循环。 Visual Basic对循环的嵌套层数没有限制,但超过4层或5 层循环通常是没必要的和不可取的
上一页 下一页 返回
4.2 选 择 结 构


功能: 执行过程:该语句执行时先测试“条件表达式1”,如果为假, 就依次测试“条件表达式2”……依次类推,直到找到为真的 条件表达式,就执行该条件下的“语句块”,然后执行End If后面的语句。不管有几个分支,程序执行了一个分支后, 其余分支就不再执行;如果所有条件都为假,那么Visual Basic就执行Else后面的语句;当多分支中有多个表达式同 时满足时,则只执行第一个与之匹配的语句块。此语句的特 点是最多只能执行其中的一个分支。
上一页 下一页 返回
4.3 循 环 结 构



(4) Exit Do语句表示当遇到该语句时,退出循环,执行 Loop的下一句语句。 【例4-10】 用Do…While…Loop循环语句编程计算 S=1+2+3+…+100 Private Sub Form_Click() Dim S, I S=0 '累加前变量S为0 I=1 '给循环变量赋初值 Do While I<= 100 '类似循环变量赋终值 S=S+I I=I+1 '改变循环变量的值,类似FOR语句步 长的作用,否则会"死循环" loop Print " S=",S End sun



注意: 只在一个分支内嵌套,不出现交叉,满足结构规则,其 嵌套的形式可有很多种,嵌套层次也可以任意多。 使用条件语句嵌套时,一定要注意If与Else,If与End If的配对关系,Else一般和它前面的、离它最近的、尚未配 对If的形成配对关系。
上一页 返回
4.3 循 环 结 构



上一页 下一页 返回
4.3 循 环 结 构





【例4-8】编程计算S=1+2+3+…+100。 这是一个“累加求和”的问题。解决这类程序时,通常是引 入一个用来存放“和”值的单元S,然后循环地向S中加入一 个加数,最后在变量S中存放的就是累加的结果。 Private Sub Form_Click() Dim S, I S=0 ' 累加前变量S为0 For I=1 to 100 S=S+I Next I Print " S=",S End sun
返回
4.2 选 择 结 构



4.2.1 If条件语句


If语句有如下三种格式: 1. If...Then 语句(单分支结构) 单分支结构的流程图如图4-1所示。 格式: If 〈条件表达式〉 Then 语句 或 If 〈条件表达式〉 Then 〈语句块〉 End If 功能:若条件表达式成立(值为真),则执行Then后面的语 句或语句块,当条件不成立时不做任何处理,则直接执行下 一条语句或End If下面的语句。
上一页 下一页 返回
4.3 循 环 结 构



说明: 前测型循环为先判断后执行,有可能一次也不执行;后 测型循环为先执行后判断,至少执行一次。两者的区别在于 判断条件的先后次序不同。 关键字While用于指明条件为真(True)时就执行循环 体中的语句;Until正好相反。 当省略了{While|Until }<条件>子句,即循环结构 仅由Do…Loop关键字构成,表示无条件循环,这时在循环 体内应该有Exit Do语句,否则为死循环。
上一页 下一页 返回
4.2 选 择 结 构


4.2.4 条件语句的嵌套
在条件语句中,Then和Else后面的语句块都包含另一个条 件语句,这就形成了条件语句的嵌套。例如: If 条件1 Then If 条件2 Then End If Else End If

上一页 下一页 返回
4.2 选 择 结 构
下一页 返回
4.3 循 环 结 构







1. For …Next语句 For…Next循环结构最通常的用法是以固定的次数重复执行 一块程序。其语法形式是: For 循环变量 =初值 To 终值 [Step 步长] [语句块] [Exit For] [语句块] Next 循环变量 说明: “循环变量”被用作循环计数器的数值变量。 “初值”、“终值”都是数值型,可以是数值表达式。 “步长”是数值型的,可以是数值表达式。步长不能为 0,否则程序会“死循环”。如果步长是1,则Step 1可以 省略不写。
从前面可以看到选择结构决定了一段代码是否执行。相 比之下,Visual Basic的循环结构则是控制一块代码执行 的次数。有两种方式来实现循环:执行固定的次数和一直执 行到某个条件满足为止。 循环是指在指定的条件下多次重复执行一组语句。被重复执 行的语句叫做循环体。Visual Basic提供了三种不同风格 的循环结构,分别是: 计数循环(For…Next循环)。 当循环(While…Wend循环)。 Do循环(Do…Loop循环)
第4章 程序设计基本结构



4.1 4.2 4.3 4.4 4.5
顺序结构 选择结构 循环结构 其他辅助控制语句 常用算法一
4.1 顺 序 结 构


若没有流程控制语句,则程序中的各条语句将按照各自在程 序中的出现位置依次执行,称为语句的顺序执行,即顺序结 构。 例如,在第2章常用基本语句一节中所介绍的定义变量的语 句Dim、赋值语句、输入输出语句、程序结束语句End、强 制显式声明变量语句Option Explicit、MsgBox函数和注 释语句等都不能改变程序的执行顺序。
上一页 下一页 返回
4.2 选 择 结 构





2. If...Then...Else语句(双分支结构) 格式: If <条件表达式> Then <语句块1> Else <语句块2> End If 功能:如果“条件表达式”为True时,则执行“语句块1” 分支;否则执行“语句块2”分支。此语句特点是只能执行其 中的一个分支,如图4-4所示。

上一页 下一页 返回
4.2 选 择 结 构




2. Choose函数 格式: Choose(n,返回值1,返回值2,…) 功能: 当n为1时,取“返回值1”;当n=2时,取“返回值2”,依 次类推。如果n的值小于1或大于返回值的个数,则函数返回 Null值。 例如:根据x的值1~4,分别转换成“春”、“夏”、 “秋”、“冬”的语句如下: y=Choose(x, "春","夏","秋","冬")
[Case Else [语句块n+1]] End Select


上一页 下一页 返回
4.2 选 择 结 构




说明: 执行过程:先计算“测试表达式”的值,然后将该值依次与 每个Case表达式的值进行比较,如果该值符合某个Case指 定的条件时,就执行该Case的语句块,然后跳到End Select,从End Select出口。如果没有相符合的Case值, 则执行Case Else中的语句块;若没有Case Else语句并且 没有匹配项,就没有语句执行。 说明: “测试表达式”可以是任意的数值或字符串表达式。 “表达式列表”与“测试表达式”的类型必须相同。 “表达式列表”的表示方法
上一页 下一页 返回
4.2 选 择 结 构


4.2.3 IIf 函数和Choose函数
Visual Basic中还提供了选择函数IIf 函数和Choose函 数,用来实现简单的选择结构。 1. IIf函数 格式: IIf(条件,条件为真时的值,条件为假时的值) 功能: 对条件进行测试,若条件成立(为真值),则取第一个值(即 “条件为真时的值”),否则取第二个值(即“条件为假时的 值”)。
下一页 返回
4.2 选 择 结 构

【例4-1】已知两个数x和y,比较它们的大小,使得 x大于 y。 界面设计如图4-2所示。 代码编写 Private Sub Command1_Click() x = Val(Text1.Text) y = Val(Text2.Text) If x < y Then t = x '为实现两个数的交换,借助于变量t来实现。 x=y y=t End If Text1.Text = x Text2.Text = y End Sub 运行结果分析:分别在Text1和Text2中输入“3”、 “6”,运行结果如图4-3所示,实现了题目要求。
相关文档
最新文档