32VB三种程序结构VisualBasic语言作为结构化程序设计语言,提供ppt课件_第1页
32VB三种程序结构VisualBasic语言作为结构化程序设计语言,提供ppt课件_第2页
32VB三种程序结构VisualBasic语言作为结构化程序设计语言,提供ppt课件_第3页
32VB三种程序结构VisualBasic语言作为结构化程序设计语言,提供ppt课件_第4页
32VB三种程序结构VisualBasic语言作为结构化程序设计语言,提供ppt课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3.2 VB3.2 VB三种程序结构三种程序结构Visual BasicVisual Basic语言作为结构化程序设计语语言作为结构化程序设计语言,提供了三种控制流来控制程序的流言,提供了三种控制流来控制程序的流程:顺序,条件分支和循环语句。程:顺序,条件分支和循环语句。3.2.1 顺序结构顺序结构顺序结构程序中的语句依照其在程序中的位顺序结构程序中的语句依照其在程序中的位置依次顺序地执行。置依次顺序地执行。1、 赋值语句赋值语句格式:格式: 变量名变量名/对象对象.属性名属性名 = 表达式表达式功能:将赋值号右边表达式的值赋给赋值号功能:将赋值号右边表达式的值赋给赋值号左边的变量或对象属性。

2、左边的变量或对象属性。举例:举例: Form1.width = 300 Temp = 20阐明:阐明: 1、 当表达式为数值型且与变量的精度不当表达式为数值型且与变量的精度不相同时,强制转换成左边变量的精度。例相同时,强制转换成左边变量的精度。例如:如:Dim A as integerA = 4.7 A是整型变量,是整型变量,A中的结果是中的结果是5。 2、 当表达式是数字字符串,左边变量是当表达式是数字字符串,左边变量是数值类型时,自动转换成数值类型再赋值;数值类型时,自动转换成数值类型再赋值;但当表达式有非数字字符或空串时,则出但当表达式有非数字字符或空串时,则出错。例如;错。例如; n=

3、“123” n中的结果是中的结果是123 n为整形为整形 n=“1a23” 出现出现“类型不匹配的错误类型不匹配的错误3、 当逻辑型赋值给数值型时,当逻辑型赋值给数值型时,True转转换为换为-1,False转换为转换为0;反之,当数值型赋;反之,当数值型赋给逻辑型时,非给逻辑型时,非0转换为转换为True,0转换为转换为False.2、MsgBox函数:向用户显示信息输出)MsgBox语句:MsgBox (提示内容 ,答复按钮+图标,标题)MsgBox函数:Dim x As IntegerX=MsgBox(提示内容 ,答复按钮+图标,标题)功能:打开一个消息框,等待用户选择一个按钮。功能:打

