VB控制结构——goto型控制语句

合集下载

Visual Basic程序设计VBch5_55.5.2 电子教案

Visual Basic程序设计VBch5_55.5.2 电子教案
4.5 其他辅助控制语句
1. GoTo 语句 形式: GoTo {标号|行号} 作用: 无条件地转移到标号或行号指定
的那行语句.
标号是一个字符序列, 行号是一个数字序列.
1
4.5 其他辅助控制语句
2. End语句 形式: End 作用结束一个程序(块)的运行.
终止过程或程序块
End If
End Select
10
猴子吃桃问题
Private Sub Picture1_Click() Dim x As Integer, n As Integer x=1 Picture1.Print "第7天的桃子数为:" & x For n = 6 To 1 Step -1 x=2*x-1 Picture1.Print "第" & n & "天的桃子数为: "&x Next n End Sub
t=1
'给存放累乘积的变量赋初值,必
须有
For i = 1 To 10
t=t*i
'累乘语句
Next i
Print "t="; t
End Sub
输出结果:t=3628800
8
二、递推法
1、找出当前项与前一项的关系 2、确定循环终止条件
9
举例:猴子吃桃问题
猴子摘了若干个桃子,当即吃掉一半, 还觉得不过瘾,又多吃了一个。 第二天 接着吃掉剩下桃子的一半,仍不过瘾, 又多吃了一个。以后每天都是吃掉尚存 桃子的一半零一个。到第10天早上猴子 再去吃桃子时,还剩下一个。问猴子当 初共摘下多少个桃子?
13
本章总结
1、 VB实现结构化程序设计的三种基本结构基 本结构所提供的基本语句

VB辅助控制语句

VB辅助控制语句

VB辅助控制语句、数组和自定义函数(一)VB其他辅助控制语句1.Go To语句⑴语句形式GoTo {标号|行号}⑵功能:无条件转移到标号或行号指定的语句;⑶注意:①Go To语句只能转移到同一过程的标号或行号处,标号是一个字符串,首字符必须为字母,与大小写无关,任何转移到的标号后应有冒号;行号是一个数字序列;②Go To语句使用频率过高,会使程序结构不清晰,可读性变差。

因此,应尽量少用或不用GOTO语句,用选择结构或循环结构代替。

⑷Goto语句举例求100以内的素数for m=2 to 100 …判断100以内的每个数是否为素数for I=2 to m-1if (m mod I)=0 then Goto NextM …M能被I整除,不是素数,next I …跳转到NextM标号print mNextm:next m2.End语句⑴语句形式End⑵功能:End用于结束一个程序的运行,它可以放在任何事过程中。

3.With语句⑴语句形式With 对象语句块End With⑵功能:用于对某个对象的属性进行一系列设置,而不需重复书写对象名。

⑶注意:当程序一旦进入With语句块,对象就不能改变,即不能用一个With语句对多个对象属性赋值。

属性前面不能省略“.”⑷With语句举例With Picture1.FontSize = 20.ForeColor = RGB(255, 128, 0).BackColor = RGB(0, 128, 128)End With(二)数组在前面所遇到的问题中,所涉及的字符串、数值型、逻辑型等数据类型都是简单类型,通过一个命名的变量来存取一个数据。

所涉及的数据不多,使用简单变量就可以存取处理。

但在实际问题中往往需要面对成批的、相关的、同类型的数据处理,如果用简单变量处理不方便,有时是不可能的。

如:要求列出班中成绩低于平均分的学生名单,这时需要使用数组。

数组不是一种数据类型,而是一组相同类型的变量的集合。

VB控制结构——goto型控制语句

VB控制结构——goto型控制语句

VB控制结构——goto型控制语句一、goto语句goto语句可以改变程序的顺序,跳过程序的某一部分去执行另一部分。

或者返回已经执行过的某些语句使之重复执行。

因此,用goto语句可以构成循环。

Goto语句的一般格式:goto [ 标号或行号]“标号”是一个以冒号结尾的标识符;“行号”是一个整型数。

