第四章VB控制结构_第1页
第四章VB控制结构_第2页
第四章VB控制结构_第3页
第四章VB控制结构_第4页
第四章VB控制结构_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 VB控制结构与算法顺序结构:按“从上倒下”的顺序依次执行各语句。第一节 选择控制结构条件语句也称IF语句,它有两种结构,一种是单行结构,一种是块结构。一、单行结构条件语句单行条件语句比较简单,其格式如下:If 条件 Then then部分 Else else部分 (例1)如果“条件”为True,则执行“then部分”,否则执行“else部分”。then部分和else部分若有多条语句,应写在同一行,之间用冒号(:)隔开。例2、从键盘上输入两个数值,选出其中较大的值,并将结果输出到窗体上。二、块结构的条件语句1、块结构条件语句与C等语言中的条件语句类似,一般格式如下:If 条件1 Then

2、 语句块1ElseIf 条件2 Then 语句块2ElseIf 条件3 Then 语句块3 Else 语句块nEnd If块结构条件语句的功能是:由上至下依次判断,直到某条件为True时,执行相应的语句块,然后跳出这个块结构。If和End If成对出现。例32、说明:1)当“条件”是数值表达式时,非0值表示True,0值表示False。而当“条件”是关系或逻辑表达式时,-1表示True,0表示False。2)块结构与单行结构条件语句的主要区别,就是看Then后面的语句(注释语句除外)是否和Then在同一行上。如果在同一行上,则为单行结构,否则为块结构。对于块结构,必须以End If结束,单行结

3、构没有End If。3)在块结构的条件语句中,ElseIf子句的数量没有限制,可以根据需要加入任意多个ElseIf子句。4)块结构条件语句中的ElseIf子句和Else子句都是可选的。如果省略这些子句,则块结构的条件语句简化为: If 条件 Then 语句块 End If5)在某些情况下,可能有多个条件为True,但也只能执行一个语句块。(例4)6)块形式的条件语句可以嵌套。3、实例讲解(例5)三、IIf函数IIf函数的格式如下: Result=IIf(条件,True部分,False部分)(例6)(例7)“Result”是函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回

4、“True部分”,而当“条件”为假时,返回“False部分”。“True部分”或“False部分”可以是表达式、变量或其他函数。注意,IIf函数中的3个参数都不能省略,而且要求“True部分”、“False部分”及结构变量的类型一致。注:如果False部分存在被0除问题,则程序将会出错(即使“条件”为True)。(例)第二节 多分支控制结构一、在VB中,多分支结构程序通过情况语句来实现。情况语句也称为Select Case语句或Case语句,它根据一个表达式的值,在一组相互独立的可选语句序列中挑选要执行的语句序列。情况语句的一般格式为: Select Case 测试表达式 Case 表达式表列

5、1语句块1 Case 表达式表列2 语句块2 Case Else 语句块n End Select情况语句以Select Case开头,以End Select结束。其功能是,先计算“测试表达式”的值,将其值依次与各Case子句的值比较,如果匹配,则执行相应的语句块,执行完毕后跳到End Select语句,结束这段语句的执行。(例15:学生成绩)二、说明1、情况语句的执行过程是:先对“测试表达式”求值,然后测试该值与哪一个Case子句中的“表达式表列”相匹配;如果找到了,则执行与该Case子句有关的语句块,并把控制转移到End Select后面的语句。2、“表达式表列”注意事项: 1)“表达式表列

6、”有三种表达方式:(例) 一组枚举值,用逗号分隔,表示“或” 表达式1 To 表达式2 Is 关系运算符 表达式,用逗号分隔,表示“或”2)关键字To用来指定一个范围。在这种情况下,必须把比较小的值写在前面,较大的值写在后面,字符串常量的范围必须按字母顺序写出(例:数值及大小写字母)。3)如果使用关键字Is,则只能用关系运算符。 注意:当用关键字Is定义条件时,只能是简单的条件,不能用逻辑运算符将两个或多个简单条件组合在一起。(例)4)在一个Select Case语句中,3种形式可以混用。(例)3、Select Case语句与IfThenElse语句块的功能类似。一般来说,可以使用块形式条件语

7、句的地方,也可以使用情况语句。4、如果同一个域值的范围在多个Case子句中出现,则只执行符合要求的第一个Case子句的语句块。在不同的Case子句中指定的条件和相应的操作不能相互矛盾。5、在情况语句中,Case子句的顺序对执行结果没有影响,但应注意,Case Else子句必须放在所有Case子句之后。如果在Select Case结构中的任何一个Case子句都没有与测试表达式相匹配的值,而且也没有Case Else子句,则不执行任何操作。三、实例讲解例8:输入月份,显示是哪个季度。例9:输入值,判断是奇数还是偶数。第三节 For循环控制结构VB提供了3种不同风格的循环结构,包括计数循环、当循环和

8、Do循环。一、计数循环For格式:For 循环变量=初值 To 终值 Step步长 循环体 Exit ForNext 循环变量,循环变量例10:1+2+.+100说明:1、格式中有多个参量,这些参量的含义如下: 1)循环变量:也称“循环控制变量”、“控制变量”或“循环计数器”。它是一个数值变量。 2)步长:不可为0。如果步长为1,则可省略不写。 3)格式中的初值、终值、步长均为数值表达式,但其值不一定是整数,可以是实数,VB自动调整。2、For循环语句的执行过程是:首先把“初值”赋给“循环变量”,接着检查“循环变量”的值是否超过终值,如果超过就停止执行“循环体”,跳出循环,执行Next后面的语