4、开一个消息框,等待用户选择一个按钮。MsgBox函数返回所选按钮对应的整数值,其数值的意义见后表。函数返回所选按钮对应的整数值,其数值的意义见后表。若不需要返回值,则作为若不需要返回值,则作为MsgBox语句。语句。参数说明提示内容:显示给用户的信息。最长1024字符。假设 内容超过一行,则可以在每一行之间用回车符 Chr(13)、换行符 (Chr(10) 或是回车与换行符的组合 (Chr(13) & Chr(10) 将各行分隔开来。 答复按钮+图标:确定在消息框中按钮 的数目和类型,以及图标的类型。标题:显示在消息框标题栏上的文本。分组分组 内部常数内部常数 按钮值按钮值 描描 述述

5、 按按钮钮 数数目目VbOkOnlyVbOkCancelVbAboutRetryIgnoreVbYesNoCancelVbYesNoVbRetryCancel012345只显示确定按钮只显示确定按钮显示显示确定确定、取消取消按钮按钮显示显示终止终止、重试重试、忽略忽略按按钮钮显示显示是是、 否否 、 取消取消按钮按钮显示显示是是、 否否 显示显示重试重试、 取消取消按钮按钮图标图标类型类型VbCriticalVbQuestionVbExclamationVbInformation16324864关键信息图标,红色关键信息图标,红色STOP标志标志询问信息图标询问信息图标 ?警告信息图标警告信息

6、图标 !信息图标信息图标 I默认默认按钮按钮VbDefaultButton1VbDefaultButton2VbDefaultButton30256512第第1个按钮为默认个按钮为默认第第2个按钮为默认个按钮为默认第第3个按钮为默认个按钮为默认模式模式VbApplicationModaleVbSystemModal04096应用模式应用模式系统模式系统模式按钮按钮设置值及意义设置值及意义内部常数返回值被单击的按钮vbOkvbCancelvbAboutvbRetryvbIgnorevbYesvbNo1234567确定取消终止重试忽略是否MsgBox函数返回所选按钮整数值的意义函数返回所选按钮整数

7、值的意义3、InputBox函数:从用户处获取信息输入)功能:打开一个对话框,等待用户键入内容。当用户单击确定按钮或按回车键时,函数返回输入的值,其值的类型为字符串。(1句法 变量名=InputBox(提示,标题,默认值横坐标,纵坐标) (2参数说明 提示:提示信息,类型是字符串。 标题:是对话框窗口中的标题文本,类型是 字符串。 默认值:在用户输入信息之前,输入框中显 示的内容,类型是字符串。 例: bb = MsgBox(错误,重输吗?, vbYesNo + vbDefaultButton2 + vbCritical, 确认重输对话框) If bb = vbNo Then End4、pri

8、nt语句语句格式格式1:对象:对象. Print 表达式表达式 ,|;功能:显示数据。功能:显示数据。 对象可以是窗体对象可以是窗体Form)、)、图形框图形框(PictureBox)或打印机或打印机Printer)。如果省略了对象,)。如果省略了对象,则在窗体上输出。则在窗体上输出。阐明:阐明: 表达式:可选项。可以是表达式:可选项。可以是一个或多个表达式。当有多个表一个或多个表达式。当有多个表达式时,要用分隔符逗号、分达式时,要用分隔符逗号、分号隔开。当表达式缺省时,则号隔开。当表达式缺省时,则屏幕显示一个空行。屏幕显示一个空行。 输出格式分为标准输出格式和输出格式分为标准输出格式和紧凑输

9、出格式。紧凑输出格式。标准输出格式:以标准输出格式:以14个字符宽度划个字符宽度划分为一个区段,每个数据项占一分为一个区段,每个数据项占一个区段的位置。(数据项之间用个区段的位置。(数据项之间用逗号隔开)逗号隔开)紧凑输出格式:对于数值型数据,紧凑输出格式:对于数值型数据,前面有一个符号位,后面有一个前面有一个符号位,后面有一个空格;对于每个字符串,各个数空格;对于每个字符串,各个数据项之间没有间隔。(各数据项据项之间没有间隔。(各数据项之间用分号或空格作为分隔符)之间用分号或空格作为分隔符)格式格式2:对象对象.PrintSpc(n)/Tab(n)表达式表表达式表Spc(n)函数:用于在输出

10、时插入函数:用于在输出时插入n个空个空格。格。Tabn函数:表示在第函数:表示在第n 列显示。列显示。3.2.2 常用内部函数常用内部函数内部函数内部函数数学函数数学函数转换函数转换函数字符串函数字符串函数日期函数日期函数函数名函数名含义含义例如例如结果结果Abs(N)Exp(N)Log(N)Rnd(N)Sgn(N)Sqr(N)Sin(N)Cos(N)Tan(N)Round(x,n)取绝对值取绝对值e为底的指数函数,即为底的指数函数,即ex以以e为底的自然对数为底的自然对数产生随机数产生随机数符号函数符号函数(1,0,-1)平方根平方根正弦函数正弦函数余弦函数余弦函数正切函数正切函数四舍五入函