它不以冒号结尾。

例如:aa:是一个标号100 是一个行号Goto语句改变程序执行的顺序。

无条件地把控制转移到“标号”或“行号”所在的程序行,并从该行开始向下执行。

需要注意的就是:(1)标号必须以英文字母开头,以冒号结束,而行号由数字组成,后面不能跟有冒号。

Goto语句中的行号或标号在程序中必须存在,并且是唯一的,否则会产生错误。

标号或行号可以在goto语句之前,也可在其之后。

当在goto语句之前时,提供了实现循环的另外一种途径。

(2)V isual basic对goto语句的使用有一定的限制。

它只能在一个过程中使用。

二、On--goto语句On—goto语句类似于情况语句,用来实现多分支控制结构。

它可以根据不同的条件从多种处理方案中选择一种,其格式为:On 数值表达式goto 行号列表或标号列表On—goto语句的功能是:根据“数值表达式”的值,把控制转移到几个指定语句行中的一个语句行。

“行号列表”或“标号列表”可以是程序中存在的多个行号或标号,相互之间需要用逗号隔开。

例如:On x goto 20,35,aa,bb该语句的执行过程是:先计算“数值表达式”的值,将其四舍五入得一整数。

然后根据该整数的值决定转移到第几个行号或标号执行。

如果其值为1,则转向第一个行号或标号所指出的语句行;如果为2,则转达向第二个行号或标号指出的语句行……依次类推。

如果“数值表达式”的值等于0或大于“行号列表”或“标号列表”中的项数。

程序找不到适当的语句行,将自动执行On—goto语句下面的一个可执行语句。

因为这个语句在一些工程量比较大的程序中,容易使程序变得混乱,所以我们应该尽量少用这些语句,并尽量用情况语句(select case)来代替。

028 VB中的辅助控制结构GoTo、With...End With、End和Exit语句

028 VB中的辅助控制结构GoTo、With...End With、End和Exit语句

本文介绍VB中的辅助控制结构GoTo、With...End With、End和Exit语句。

跳转语句GOTO语法格式如下:含义:当程序执行到该语句时,将会无条件跳转到指定位置。

注意:1,GoTo语句后面必要参数(行标签),需要自行定义,以英文开头命名的符合VB 规则的名称,然后以冒号“:”结尾,并放在行的开头位置。

2,GoTo语句只能跳转到所在过程,不能跨过程跨事件。

3,不建议使用太多的GoTo语句,会导致程序阅读和调试困难。

4,除非特殊情况下,尽量少使用GoTo语句。

举例:利用GoTo语句随机3个在1-6内的不重复数字。

程序界面如下图:代码如下:程序解释:首先,利用rnd函数产生3个范围在1-6之间的数字,然后判断三个数字有无重复,如果有重复,则说明不满足要求,利用GoTo语句跳转到L1处,即重新随机三个数,直到三个数字满足要求。

复用语句With...End With语法格式:作用:使用With语句可以对同一个对象一次执行一系列的操作。

注意:1,对象是必要参数,表示在复用语句内的方法和属性的操作对象2,语句块中,调用方法或属性时,省略对象名称,直接写点号"."3,With语句也可以嵌套使用。

通俗来讲,就是对一个对象而言,由于每次调用对象的属性或者方法都会涉及到对其加载和卸载过程,这个过程我们是看不见的,但是对于计算机而言,它是必须的过程,并且这个过程是需要占用大量cpu资源的,且执行时间比较长。

而如果使用With语句,那么整个过程仅需要执行一次加载和卸载过程。

因此对于同一个对象,如需多次调用方法或属性时,可以使用With复用语句,这样可以节约大量的cpu资源,并会提升程序执行效率。

举个例子:修改窗体的外形尺寸,可以按照如下代码设置:退出语句ExitExit语句用来在中途退出某些过程或语句,例如前面已经学习过的For循环语句、Do循环语句,以及以后将要学习的子过程Sub、函数过程Function和属性过程Property。

