您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > VB循环结构程序设计.
第四章VB程序设计基础第4章VB程序设计基础4.1VB的程序语句4.2顺序结构4.3选择结构4.4循环结构4.5其它控制语句4.6综合应用第四章VB程序设计基础4.4循环结构计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。VB中提供了两种类型的循环语句:1.计数循环语句----循环次数固定;2.条件型循环语句----循环次数不固定,由循环条件决定。第四章VB程序设计基础4.4循环结构VB中提供的循环语句:1.循环次数固定:For循环语句2.循环次数不固定的循环(1)While循环语句(2)Do…Loop循环语句:循环次数不固定第四章VB程序设计基础4.4循环结构4.4.1For循环语句4.4.2While循环语句4.4.3Do…Loop循环语句4.4.4循环嵌套第四章VB程序设计基础认识循环结构1问题:在窗体上显示10行*(每行10个*)直接用顺序结构实现:Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)Form1.PrintString(10,*)用循环结构实现:DimnasIntegerforn=1to10Form1.PrintString(10,*)nextn第四章VB程序设计基础前例循环结构分析:用循环结构实现:DimnasInteger'n是循环控制变量forn=1to10‘n的初值1,终值10,每循环1次增加1Form1.PrintString(10,*)'循环体语句nextn'循环结束第四章VB程序设计基础For循环语句格式For循环变量=初值To终值[Step步长]循环体语句块Next循环变量例:DimnasIntegerforn=1to10step1PrintString(10,*)nextnT循环变量≤终值语句块循环变量=循环变量+步长F循环变量=初值Next的下一语句第四章VB程序设计基础For循环语句使用注意事项For循环变量=初值To终值[Step步长]循环体语句块Next[循环变量]注意:1.循环变量必须为数值型。2.Step步长缺省为1.例:DimnasIntegerforn=1to10PrintString(10,*)nextn第四章VB程序设计基础For循环语句的理解DimnasInteger'n是循环控制变量forn=1to10step1'n的初值1,终值10PrintString(10,*)'循环体语句nextn'循环体结束理解:对于变量n=1,2,3...到不超过10,分别执行:PrintString(10,*)循环体结束,产生下一个n(n=n+步长)注意:(1)循环全部执行完后,循环变量的值为超过终值的值(如此处循环结束时n=11)(2)如果循环变量的初值一开始就超过终值,则一次也不执行循环体第四章VB程序设计基础说明:循环变量的作用有2个:之一:控制循环次数,如前例之二:不仅用于控制循环次数,而且在循环体中使用,即参与运算,这种情况更多见。第四章VB程序设计基础循环变量的作用之一:控制循环次数forn=11to20step1PrintString(10,*)nextnforn=1to20step2PrintString(10,*)nextnforn=10to1step-1Printstring(10,*)nextn对n=10,9,8...到1,分别执行:...循环结束后n的值?循环次数的计计算:循环次数)1(步长初值终值Int循环次数=int((20-1)/2+1)=10循环次数=int((20-11)/1+1)=10循环次数=int((1-10)/(-1)+1)=10第四章VB程序设计基础循环变量的作用之一:控制循环次数循环语句的3种情况:1.步长0:初值终值:最多见,循环变量从初值逐渐增加最后变化为终值2.步长0:初值终值循环变量从初值逐渐减少变化为终值3.如步长为0----死循环(永久循环):按crel+break终止死循环第四章VB程序设计基础例:如下程序会输出什么?forn=1to10step1Printn;String(10,*)nextn循环变量的作用之二:在循环体中使用例:Forn=1To10Step1Printn;String(n,*)Nextn仅用于控制循环次数不仅用于控制循环次数,还在循环体中使用第四章VB程序设计基础For循环举例问题:求:s=1+2+3+4+5+……+100分析:用循环实现1.求和结果存放在变量s中,s的初值应:s=02.循环控制变量用i表示,i从1,2,3,……100,变化到1003.求和的过程就是让变量i从1开始,2,3...到100,要循环(反复)执行:s=s+i第四章VB程序设计基础问题:循环结束后,i的值是多少?For循环举例问题:求:s=1+2+3+4+5+……+100Dimi%,s%'i是循环控制变量,s结果变量s=0'初始值0,作为累加器(清零)fori=1to100step1s=s+inextiForm.Print1到100累加和=;s101第四章VB程序设计基础For循环举例问题:求:s=1+2+3+4+5+……+100Dimi%,s%'i是循环控制变量,s结果变量s=0'初始值0,作为累加器(清零)fori=1to100step1s=s+inextiForm.Print1到100累加和=;s改成:fori=100to1step-1s=s+inexti第四章VB程序设计基础For循环课堂练习1问题分析:对于变量i=1,3,5,...到不超过100,分别执行:s=s+inexti问题:计算1~100的奇数和求:s=1+3+5+……+99第四章VB程序设计基础Dimi%,s%'i是循环控制变量,s结果变量s=0'初始值,作为累加器fori=1to100step2s=s+inextiPrint1到100奇数和=;s结束后i的值?问题:计算1~100的奇数和求:s=1+3+5+……+99For循环课堂练习1答案101第四章VB程序设计基础For循环课堂练习2问题:计算1~100之间的奇数的倒数的和求:s=1/1+1/3+1/5+...+1/99问题分析:对于变量i=1,3,5,...到不超过100,分别执行:s=s+1/inextI特别注意:s是带小数的!第四章VB程序设计基础Dimi%,s!'i是循环控制变量,s结果变量,单精度型s=0'初始值,作为累加器fori=1to100step2s=s+1/inextiPrint1到100奇数和=;sFor循环课堂练习2答案问题:计算1~100之间的奇数的倒数的和求:s=1+1/3+1/5+...+1/99第四章VB程序设计基础For循环课堂练习3问题:求:s=1-1/3+1/5-1/7+...+1/99问题分析:正负号交叉问题:定义一个用于处理符号的控制变量变量sign,初始值为+1,再随着循环的进行,改为-1,再改为+1,再改为-1……,改变的方法:sign=-sign对于变量i=1,3,5,...到不超过100,分别执行:s=s+sign/Isign=-signnextI特别注意:s是带小数的!第四章VB程序设计基础Dimi%,s!'i是循环控制变量,s结果变量,有小数,单精度Dimsign%'存+1或-1,是控制变量sign=1s=0'初始值,作为累加器fori=1to100step2s=s+sign/isign=-signnextiPrints=;sFor循环课堂练习3答案问题:求:s=1-1/3+1/5-1/7+...+1/99第四章VB程序设计基础For循环课堂练习4问题:编写一个程序求15!问题分析:1.m=1*2*...*152.注意15!超过1012,应该用单精度或双精度型3.参考:求:s=1+2+3+4+5+……+100Dimi%,s%'i是循环控制变量,s结果变量s=0'初始值,作为累加器fori=1to100step1s=s+inextiForm1.Print1到100累加和=;s第四章VB程序设计基础For循环课堂练习4答案问题:编写一个程序求15!Dimi%,m#'为什么用双精度?m=1'为什么=1?Fori=1To15Step1m=m*iNextiForm1.Print15!=;m第四章VB程序设计基础表3.1基本数据类型数据类型关键字类型符前缀占字节数范围字节型Byte无byt10~255逻辑型Boolean无bln2True与False整型Integer%int2-32768~32767长整型Long&lng4-2147483648~2147483647单精度型Single!sng4-3.402823E38~3.402823E38双精度型Double#dbl8-1.79769313486232D308~1.79769313486232D308货币型Currency@cur8-922337203685477.5808~922337203685477.5907日期型Date无dtm801,01,0100~12,31,99990:00:00~23:59:59字符型String$str与串长有关0~65535个字符对象型Objiect无obj4任何对象引用变体型Variant无vnt据分配确定第四章VB程序设计基础参考程序:求15!Dimi%,m!m=1'为什么=1?Fori=1To15Step1m=m*iNextiForm1.Print15!=;mFor循环课堂练习5问题:参考求15!的程序,编写一个程序,要求能求任意数n!第四章VB程序设计基础Dimi%,m#,n%n=inputbox(“输入n”)m=1Fori=1TonStep1m=m*iNextiMsgBoxn&!=&mFor循环课堂练习5答案问题:参考求15!的程序,编写一个程序,要求能求任意数n!第四章VB程序设计基础For循环课堂练习6问题:求n至m之间自然数的累加参考求s=1+2+3+4+5+……+100的程序,做适当修改,使程序能对任意2个数n到m之间的自然数累加参考程序:求s=1+2+3+4+5+……+100Dimi%,s%'i是循环控制变量,s结果变量s=0'初始值0,作为累加器(清零)fori=1to100step1s=s+inextiPrint1到100累加和=;s第四章VB程序设计基础For循环课堂练习6答案问题:求n至m之间自然数的累加参考求s=1+2+3+4+5+……+100的程序,做适当修改,使程序能对任意2个数n到m之间的自然数累加Dimi%,sum%,n%,m%n=inputbox(“输入n”)m=inputbox(“输入m”)sum=0Fori=nTomStep1sum=sum+iNextiMsgBoxn&至&m&累加=&sum第四章VB程序设计基础注意存放累加与连乘的变量初值是不同的!•累加初值为0,连乘初值为1Dimi%,sum%,n%n=inputbox(“输入n”)sum=0Fori=1TonStep1sum=sum+iNextiMsgBoxsumDimi%,m#,n%n=inputbox(“输入n”)m=1Fori=1TonStep1m=m*iNextiMsgBoxn&!=&m第四章VB程序设计基础•这样有什么问题?Dimi%,sum%,n%n=inputbox(“输入n”)Fori=1TonStep1sum=0sum=sum+iNextiMsgBoxsumDimi%,m#,n%n=inputbox(“输入n”)Fori=1TonStep1m=1m=m*iNextiMsgBoxn&!=&m错误1第四
本文标题:VB循环结构程序设计.
链接地址:https://www.777doc.com/doc-2865798 .html