11、数四舍五入函数Abs(-3.5)Exp(3)Log(10)RndSgn(-3.5)Sqr(9)Sin(0) Cos(0)Tan(0)3.520.0862.30-1之间的数之间的数-13010一一 数学函数数学函数? Round(3.89456,3) 结果结果:3.895阐明:阐明: 在三角函数中,以弧度表示;在三角函数中,以弧度表示;sqr的自变量不能是负数的自变量不能是负数 Rnd函数返回小于函数返回小于1,大于等于,大于等于0的单精度随机数。的单精度随机数。VB用于产生随机数的公式取决于称为种子用于产生随机数的公式取决于称为种子seed的初始值。的初始值。默认情况下,每次运行一个应用程序,

12、默认情况下,每次运行一个应用程序,VB提供一相同的种子,提供一相同的种子,即即Rnd产生相同序列的随机数。为了每次运行时,产生不同序产生相同序列的随机数。为了每次运行时,产生不同序列的随机数,可执行列的随机数,可执行Randomize语句,格式如下:语句,格式如下:Randomize number如果省略如果省略number,则用系统计时器返回的值作为新的种子,则用系统计时器返回的值作为新的种子Rnd(x): x=0:得到的相同的随机数结果。得到的相同的随机数结果。大于大于 0:序列中的下一个。序列中的下一个。 省略省略:序列中的下一个随机数。序列中的下一个随机数。例子:例子:int(b-a+

13、1)*rnd)+a要产生要产生3050之间的随机数之间的随机数int(Rnd*21)+30二、二、 字符串函数字符串函数 Len( )函数函数格式:格式:Len(String)功能:计算字符串的长度。功能:计算字符串的长度。例子:例子:Len(Visual) 函数返回值为函数返回值为6Mid( ) 函数函数格式:格式:Mid(String,n,m)功能:从功能:从String字符串中从第字符串中从第n 个字符开始连续取个字符开始连续取m个字符。个字符。例子:例子:Mid(VisualBasic6.0,7,5) 函数返回值是函数返回值是Basic InStr( )函数函数格式:格式:InStr(

14、n, string1, string2)功能;在功能;在string1 中从中从n开始查找开始查找 string2,如果存在,函数值,如果存在,函数值为为string2在在string1中的位置值;找不到时函数的值为中的位置值;找不到时函数的值为0。n是可选参是可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。字符的位置开始。例子:例子: Print InStr(2, efabcdefg, ef)函数返回值为函数返回值为7删除前后空格函数删除前后空格函数格式:格式:TRIM():去掉前后空格去掉前后空格 L

15、TRIM():去掉前空格:去掉前空格 RTRIM():去掉后空格:去掉后空格例:例:trim(“ ab “)=“ab”ltrim(“ ab “)=“ab ”Rtrim(“ ab “)=“ ab”取子串函数取子串函数格式:格式:LEFT(,)功能:从表达式值的左端取一个指定长度的子串功能:从表达式值的左端取一个指定长度的子串格式:格式: RIGHT(,)功能:从表达式的右端取一个指定长度的子串。功能:从表达式的右端取一个指定长度的子串。 例子:例子: LEFT(VisualBasic6.0, 5) 函数返回值是函数返回值是Visua“RIGHT(VisualBasic6.0, 5) 函数返回值是

16、函数返回值是“ic6.0“4Str( )格式:格式:Str(Number)功能:将数值型量转换成字符型量。功能:将数值型量转换成字符型量。阐明:阐明:Number为一个数值型量,返回一个字符型量。为一个数值型量,返回一个字符型量。例如:例如:Print Str(12345)值为字符值为字符“ 12345。阐明:阐明: Str函数将非负数值转换成字符类型后,会函数将非负数值转换成字符类型后,会在转换后的字符串左边增加空格,即数值的符号位。如在转换后的字符串左边增加空格,即数值的符号位。如Str(123)的结果为的结果为“ 123,而不是,而不是123。Print Str(123)三、三、 日期函

17、数日期函数1Date格式:格式:Date功能:提取计算机系统的当前日期。功能:提取计算机系统的当前日期。阐明:该函数是无参函数,返回日期的格式为阐明:该函数是无参函数,返回日期的格式为月月-日日-年年例如:如果今天是例如:如果今天是2000年年3月月10日,则日,则a=Date的值为的值为“03-10-2000”Print Date2Now格式:格式:Now功能:提取计算机系统的当前的时间和日期。功能:提取计算机系统的当前的时间和日期。例如:例如:a=Now a的值为的值为00-3-6 10:08:34,表示当前系统日表示当前系统日期为期为2000年年3月月6日,系统时间为日,系统时间为10点

