《VisualBasic循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《VisualBasic循环结构程序设计.ppt(40页珍藏版)》请在优知文库上搜索。
1、Visual BasicVisual Basic程序设计程序设计 计算机软件技术基础计算机软件技术基础 选择结构程序设计选择结构程序设计:IfThen 语句(单分支结构)语句(单分支结构)If.ThenElse 语句(双分支结构)语句(双分支结构)IfThen Else If 语句(多分支结构)结构语句(多分支结构)结构Select Case 语句(多分支结构)语句(多分支结构)回回 顾顾 计算机软件技术基础计算机软件技术基础 IfThen Else If 语句(多分支结构)结构语句(多分支结构)结构 语句格式:语句格式:If If 表达式表达式1 1 Then Then 语句块语句块1 1
2、ElseIfElseIf 表达式表达式2 2ThenThen 语句块语句块2 2 Else Else 语句块语句块 n+1n+1 End If End If FTTT表达式表达式1表达式表达式2表达式表达式nn语句块语句块11语句块语句块2语句块语句块nn语句块语句块n+11F图图 多分支结构多分支结构 计算机软件技术基础计算机软件技术基础 Select Case语句(多分支结构)语句(多分支结构) FTFF表达式表表达式表n语句块语句块n+1语句块语句块nT表达式表表达式表2语句块语句块2T表达式表表达式表1语句块语句块1图图 Select Case Select Case 结构结构格式格式
3、:Select Case Select Case 测试变量或表达式测试变量或表达式 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 计算机软件技术基础计算机软件技术基础 表达式表有四种形式:表达式表有四种形式: 一个表达式。一个表达式。如:如:Case 6一组用逗号隔开的枚举值。一组用逗号隔开的枚举值。如:如: Case 1,3,5,7表达式表达式1
4、 TO 表达式表达式2。如:如: Case 1 To 10Is 。如:如:Case Is=80 另外,在一个情况语句中,另外,在一个情况语句中,上述四种形式可以混合使用上述四种形式可以混合使用。格式:格式:Select Case 测试变量或表达式测试变量或表达式 Case 表达式表表达式表1 语句块语句块1 Case 表达式表表达式表2 语句块语句块2 Case 表达式表表达式表n 语句块语句块n Case Else 语句块语句块n+1End Select 计算机软件技术基础计算机软件技术基础 3. 3 循环结构程序设计循环结构程序设计在指定的条件下多次重复执行一组语句。在指定的条件下多次重复
5、执行一组语句。VBVB中提供了两种类型的循环语句:中提供了两种类型的循环语句: 计数循环语句;计数循环语句; 条件循环语句。条件循环语句。 计算机软件技术基础计算机软件技术基础 1. Do.Loop循环循环DoDoLoopLoop循环用于事先不知道循环次数的循环结构。循环用于事先不知道循环次数的循环结构。此种语句四种语法格式:此种语句四种语法格式: Do While Loop 语句语句 Do Loop While 语句语句 Do Until Loop 语句语句 Do Loop Until 语句语句 计算机软件技术基础计算机软件技术基础 格式:格式:Do While Do While 条件表达式
6、条件表达式 循环体循环体 Loop Loop . Do While Loop语句语句TF条件条件循环体循环体图图 Do While Loop语句流程图语句流程图说明:说明: 条件表达式可以是一个逻辑表达式,也可以是一个关系表达条件表达式可以是一个逻辑表达式,也可以是一个关系表达式,其值应是逻辑型。式,其值应是逻辑型。 Do While Do While和和LoopLoop应成对出现。应成对出现。 循环体中要有控制循环的语句,以避免出现死循环。循环体中要有控制循环的语句,以避免出现死循环。 这种循环可以一次也不执行循环体。这种循环可以一次也不执行循环体。 计算机软件技术基础计算机软件技术基础 例
7、例 打印打印1到到20的整数。的整数。格式:格式:Do While Do While 条件表达式条件表达式 循环体循环体 Loop Loop Private Sub Form_Click() Dim i As Integer i = 1 Do While i = 20 Print i i = i + 1 LoopEnd Sub 计算机软件技术基础计算机软件技术基础 TF条件条件循环体循环体图图 DoDoLoop WhileLoop While语句流程图语句流程图格式:格式: Do Do 循环体循环体 Loop WhileLoop While条件表达式条件表达式 . Do Loop While语
8、句语句说明:说明: 至少要执行循环体一次。至少要执行循环体一次。 与与Do WhileDo While循环的区别:循环的区别: Do WhileDo While循环先测试条件是否成立,只有成立才执行循环;循环先测试条件是否成立,只有成立才执行循环;而该循环先执行循环体,后测试条件是否成立。而该循环先执行循环体,后测试条件是否成立。 计算机软件技术基础计算机软件技术基础 Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop While i 20 Print i i = i + 1 LoopEnd Sub
9、 计算机软件技术基础计算机软件技术基础 Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop Until i 20End Sub . Do Loop Until语句语句格式:格式:Do Do 循环体循环体 Loop UntilLoop Until条件表达式条件表达式TF条件条件循环体循环体图图 Do Do Loop UntilLoop Until语句流程图语句流程图打印打印1到到20的整数。的整数。 计算机软件技术基础计算机软件技术基础 例例 DoLoop循环编程计算下式的值循环编程计算下式的值( (
10、两种方法当型和直到型两种方法当型和直到型) )。 10012111X方法一、方法一、用用当型循环当型循环实现,程序如下:实现,程序如下:Private Sub Form_Click()s = 0: i = 1Do While i 100 s = s + 1 / i i = i + 1LoopPrint s=; sEnd Sub 计算机软件技术基础计算机软件技术基础 方法二、用直到型循环实现: Private Sub Form_Click()s = 0: i = 1Dos = s + 1 / ii = i + 1Loop Until i 100 也可写为也可写为Loop While i = 10
11、0Print s=; sEnd Sub 计算机软件技术基础计算机软件技术基础 2. For Next循环循环循环体循环体Exit For循环体循环体循环变量增加步长循环变量增加步长循环变量获得初值循环变量获得初值FT循环变量在终值内循环变量在终值内图图 ForFor循环的执行过程循环的执行过程格式:格式:For For 循环变量循环变量 = = 初值初值 To To 终值终值 Step Step 步长步长 Next Next 循环变量循环变量 计算机软件技术基础计算机软件技术基础 For For 循环变量循环变量 = = 初值初值 To To 终值终值 Step Step 步长步长 Next
12、Next 循环变量循环变量 For i = m To n Step x s = s * i Print sNext im = 1: n = 10: s = 1: x = 2 计算机软件技术基础计算机软件技术基础 说明:说明: 格式中的参数说明:格式中的参数说明: 循环变量必须为数值型。循环变量必须为数值型。 循环的初值、终值和步长都是数循环的初值、终值和步长都是数值表达式,其值不一定是整数,可值表达式,其值不一定是整数,可以是实数,以是实数,VB自动取整。自动取整。增量参数可正可负。增量参数可正可负。如果增量为正,则初值必须小于等如果增量为正,则初值必须小于等于终值于终值如果增量为负,则初值必
13、须大于等如果增量为负,则初值必须大于等于终值。于终值。如果没有设置如果没有设置step,则增量默认为,则增量默认为1。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 计算机软件技术基础计算机软件技术基础 在在For语句和语句和Next语句之间语句之间的语句序列称为的语句序列称为循环体循环体,可,可以是一个或多个语句。以是一个或多个语句。 Next是循环终端语句,在是循环终端语句,在Next后面的循环变量与后面的循环变量与For中的循环变量必须相同。中的循环变量必须相同。 当循环是单层循环时,当循环是单层循环时,
14、Next后面的循环变量可以后面的循环变量可以不写。不写。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 计算机软件技术基础计算机软件技术基础 ForFor循环语句的执行过程循环语句的执行过程1)1)把初值赋给循环变量把初值赋给循环变量2)2)检查循环变量的值是否超过终值检查循环变量的值是否超过终值3)3)如果超过就不执行循环体,跳出如果超过就不执行循环体,跳出循环,执行循环,执行NextNext后面的语句后面的语句4)4)否则执行一次循环体,然后把循否则执行一次循环体,然后把循环变量增加步长,再赋给循环变量环变
15、量增加步长,再赋给循环变量重复上述过程。重复上述过程。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 计算机软件技术基础计算机软件技术基础 当初值等于终值时,不管当初值等于终值时,不管步长是正数还是负数,都执步长是正数还是负数,都执行一次循环体。行一次循环体。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 循环次数由初值、终值和步长决定,计算公式为:循环次数由初值、终值和步长决定,计算公式为:循环次数循环次数=INT(终值(终值
16、 初值)初值)/步长步长+1) 计算机软件技术基础计算机软件技术基础 For语句和语句和Next语句必须成对出现,不能单独使用。语句必须成对出现,不能单独使用。在循环体中可以使用循环变量,但一般不再对循环在循环体中可以使用循环变量,但一般不再对循环变量赋值。变量赋值。 ForFor 循环变量循环变量 = = 初值初值 To To 终值终值 Step Step 步长步长 NextNext 循环变量循环变量 计算机软件技术基础计算机软件技术基础 例例 3.18 求求N的阶乘的阶乘 N!=1*2*3*(N-1)*NPrivate Sub Form_Click() Dim s As Single Dim n As Integer s = 1 n = Val(InputBox(输入自然数n) If n 34 Then Exit Sub End If For i = 1 To n s = s * i Print s Next i Print n=; n, s=; sEnd Sub 计算机软件技术基础计算机软件技术基础 3、循环的强制退出 Exit For Exit Do 常和If、Select C