您好,欢迎访问三七文档
循环结构是指在一定条件下多次重复执行一组语句。VB中提供了两种循环语句,它们是For语句和Do语句。1.For循环语句如果己知某一段代码需要重复执行的次数,可以使用For循环语句。该语句的一般形式如下:For循环变量=初值To终值[Step步长]语句块[ExitFor]Next循环变量例如:Fori=lTo8Step1Print“这是文本”&iNexti该段代码的功能是在窗体上显示8行文本,如图3.16所示。如果不采用循环结构,则需要使用8条Print语句来实现相同的功能。For语句中的循环变量必须是数值型,初值、终值以及步长则是具体的数值For…next步长用来指定循环变量每次的增量,当所有循环体中的语句都执行后,循环变量就会自动增加一个步长。默认的步长为1.For语句的执行流程如图3.17所示。具体执行流程为:(1)将初值赋给循环变量。(2)判断循环变量的取值是否在终值范围内否则结束循环,执行Next的下一条语句。(3)将循环变量的取值自动增加一个步长,然后回转到步骤(2)继续执行。若是则执行循环体内的语句,循环中可以在任何位置放置任意个ExitFOr语句,该语句的作用是退出循环,转到Next语句的下一条语句。ExitFor语句经常在条件判断之后使用,例如在If…Then语句之后。例如,修改上例如下:ForI=1To10ForJ=1To10ForK=1To10....NextKNextJNextI实例3.3打印九九乘法表本例讲解怎样打印九九乘法表,如图3.18所示。九九乘法表的打印看起来很烦琐,但是如果使用嵌套循环,则问题变得非常简单。打开【代码】窗口,编写窗体的Click事件过程如下:PrivateSubform_Click()Print“----------------------------九九乘法表----------------------”PrintFori=1To9Forj=1Tois=i*jPrintj&“X”&i&“=”&sNextjPrintNextiEndSub在该段代码中,首先使用Print方法打印出标题和一个空行。然后使用了一个两重的嵌套循环结构。关于Print方法的使用细节请参见下一章。2.Do循环语句如果不知道某一段代码需要重复执行的次数,可以使川Do循环语句0该语句有两种基本形式:(1)DoWhile表达式循环体[ExitDo]Loop这种格式的Do循环先判断条件,后执行循环体。与If…Then语句类似,While子句的表达式一般是关系表达式或逻辑表达式,也可以是算术表达式。如果表达式的值不为零(True),即条柞为真,则执行循环体。如果表达式的值为零〔False),即条件为假,则终止循环。其流程如图3.19所示。例如,通过下列代码,可以求出2460和345的最大公约数。PrivateSubForm_Click()m=2460:n=345DimsAsSingleDowhile(n0)s=mModnm=nn=sLoopPrint“最大公约数=”&mEndSub在Do…Loop中可以在任何位置放置任意个数的ExitDo语句,随时跳出Do-Loop循环。ExitDo通常用于条件判断之后,例如If…then,在这种情况下,ExitDo语句将控制权转移到紧接在Loop命令之后的语句。如果ExitDo使用在嵌套的Do…Loop语句中,则ExitDo会将控制权转移到ExitDo所在位置的外层循环。While子句也可以出现在Loop语句后,形式如下:Do.循环体。[ExitDo].LoopWhile表达式.这种格式的特点是先执行循环体,后判断条件。也就是说第一次进入循环是无条件的。循环体至少会被执行一次,其流程如图3.20所示。而如果While子句出现在Do后,则可能一次也不执行。(2)DoUntil表达式.循环体。[ExitDo].Loop.将While子句换成Until子句后,情况正好相反。只有当表达式的值不为O(ture),即条件为真时才终止循环,否则继续循环。Until子句也可以出现在助Loop的后面,也表示先执行循环体,后判断条件。
本文标题:简说VB循环语句
链接地址:https://www.777doc.com/doc-5025147 .html