18、点8分分34秒。秒。Print Now3Time格式:格式:Time功能:提取计算机系统的当前的时间。功能:提取计算机系统的当前的时间。阐明:该函数是无参函数,返回由当前系统时间组成的一阐明:该函数是无参函数,返回由当前系统时间组成的一个字符串。个字符串。例如:例如:a=Time a的值为的值为10:08:34。 4、格式:、格式:YEAR(日期表达式日期表达式 ) MONTH(日期表达式日期表达式 ) DAY(日期表达式日期表达式 )功能:返回年月日功能:返回年月日例:例:Print Date Print Day(#3/12/2019#)5、格式:、格式: HOUR(日期时间表达式日期时间表

19、达式 ) MINUTE(日期时间表达式日期时间表达式 ) Second(日期时间表达式日期时间表达式 )功能:返回时、分、秒。功能:返回时、分、秒。例:例:Print TimePrint Hour(#1:34:24 PM#)Print Minute(Time)四、四、 其他函数其他函数1Asc()()格式:格式:Asc(String)功能:将字符串转换成功能:将字符串转换成ASCII值。值。例如:例如:Print Asc(C) 值为值为67。2Chr()()格式:格式:Chr(x)功能:将功能:将ASCII码值转换成字符串。码值转换成字符串。例如:例如:Print Chr(66)值为字符值为字

20、符B。 Chr和和Asc函数是一对互为反函数函数是一对互为反函数3.小写转换函数小写转换函数格式:格式:Lcase()功能:将指定表达式值中的大写字母转换成小写功能:将指定表达式值中的大写字母转换成小写字母,其他字符不变。字母,其他字符不变。例:例: ? Lcase(BOOK) book4.大写转换函数大写转换函数格式:格式:Ucase()功能:将指定表达式值中的小写字母转换成大写功能:将指定表达式值中的小写字母转换成大写字母,其他字符不变。字母,其他字符不变。例:例: ? Ucase(“work”) WORK5Val()()格式:格式:Val(String)功能:将字符串量转换成数值量。功能

21、:将字符串量转换成数值量。例如:例如:a=Val(-13.456) 值为值为-13.456 b=Val(13-456) 值为值为13 Val将数字字符串转换为数值,当字符串中出现非数值字将数字字符串转换为数值,当字符串中出现非数值字符时,停止转换,函数返回的是停止转换前的结果。符时,停止转换,函数返回的是停止转换前的结果。如如Val(“ 123.45ty”)结果为结果为-123.45。6.str( )功能:将数值转换成字符串。功能:将数值转换成字符串。 Visual Basic 选择结构的实现: IfThen 语句单分支结构) If.ThenElse 语句双分支结构) Select Case

22、语句多分支结构)3、2、2 分支结构分支结构1. IfThen语句单分支结构)语句单分支结构) 格式格式1:If 表达式表达式Then 语句语句 格式格式2:If 表达式表达式Then 语句块语句块 End IfTF 语句块)语句块)表达式表达式单分支结构单分支结构功能:当条件表达式的值为功能:当条件表达式的值为“真时,真时,则执行则执行Then后面的语句或语句块;后面的语句或语句块;否则不执行任何操作。否则不执行任何操作。阐明:阐明: 语句块可以是一条或多条语句。如果使用格式语句块可以是一条或多条语句。如果使用格式1的简单形式表示,则只能是一条语句;或用冒号隔开的的简单形式表示,则只能是一条

23、语句;或用冒号隔开的多条语句,但这些语句必须书写在一行上。多条语句,但这些语句必须书写在一行上。 If.Then 的单行格式不用的单行格式不用 End If 语句。语句。Dim x As IntegerPrivate Sub Command1_Click()x = 90If x 0 Then MsgBox 正数正数: Print x=90End SubPrivate Sub Command2_Click()x = 90If x 0 ThenMsgBox 正数正数Print x=90End IfEnd Sub【例3-3】任意输入3个数,找出其中的最大值。编写的窗体单击事件过程代码如下:Priva