VB基本知识介绍

VB基本知识介绍

VB基本知识介绍条件语句1、单分支结构(1)单行语句If <表达式>Then <语句块>(2)多行语句If<表达式> Then<语句块>Endif2、双分支结构If <表达式 > Then<语句块1>Else<语句块2>Endif3、多分支结构If <表达式> Then<语句块1>Else if <表达式2> Then<语句块2>……..Else<语句块n>Endif选择语句Select case<变量>Case <值列表1><语句块1>Case <值列表2><语句块2>………Case <值列表n-1><语句块n-1>Case Else<语句块n>End select注意:case指定的<值列表>可以是下面的4种情形之一:1)具体的值或表达式,例如 case 12) 一组枚举表达式,例如 case 1,3,53) 表达式1 To 表达式2 ,例如 case 1 to 10 ‘变量的值为1~10,包括1和104) Is 关系运算符表达式,例如 case Is >0 …变量的值大于0循环语句1)For ……. Next 语句这种语句用于循环次数已经确定的循环结构For i=0 to 10Sum=sum+iNext i2)Do ……. Loop 语句a)Do While …….LoopDO While <表达式>循环体[Exit Do]Loopb)Do …… Loop whileDo循环体[Exit Do]Loop While <表达式>c)Do Until …… LoopDo Until <表达式>循环体[Exit Do]Loop程序运行时先判断执行条件<表达式>,当表达式为False时,执行该循环体,直到表达式为True 时,则终止循环d)Do….Loop UntilDo循环体[Exit Do]Loop Until <表达式>其它控制语句GoTo语句GoTo语句使程序无条件跳转到过程中指定的语句行执行。

Chap.4 VB基本控制结构

Chap.4 VB基本控制结构

注释
三、注释语句 为了提高程序的可读性,通常在程序的适当位置加 上必要的注释。VB中的注释语句的前缀是一个单撇号' 或保留字Rem。 1.格式 ' | Rem < 注释内容 > 2.说明 (1)Rem与注释内容之间至少要有一个空格。 (2)注释语句是非执行语句,不参加编译和执行。 (3)注释语句可放在过程、模块的开头,也可放在 执行语句的后面。 (4)任何字符(包括汉字)都可以放在注释行中作 为注释内容。
exit
二、Exit语句 1.作用 Exit语句用于退出 Do...Loop、For...Next、Function或Sub代码块 2.对应的使用格式 Exit Do、Exit For、Exit Function、Exit Sub 分别表示退出 Do循环、For循环、函数、子过程
End
三、End语句 1.格式 End 2.作用 结束一个程序的执行。可以放在任何事件过程中。 VB的End语句还有多种形式,用于结束一个过程或 程序块,其他形式有: End If End With End Type End Select End Sub End Function
循环嵌套
4.3.4 循环嵌套
一、定义 在一个循环结构中又完整地包含另一个循环结构, 称为循环的嵌套。 While语句、For-Next语句和Do-Loop语句均允许嵌 套,也可以互相嵌套。
二、说明 1.内循环变量与外循环变量不能同名。 2.循环语句嵌套时,必须保证结构的完整。即外循环 必须完全包含内循环,不能交叉。 3.不能从循环体外转向循环体内,也不能从外循环转 向内循环,反之则可以。 4.外循环变量每变化一次,内循环变量执行若干次。
4.3.1 While-Wend 循环语句

Basic控制结构(1)