9、句,否则执行一次“循环体”,然后把“循环变量+步长”的值赋给“循环变量”,重复上述过程。这里所说的“超过”有两种含义,即大于或小于。当步长为正值时,检查循环变量是否大于终值;当步长为负值时,判断循环变量的值是否小于终值。3、在VB中,For-Next循环遵循“先检查,后执行”的原则,即先检查循环变量是否超过终值,然后决定是否执行循环体。因此,当步长为正数,但初值终值,或步长为负数,但初值终值时,循环体将不会被执行。当初值等于终值时,不管步长是正数还是负数,均执行一次循环体。4、For语句和Next语句必须成对出现,不能单独使用,且For语句必须在Next语句之前。5、循环次数由初值、终值和步长

10、3个因素确定,计算公式为: 循环次数=Int (终值-初值)/步长+16、For-Next循环可嵌套使用。(例11)7、循环变量用来控制循环过程,在循环体内可以被引用和赋值。当循环变量在循环体内被引用时,称为“操作变量”,而不被引用的循环变量叫做“形式变量”。如果用循环变量做为操作变量,当循环体内循环变量出现的次数较多时,会影响程序的清晰性。(例12)8、一般情况下,For-Next正常结束,即循环变量到达终值。但在有些情况下,可能需要在循环变量到达终值前退出循环,这可以通过Exit For语句来实现。在一个For-Next循环中,可以含有一个或多个Exit For语句,并且可以出现在循环体的

11、任何位置。此外,用Exit For只能退出当前循环,即退出它所在的内层循环。(例13)9、For-Next中的“循环体”是可选项,当该项缺省时,For-Next执行“空循环”。利用这一特性,可以暂停程序的执行。当程序暂停的时间很短,或者对时间没有严格要求时,用For-Next循环来实现暂停是一个好方法。不过,对于不同的计算机,暂停的时间也不一样。用后面介绍的While-Wend循环和Do-Loop循环也可以实现暂停。(例14)第四节 当循环控制结构一、在VB当中,当循环的格式如下:While 条件 语句块Wend“条件”为一布尔表达式。当循环语句的功能是:当给定的“条件”为True时,执行循环

12、中的“语句块”。二、当循环与For循环的区别For循环对循环执行指定的次数,当循环则是在给定的条件为True时重复一个语句序列(循环体)的执行。(例16:求1+2+100)Do循环,循环体中必须要有使循环结束的语句,For循环不需要例17:求110的乘积,即10的阶乘三、当循环的注意事项1、While循环语句先对“条件”进行测试,然后才决定是否执行循环体,只有在“条件”为True时才执行循环体。如果条件从开始就不成立,则一次循环体也不执行。2、如果条件总是成立,则不停地重复执行循环体。3、开始时对条件进行测试,如果成立,则执行循环体;执行完一次循环体后,再测试条件,如果成立,则继续执行,直到条

13、件不成立为止。也就是说,当条件最初出现False时,或以某种方式执行循环体,使得条件的值最终出现False时,当循环才能终止。在正常使用的当循环中,循环体的执行应当能使条件改变,否则会出现死循环,这是程序设计中容易出现的严重错误,应当尽力避免。4、当循环可以嵌套,层数没有限制,每个Wend和最近的While相匹配。(例18)第五节 Do循环控制结构一、Do循环的格式如下:1、Do 语句块 Exit DoLoop While|Until 循环条件2、 Do While|Until 循环条件 语句块 Exit Do Loop二、说明1、Do、Loop及While、Until都是关键字。“语句块”是

14、需要重复执行的一个或多个语句,即循环体。“循环条件”是一个逻辑条件。2、While是条件为True时执行循环,而Until则是条件变为True之前重复。需要有使循环结束的语句。3、在格式(1)中,While和Until放在循环的末尾,分别叫做DoLoop While 和DoLoop Until循环,它们的逻辑流程分别如图所示。4、在格式2中,While和Until放在循环的开头,即紧跟在关键字Do之后,组成两种循环,分别叫做Do WhileLoop循环和Do UntilLoop循环,它们的执行过程分别如图所示。 5、Do While|UntilLoop循环先判断条件,然后在条件满足时才执行循环

15、体,否则不执行。6、和While循环一样,如果条件总是成立,Do循环也可能陷入“死循环”。在这种情况下,可以用Exit Do语句跳出循环。一个Do循环中可以有一个或多个Exit Do语句,并且Exit Do语句可以出现在循环体的任何地方。当执行到语句时,结束循环,并把控制转移到Do循环后面的语句。用Exit Do语句只能从它所在的那个循环中退出。7、Do循环可以嵌套,其规则与For-Next循环相同。例19:求1+2+3+100例20:几种Do循环的区别练习1、 给定三角形的3条边长,计算三角形的面积。编写程序,判断给出的3条边能否构成三角形。2、 勾股定理中3个数的关系是:a2+b2=c2。编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。3、 我国现有人口约为12亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。4、 税务部门征收所得税,规定如下:1) 收入在200元内,免征;2) 收入在200400元内,超过200元的部分纳税3%;3) 收入超过400元的部分,纳税4%;4) 当收入达5000元或超过时,将4%税金改为5%。编程实现上述操作。5、假定有以下每周工作安

温馨提示

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

评论

0/150

提交评论