24、te Sub Form_Click() Dim a As Single, b As Single, c As Single, max As Single a = InputBox(请输入第一个数, 输入框) b = InputBox(请输入第二个数, 输入框) c = InputBox(请输入第三个数, 输入框) max = a If b max Then max = b If c max Then max = c Print 三个数中最大的为: & maxEnd Sub2. IfThen Else 语句结构语句结构 (双分支结构)(双分支结构)格式格式1: If Then Else

25、End If格式格式2: If Then Else 功能:当表达式的值为非功能:当表达式的值为非0True时时,执行执行Then后面的语后面的语句块句块1,否则执行,否则执行Else后面的语句块后面的语句块2。FT语句语句(块块)1语句语句(块块)2表达表达式式双分支结构双分支结构阐明:块结构的条件语句可以嵌套,即把一个阐明:块结构的条件语句可以嵌套,即把一个If Then Else 块放在另一个块放在另一个If Then Else 块内。嵌块内。嵌套必须完全嵌套,也就是内层条件语句必须完全包含在套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句之中。外层条件语句之中。【例3-4】火

26、车站行李费的收费标准是40kg以内包括40kg0.20元/kg,超过部分为0.50元/kg。编写程序,根据输入的任意重量,计算出应付的行李费。根据题意计算公式如下:Pay=Weight0.20 Weight40( W e i g h t - 4 0 ) 0 . 5 0 + 4 0 0 . 2 0 Weight40编写的窗体单击事件过程代码如下:Private Sub Form_Click()Dim weight As Single, pay As Singleweight = InputBox(请输入行李重量, 输入框)If weight 40 Thenpay = (weight - 40)

27、* 0.5 + 40 * 0.2Elsepay = weight * 0.2End IfPrint 行李重量= & weightPrint 所付费用= & payEnd Sub3. IfThen Else If 语句多分支结构构造语句多分支结构构造 语句格式:语句格式: If If 表达式表达式1 1 Then Then 语句块语句块1 1 ElseIf ElseIf 表达式表达式2 2ThenThen 语句块语句块2 2 Else Else 语句块语句块 n+1 n+1 End If End If FTTT表达式表达式1表达式表达式2表达式表达式nn语句块语句块1语句块语句块

28、2语句块语句块nn语句块语句块n+11F图图3.10 3.10 多分支结构多分支结构阐明:阐明: 不管有几个分支,程序执行了一个不管有几个分支,程序执行了一个分支后,其余分支不再执行。分支后,其余分支不再执行。 ElseIf ElseIf子句的数量没有限制,可以子句的数量没有限制,可以根据需要使用任意多个根据需要使用任意多个ElseIfElseIf子句。子句。例:例: 【例【例3-63-6】输入一个学生的成绩】输入一个学生的成绩scorescore,根据其所在分数段给出他的考,根据其所在分数段给出他的考试等级。分数段划分规则是:试等级。分数段划分规则是:90score=10090score=1

29、00为为“优秀优秀”,80score=9080score=90为为“良好良好”,70score=8070score=80为为“中等中等”,60=score=7060=score=70为为“及格及格”,score60score100score100为为“输入错误输入错误”。Private Sub Form_Click()Private Sub Form_Click()Dim score As SingleDim score As Singlescore = InputBox(score = InputBox(请输入学生的成绩请输入学生的成绩score;)score;)If score 60 Th

30、enIf score 60 ThenPrint Print 不及格不及格 ElseIf score 70 ThenElseIf score 70 ThenPrint Print 及格及格 ElseIf score 80 ThenElseIf score 80 ThenPrint Print 中等中等 ElseIf score 90 ThenElseIf score 90 ThenPrint Print 良好良好 ElseIf score = 100 ThenElseIf score = 100 ThenPrint Print 优秀优秀 ElseElsePrint Print 输入错误输入错误