格式: Select Case 测试表达式
Case 表达式列表1 语句块1
[Case 表达式列表2 语句块2]
… [Case 表达式列表n-1
语句块n-1] [Case Else
语句块n] End Select
功能:根据“测试表达式”的值,选择第一个符合条件的语 句块执行。
Select Case语句的执行过程是:先求“测试表达式”的值, 然后顺序测试该值符合哪一个Case子句中情况,如果找 到了,则执行该Case子句下面的语句块,然后执行End Select下面的语句;如果没找到,则执行Case Else下面 的语句块,然后执行End Select下面的语句。
条件判断结构也叫分支结构或选择结构。是指根据 所给的条件,选择执行一组代码。它的特点是在若干个分 支中选一组执行。
条件语句也称为if语句,有两种格式,一种是单行结 构,一种是块结构
7.1.1 单行结构条件语句
格式:if 条件表达式 then 语句1 [else 语句2] 功能:如果条件表达式成立,则执行语句1,否则
原则:每一个“else”部分都与它前面的、未曾被配对的“if –then”配对。
7.1.2 块结构 格式: if 条件表达式 then
语句序列1
[else 语句序列2]
end if 功能: 例: (1)if a>b then
max=b
end if (2)if age1=age2 then
print age1 print “甲与乙同岁”
end if (3)if score>=60 then
str1=“及格”
else print “不及格”
end if
(4)if age1=age2 then print age1 print “甲与乙同岁”

GOTO语句可以无条件跳到一个标签处

BEGIN...IF credit_rating < 3 THEN...EXIT; -- not allowedEND IF;END;记住,EXIT语句必须放在循环内。

如果想在PL/SQL块正常到达程序结尾之前而终止执行,可以使用RETURN语句。

EXIT-WHENEXIT-WHEN语句可以根据给定的条件跳出循环。

当遇到EXIT语句时,WHEN子句中的表达式值就会被计算。

如果条件满足,循环就会被终止,控制权转到循环语句之后的语句。

示例如下:LOOPFETCH c1INTO ...EXIT WHEN c1%NOTFOUND; -- exit loop if condition is true...END LOOP;CLOSE c1;在条件满足之前,循环是不会结束的。

所以,循环里的语句必须要改变循环条件的值。

上例中,如果FETCH语句返回了一行值,WNEN子句中的条件就为假;如果不能返回结果,WNEN 子句中的条件就为真,循环就会结束,控制权转入CLOSE语句。

EXIT-WHEN语句可以替代简单的IF语句,例如,比较下面两段代码:EXIT WHEN count > 100;这两个语句在逻辑上是等价的,但EXIT-WHEN语句更容易阅读和理解。

循环标签跟PL/SQL块一样,循环也是可以添加标签。

标签必须出现在LOOP语句的开端,语法如下:<<label_name>>LOOPsequence_of_statementsEND LOOP;而在LOOP语句结束部分出现的标签名称是可选的,语法如下:<<my_loop>>LOOP...END LOOP my_loop;在LOOP结束部分使用标签名称能够改善可读性。

无论使用哪种EXIT语句形式,都可以结束一个封闭的LOOP块,而不仅仅局限于当前的LOOP 块。

只要在我们想结束的封闭LOOP块上添加一个标签,然后像下面这样在EXIT语句中使用这个标签就可以了:<<outer>>LOOP...LOOP...EXIT outer WHEN ... -- exit both loopsEND LOOP;...END LOOP outer;2、WHILE-LOOPWHILE condition LOOPsequence_of_statementsEND LOOP;每次循环之前,程序都是计算布尔表达式的值。

VB程序的设计VB基本语句-精选文档


第5章 基本的控制结构
For循环
例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
分析:
•重复过程:* •初值、终值与增量不变 Dim I, s As Integer s=1 For I = 1 To 10 Fors=1 =1 1 To To 10 10 For II = s=s*I Next I Print I, s
循环体的执行次数是多少 ? 输出的I、S的值是多少 ? For I = 1 To 10执行多少次?
初值与终值换位 可以吗?
程序代码: Dim I%, s % ForI I=10 To Step For = 1 To 10 1 step 1 -1
s=s+I
Next I Print I, s
Visual Basic 程序设计
visualbasicvisualbasic程序设计程序设计第第55章章基本的控制结构基本的控制结构第第55章章基本的控制结构基本的控制结构累加和平均值累加和平均值求素数求素数求数的质因数求数的质因数穷举法穷举法递推法递推法55visualbasicvisualbasic程序设计程序设计第第55章章基本的控制结构基本的控制结构第第55章章基本的控制结构基本的控制结构例1
优:Mark ≥ 90 等级: 通过:60 ≤ Mark < 90 未通过:<60
思考?
Visual Basic 程序设计
第5章 基本的控制结构

