[计算机软件及应用]VB2第二章
第二章 Visual Basic 语言基础 在进行程序设计时,常常需要重复执行一组操作,这时可以使用循环语句。VB中提供的循环语句有:计数循环和条件型循环。 循环结构—For 例2.10 For循环语句形式为: For 循环变量=初值 To 终值 (Step 步长) 语句块 (Exit For) 语句块 Next 循环变量 For循环的执行过程为:1.循环变量赋初值.2.判断循变的值是否超过终值,若不超过则执行循环体一次;若超过则结束循环。当步长为正时,超过是指循变的值第一次大于终值;当步长为负时,超过是指循变的值第一次小于终值。3.循环变量增值或减值,即步长为正时是增值,步长为负时是减值,然后转向第二步,继续循环 说明: 循环变量必须为数值型。 省略步长时,其值为1。 循环次数n的计算方法为:Int((终值-初值)/步长+1)。 程序执行时遇到Exit For语句时,强制退出循环 For循环是计数型循环语句,通常用于循环次数确定的循环结构。 例2.10 从键盘上输入10个字符,然后输出其中的字母 字符。 Private Sub Form_Click() Dim ch As String*1, k As Integer For k=1 To 10 ch=InputBox$("请输入一个字符","输入框", ,) If(ch>="a" And ch<="z") Or _ (ch>="A" And ch<="Z") Then Print "第";k;"次输入的字母是:";ch End If Next k End Sub 循环结构—Do While…Loop 例2.12 Do({While|Until} 条件) 语句块 (Exit Do) 语句块 Loop 该循环的执行过程如右图 说明:1.先判断后执行,循环体可能一次也不执行 ;2.While表示条件为真时执行循环体一次;Until表示条件为假时执行循环体一次。 3.Exit Do子句的功能是强制退出循环 例2.12从键盘上输入一个大于2的整数n,判断n是不是素数。 … m=Sqr(n) : k=2 Do While k<=m If n Mod k=0 Then Exit Do Else k=k+1 End If Loop … 只能被1和它本身整除的整数称为素数。在数学中,要判断n是否为素数,通常让n除以2到n的平方根之间的每一个整数,如果n能被2到n的平方根之间的某个整数整除,则说明n不是素数,否则n一定是素数。 循环结构—Do …Loop While 例2.11 Do 语句块 (Exit Do) 语句块 Loop({While|Until} 条件) 该循环的执行过程如右图 说明:1.先执行后判断,循环体至少执行一次 ;2.While表示条件为真时执行循环体一次;Until表示条件为假时执行循环体一次。 3.Exit Do子句的功能是强制退出循环 例2.11求e=1+1/1!+1/2!+1/3!+…+1/N! 的近似值。要求累加到最后一项的值小于0.000001为止。 Private Sub Form_Click() Dim e As Single, Item As Single, n As Integer e=0: Item=1: n=1 Do e=e+1/Item : Item=Item*n :n=n+1 Loop Until 1/Item<0.000001 Print "自然对数的近似值为:";e Print "累加项数:";n End Sub 循环结构—While…Wend 功能是:当条件为True时,执行循环中的“语句块”;当条件为False时,结束循环。语句形式为: While 条件 语句块 Wend 执行过程:当条件为真时,执行循环体一次,遇到Wend语句时,控制返回While语句,并再次对条件进行判断,若条件为真再执行循环体一次,不断重复,直到条件为假时才结束循环。 注意:在While…Wend循环结构中,循环体内必须包含改变循环条件的语句。 例如,让计算机发出5次beep声音的程序为: Private Sub Form_Click() n=1 While n<=5 Beep n=n+1 Wend End Sub 其中n=n+1为改变循环条件的语句,若无此语句,则循环为死循环 循环嵌套 在循环体内又包含另一个完整的循环结构称为循环嵌套。内层循环中再包含其它循环结构,称为