31、End IfEnd IfEnd SubEnd Sub4 . If 语句的嵌套语句的嵌套If 语句的嵌套是指语句的嵌套是指if或或else语句后面的语句块中又包含语句后面的语句块中又包含if语句。语句。语句形式为:语句形式为:If then if then endif endif【例3-5】输入系数a,b和c,求二次方程ax2+bx+c = 0的实根。Private Sub Form_Click()Dim a!, b!, c!, d!, x1!, x2!, xa = InputBox(请输入系数a:)b = InputBox(请输入系数b:)c = InputBox(请输入系数c:)d = b

32、* b - 4 * a * cIf d 0 Thenx1 = (-b + Sqr(d) / (2 * a)x2 = (-b - Sqr(d) / (2 * a)Print x1=; x1, x2=; x2ElseIf d = 0 Thenx = -b / (2 * a): Print x=; xElsePrint 此方程无实根End IfEnd IfEnd SubPrivate Sub Form_Click()Dim score As Singlescore = InputBox(请输入学生的成绩score:)If score 60 ThenPrint 不及格ElseIf score = 70

33、 ThenPrint 及格ElseIf score = 80 ThenPrint 中等ElseIf score = 90 ThenPrint 良好ElseIf score = 100 ThenPrint 优秀ElsePrint 输入错误End IfEnd Sub 5Select Case语句多分支结构)语句多分支结构) FTFF表达式表表达式表n语句块语句块n+1语句块语句块nT表达式表表达式表2语句块语句块2T表达式表表达式表1语句块语句块1图图 3.11 Select Case 3.11 Select Case 构造构造格式:格式:Select Case Select Case 测试变量或

34、表达式测试变量或表达式 Case Case 表达式表表达式表1 1 语句块语句块11 Case Case 表达式表表达式表2 2 语句块语句块22 Case Case 表达式表表达式表n n 语句块语句块nn Case Else Case Else 语句块语句块n+1n+1 End Select End Select功能:根据功能:根据Select Case Select Case 中的结果与中的结果与各各CaseCase子句中的值比较,决定执行哪一组语句块。如子句中的值比较,决定执行哪一组语句块。如果有多个果有多个CaseCase短语中的值与测试值匹配,则根据自上短语中的值与测试值匹配,则根

35、据自上而下判断原则,只执行第一个与之匹配的语句块。而下判断原则,只执行第一个与之匹配的语句块。阐明:阐明:如果在一个列表中有多个值,就用逗号把值隔开。例:如果在一个列表中有多个值,就用逗号把值隔开。例: 一个表达式。如:一个表达式。如:Case 6Case 6 一组用逗号隔开的枚举值。如:一组用逗号隔开的枚举值。如: Case 1Case 1,3 3,5 5,7 7表达式表达式1 TO 1 TO 表达式表达式2 2。如:。如: Case 1 To 10Case 1 To 10Is Is 关系运算表达式。如关系运算表达式。如 case is5case is5Private Sub Form_Cl

36、ick()Dim score As Singlescore = InputBox(请输入学生的成绩score;)Select Case scoreCase Is 60Print 不及格Case Is 70Print 及格Case Is 80Print 中等Case Is 90Print 良好Case Is = 100Print 优秀Case ElsePrint 输入错误End SelectEnd Sub循环是在指定的条件下多次重复执行一组语句,这循环是在指定的条件下多次重复执行一组语句,这可通过循环结构来实现。可通过循环结构来实现。VB中提供了两种类型的循环语句:中提供了两种类型的循环语句:一

37、种是计数循环语句;另一种是条件循环语句。一种是计数循环语句;另一种是条件循环语句。Visual Basic 支持的循环结构有:支持的循环结构有: For.Next DoLoop WhileWend3.2.3 循环结构循环结构 1. For Next循环循环循环体循环体Exit For循环体循环体循环变量增加步长循环变量增加步长循环变量获得初值循环变量获得初值FT循环变量在终值循环变量在终值内内ForFor循环的执行过程循环的执行过程格式:格式:For For 循环变量循环变量 = = 初值初值 To To 终值终值 Step Step 步长步长 Exit For Exit For Next N