第三章 VB基本语法

必须为常数
Dim a(10) As Integer
2、多维数组
如:student.strname表示学生姓名
3.3 变量与常量 命名规则: (1)必须以字母或汉字开头,由字母、汉字、 数字或下划线组成,长度小于255个字符; (2)不能用VB中关键字; (3)不区分大小写字母; (4)最好在变量名前加可以用来表明变量数据 类型的前缀。
1、变量: 在程序运行的过程中可以变化的量。 声明方式: (1)用Dim语句 Dim 变量名 [As 类型] 注意: 若省略“As 类型”,则为变体类 型 变量名后可以加类型符来代替“As 类型” 一条Dim语句可以同时定义多个变量。
5、Select Case语句(情况语句)
Select Case 变量或表达式 Case 表达式列表1 语句块1 语句块2 · · · · · · · · · · · · · · [Case Else 语句块n+1] End Select
可以是数值 型或字符型
用逗号分隔的枚举表达式;
Байду номын сангаас
Case 表达式列表2 表达式1 To 表达式2; Is 关系运算符表达式。
所有的变量都具有数据类型,变量的数据类型 决定了如何把变量的值存储到计算机的内存中。 3.2.1 标准数据类型 3.2.2 自定义类型 定义正确数据类型的意义: 1、减少错误发生
2、节省内存
1、数值数据类型
Visual Basic 的数值型数据分为整型数和浮点数 两类。其中整型数又分为整数和长整数,浮点 数分为单精度浮点数和双精度浮点数。 (1)整型数(integer): 不带小数点和指数符号的数。
Else
<语句块2>
语句块1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB控制结构——goto型控制语句
一、goto语句
goto语句可以改变程序的顺序,跳过程序的某一部分去执行另一部分。

或者返回已经执行过的某些语句使之重复执行。

因此,用goto语句可以构成循环。

Goto语句的一般格式:goto [ 标号或行号]
“标号”是一个以冒号结尾的标识符;“行号”是一个整型数。

它不以冒号结尾。

例如:aa:是一个标号
100 是一个行号
Goto语句改变程序执行的顺序。

无条件地把控制转移到“标号”或“行号”所在的程序行,并从该行开始向下执行。

需要注意的就是:
(1)标号必须以英文字母开头,以冒号结束,而行号由数字组成,后面不能跟有冒号。

Goto语句中的行号或标号在程序中必须存在,并且是唯一的,否则会产生错误。

标号或行号可以在goto语句之前,也可在其之后。

当在goto语句之前时,提供了实现循环的另外一种途径。

(2)V isual basic对goto语句的使用有一定的限制。

它只能在一个过程中使用。

二、On--goto语句
On—goto语句类似于情况语句,用来实现多分支控制结构。

它可以根据不同的条件从多种处理方案中选择一种,其格式为:
On 数值表达式goto 行号列表或标号列表
On—goto语句的功能是:根据“数值表达式”的值,把控制转移到几个指定语句行中的一个语句行。

“行号列表”或“标号列表”可以是程序中存在的多个行号或标号,相互之间需要用逗号隔开。

例如:
On x goto 20,35,aa,bb
该语句的执行过程是:先计算“数值表达式”的值,将其四舍五入得一整数。

然后根据该整数的值决定转移到第几个行号或标号执行。

如果其值为1,则转向第一个行号或标号所指出的语句行;如果为2,则转达向第二个行号或标号指出的语句行……依次类推。

如果“数值表达式”的值等于0或大于“行号列表”或“标号列表”中的项数。

程序找不到适当的语句行,将自动执行On—goto语句下面的一个可执行语句。

因为这个语句在一些工程量比较大的程序中,容易使程序变得混乱,所以我们应该尽量少用这些语句,并尽量用情况语句(select case)来代替。

相关文档
最新文档