38、ext 循环变量循环变量 阐明:阐明: 格式中的参数说明:格式中的参数说明: 循环变量必须为数值型。循环变量必须为数值型。 循环的初值、终值和步长都是数值表达式,其中,增循环的初值、终值和步长都是数值表达式,其中,增量参数可正可负。如果增量为正,则初值必须小于等于终量参数可正可负。如果增量为正,则初值必须小于等于终值;如果增量为负,则初值必须大于等于终值。如果没有值;如果增量为负,则初值必须大于等于终值。如果没有设置设置stepstep,则增量默认为,则增量默认为1 1。 Exit ForExit For为强行退出循环语句。当遇到该语句时,退为强行退出循环语句。当遇到该语句时,退出循环,执行出

39、循环,执行NextNext的下一个语句。的下一个语句。 当循环是单层循环时,当循环是单层循环时,NextNext后面的循环变量可以不写。后面的循环变量可以不写。例:3-8 求阶乘。Private Sub Form_Click()Dim i%, f&, n%n = InputBox(输入正整数:, 输入提示, 10)f = 1For i = 1 To nf = f * iNextPrint n; !=; fEnd Sub 2. Do.Loop循环循环 DoLoop DoLoop循环用于事先不知道循环次数的循环结构。循环用于事先不知道循环次数的循环结构。此种语句四种语法格式:此种语句四种语

40、法格式: . Do While Loop . Do While Loop 语句语句 . Do Loop While . Do Loop While 语句语句 . Do Until Loop . Do Until Loop 语句语句 . Do Loop Until . Do Loop Until 语句语句格式:格式:Do While Do While 条件表达式条件表达式 循环体循环体 Exit Do Exit Do 循环体循环体 Loop Loop . Do While Loop语句语句TF条件条件循环体循环体Do While LoopDo While Loop语句流程图语句流程图阐明:阐明:

41、1 1、 循环体中要有控制循环的语句,以避免出现死循环。循环体中要有控制循环的语句,以避免出现死循环。2 2、由于该循环的特点是先判断条件,然后再决定是否要执行循、由于该循环的特点是先判断条件,然后再决定是否要执行循环体里的语句。环体里的语句。3 3、Exit Do Exit Do 表示当遇到该语句时,强制退出循环,执行表示当遇到该语句时,强制退出循环,执行LoopLoop后的下一条语句。后的下一条语句。 Private Sub cmdDoWhileLoop_Click() Dim i As Integer Dim Total As Long Do until i 100 Total = To

42、tal + i*i i = i + 1 Loop Print Total End Sub例例 求求1到到100之间所有自然数的平方和。之间所有自然数的平方和。 即即10012ii【例3-10】给出两个正整数M和N,求他们的最大公约数和最小公倍数。求最大公约数的算法如下:(1以M作被除数,N作除数,求余数R。(2如果R不为零,则将除数N做为新的被除数M,将余数R做为新的除数N,再进行相除,得到新的余数R。(3如果R仍不等于0,则重复步骤2)。如果R为零,则这时的被除数N就是最大公约数。最小公倍数为这两个数的乘积除以他们的最大公约数。编写窗体单击事件过程代码如下:Private Sub Form_

43、Click() Dim A As Integer, B As Integer, N As Integer, M As Integer, R As Integer, T As Integer M = InputBox(请输入第一个正整数M,求M、N最大公约数和最小公倍数) N = InputBox(请输入第二个正整数N,求M、N最大公约数和最小公倍数) A = M: B = N If M N Then 使M中存放较大的数,N中存放较小的数 T = M M = N N = T End If R = M Mod N Do While R 0 M = N N = R R = M Mod N Loop Print 最大公约数为:, N Print 最小公倍数为:, A * B / NEnd SubTF条件条件循环体循环体DoLoop WhileDoLoop While语句流程图语句流程图格式:格式: DoDo 循环体循环体 Exit Do Exit Do 循环体循环体 Loop WhileLoop While条件表达式条件表达式 . Do Loop While语句语句阐明:阐明: 至少要执行循环体一次。至少要执行循环体一次。 与与Do WhileDo While循环的区别:循环的区别:Do

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论