第6章VB语句1.ppt

上传人:夺命阿水 文档编号:748436 上传时间:2023-11-06 格式:PPT 页数:97 大小:556KB
返回 下载 相关 举报
第6章VB语句1.ppt_第1页
第1页 / 共97页
第6章VB语句1.ppt_第2页
第2页 / 共97页
第6章VB语句1.ppt_第3页
第3页 / 共97页
第6章VB语句1.ppt_第4页
第4页 / 共97页
第6章VB语句1.ppt_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《第6章VB语句1.ppt》由会员分享,可在线阅读,更多相关《第6章VB语句1.ppt(97页珍藏版)》请在课桌文档上搜索。

1、1,第6章 Visual Basic 6.0程序设计,2,6.1 VB的数据类型及运算符、表达式,6.1.1 VB的数据类型为了更好地处理各种数据,VB定义了多种数据类型,列于P69表6-1中。可变类型(Variant):可变类型变量可以接收任何类型的数据。系统会根据赋值情况按相应的数据类型对待。不同类型的数据所占的存储空间不同,选择合适的数据类型可以优化程序代码。一般只有相同的数据之间才能进行操作,否则可能出现错误。因此在使用变量时一般应声明变量的类型。,3,4,6.1.2 变量的声明,1.变量的概念2.变量的命名规则变量名的构成可以是字母、数字、下划线,此外要注意以下几点。变量名不能以数字

2、开头。如2C是错误的。变量名所含的字符个数不超过255个。变量名不区分字母的大小写,如Sum与sum代表同一变量。不用VB的保留字做变量名。保留字是指VB中已经定义的词,如标准函数名、方法名、语句、运算符、过程名等。如VB中使用的Print、Sub、Private、Now、Time等不能做变量名。,5,3.变量的定义(声明),一个变量是什么数据类型,应当告知计算机,以使计算机为其分配相应大小的存储空间。某种类型的变量,可赋予同类型的数据。声明变量的语句格式如下:Dim|Static|Public|Globa 变量名 As 类型名 例如:Dim x1 As Single 将x1声明为单精度型变量

3、Dim str1 As String 定义变长字符串变量Dim str2 As String*20 定义定长字符串变量Dim a 没指定a的类型,默认是变体(Variant)类型Public w2 As Integer 将w2声明为全局整型变量,6,如果用逗号分隔,可以在一行中定义多个变量。例如 Dim Sum As Double,aver As Single 变量声明后,数值型变量的初始值是0;字符型变量的初值是空,即无任何字符;逻辑型变量的初值是False(假)。用Static可定义静态变量:Static c As Integer 将c声明为静态整型变量用Dim 定义的变量称为自动(动态)

4、变量.,7,例6-1 以下窗体的单击事件过程,若多次被调用执行,其静态变量n中内容反映了调用的次数,而动态变量m的值则总是1。通过本例,观察静态变量与局部动态变量的区别。Private Sub Form_Click()Static n As Integer n 定义为静态变量 Dim m As Integer m为局部动态变量 n=n+1 m=m+1 Print“n=”;n,“m=”;m Print End Sub,8,4Print的用法,上例中用到了Print输出数据。Print是VB提供的一种方法,可完成在窗体上显示(输出)字符串或表达式的值的操作。语法格式:对象名.Print 输出项列表

5、功能:在指定对象上输出数据。说明:对象名可以是窗体名(例如Form1)、图片框名(例如Picture1),或打印机(如Printer)。若省略对象名,则默认在当前窗体上输出数据。“输出项列表”是一个或多个要显示的数据项。输出项可以是数值表达式或字符串。若输出字符串,要用双引号括住字符串;若输出变量中的数值,则变量不应用双引号括住。若输出的是数值表达式,则Print会先计算表达式的值,然后输出;若省略输出项,则输出一空行。,9,例如:Print“欢迎学习 VB。”输出字符串,显示:欢迎学习 VB。a=6 将数值 6 赋给变量 a Print a 输出变量 a 中的值,显示:6 Print 输出空

6、行 Print 5+10*4 输出表达式的值,显示:45若输出多项,各输出项之间要用“;”或“,”当分隔符。“;”表示按紧凑格式输出各项,即两输出项之间无间隔地显示出来;而用“,”做分隔符,表示各输出项按分区输出格式显示。VB中规定,一个输出区为14个西文字符的宽度,第一个输出区从窗体左边第一个字符位置开始,而第二个输出区从第15个字符位置开始。逗号后面的输出项在下一个输出区显示。例如:Form1.Print“a”;“b”,“c”结果在窗体上显示:ab c,10,例如:Print“A=”;1结果显示:A=1 例如 a=12 b=3 Print“a=”;a,“b=”;b Print“a+b=”;

7、a+b运行结果:a=12 b=3 a+b=15,11,例:Print“abcd”没有以分隔符结尾,光标自动换行Print“xyz”,以“,”结尾,光标不换行Print“OPQ”接着上一行,在下一输出区输出字符串 OPQ显示结果如下:abcdxyz OPQ,12,6.1.3 常量分类及其声明方法,常量分为两种:直接常量,符号常量1.直接常量直接常量就是在代码中以常数的形式表示的数据,所以也称之为常数。如a=a+3,式中的3就是直接常量。VB中提供了各种类型的直接常量(常数)。有两种:字符串,数值(1)字符串:是用双引号括起来的字符序列,可以是ASCII字符,也可以是中文字符.例如:ABCDE 程

8、序设计(空字符串)(2)数值:整型、长整型、浮点型、货币型等,13,数值类型分为整型数和实型.,整型数,实型数(浮点数),整数 Integer,长整数 Long,例:+4、-10范围:-32768 32767,例:+412345、-120321,单精度数Single,双精度数 Double,例:0.0412、-102.3,指数形式:4.12e-2,-1.023E+2,例:0.01234、-123.45678,指数形式:1.234D-2,-1.2345678d+2,14,整型常量(Integer),整型常量指有符号整数。整型常量可以分为十进制、十六进制和八进制。十进制整数如 12、12345(+

9、号被省略)、0等。十六进制整型数规定以&H开头,数码由0,1,9,A,BF(也可以小写)组成。例如&H1A等于十进制的26。十六进制整数的表示范围是:&H0&HFFFF,15,八进制整数:8个数码:0,1,2 7八进制整数以&O开头.例如&O32等于十进制数26。例如:&O126,&O176八进制整型数的表示范围是&O0&O177777。长整型数:也分为十进制、十六进制、八进制八进制长整型数表示:以&O开头,以&结尾.例:&O126&,&O377777&十六进制长整型数:以&H开头,以&结尾.例:&H2FE&,16,货币类型数据(Currency)主要用于钱款计算上。15位整数,4位小数.变体

10、类型数据(Variant)是一种可变的数据类型,可以表示任何类型的数据.其它数据类型(1)字节(Byte)取值范围:0255(2)布尔(Boolean)是逻辑数.取值:True(真),False(假),17,日期类型数据(Date)日期类型数据用来表示日期信息.日期常量要以#字括起来 例如:#9/12/2003#、#2003-9-12#、#2003-10-20 11:30:10AM#等,都是合法的日期型常量。,18,可以在常数后面加上类型说明符表示数据的类型。类型说明符如下:%整型&长整型!单精度#双精度 货币型$字符串型,19,2.符号常量可以用符号代表数值或字符串常量。定义符号常量的格式:

11、Const 符号=表达式例如:Const A=100 Const B=A+50可以在常量名后跟类型后缀说明其类型:Const X&=1:Const Y#=1.2 则语句 Z=X+10 等价于 Z=1+10 注意:符号常量一经声明后,不能再被赋予新的值。例:上述定义的常量:A 代表100则再出现语句 A=20 是错的,20,3.VB内部常量是由VB系统定义的符号常量,简称VB内部常量。VB定义了大批内部常量,这些内部常量一般以小写字母vb开头。例如vbCrLf代表“回车换行”符;vbRed等于&HFF&,是一个颜色常量,代表红色等等。在代码设计中可以直接使用VB内部常量。例:在运行阶段,将窗体

12、的背景色变为黄色:Me.BackColor=vbYellow,21,6.1.4 运算符与表达式,VB提供的运算符有算术运算符、字符串连接运算符、比较运算符和逻辑运算符。1.算术运算+加、-减、*乘、/除、整除、Mod 求余数、幂(乘方)、-取负(如-x)例:7 Mod 3,结果为1(即余数为1)19/2,结果为9.5 19 2,结果为9(小数部分全部舍去)2 3+3,结果为11 a+b*3-c/d,结果视a、b、c、d 的值而定。x=3:y=-x 结果y 得到-3,22,算术运算符的优先级,当表达式有多种运算符时,先处理优先级别高的运算符。若有(),则最先处理()中的运算优先级最高:幂运算-取

13、负*、/整除 Mod 取余优先级最低:+、-,24,例:3*2(2+1),表达式得值:,23,2.字符串连接,“&”和“+”都可以连接字符串。为了避免与算术加法运算符产生混淆,应尽量用“&”连接字符串。另外,“&”会自动将数值型数据转换成字符型数据后再进行连接,而“+”号则没有这个功能。例:以下为字符串表达式“abc”&“xyz”结果为“abcxyz”I am+Chinese+.结果是“I am Chinese.”例:设 x=“学生”Print“我是”&x 结果在窗体上显示:我是学生优先级:算术运算符 字符连接运算符,24,3.关系运算符,也称比较运算符。有以下几种:=等于、不等于、=大于等于

14、 大于、b 的结果为False;a+2 b 的结果为True优先级:算术运算字符连接关系运算符,25,4.逻辑运算符,逻辑运算符有:Not:非、And:与、Or:或、Xor:异或逻辑运算表达式也只有True和False两种结果。Not 表示取反操作,如果a=False 则Not a 结果为 True。Not(510)表达式的值:True优先级:算术运算字符连接关系运算符逻辑运算符,26,6.2 常用VB标准函数,6.2.1 输入输出函数1.输入框函数 InputBox()可用此函数从键盘向变量中输入数据。但要注意,该函数返回的数据是字符型数据。例:Private Sub Form_Click(

15、)Dim x As Integer,y As Integer x=InputBox(请输入整数)y=5*x2 Print y=;y End Sub运行结果:输入 3输出 y=45,27,输入框函数 InputBox()功能:键盘输入字符串给变量。该函数的执行,会弹出一个对话框(如图),让用户输入数据。格式:x=InputBox(prompt$,title$,default$,x%,y%)说明:prompt$:是用双引号括起来的字符串,指定输入对话框中显示的提示信息,用来提示用户输入什么数据。title$:是用双引号括起来的字符串。用来指定显示在输入对话框标题栏中的标题。,28,default$

16、:指定默认的输入值。该项中的字符串显示在输入框中,若用户没有输入任何值,则该项内容即作为输入值。,x%,y%:是对话框左上角的坐标值,用来确定对话框在屏幕上显示的具体位置。函数返回值:是输入的字符串。若没有输入字符串,则返回Default项中的字符串。x:是用户定义的字符串(String)型变量,用于接受函数的返回值(即用户的输入值)。,29,例6-3 在窗体单击(Click)事件过程中输入代码如下:Private Sub Form_Click()Dim a As Stringa=InputBox(请输入你的地址:,输入函数练习,沈阳市)Print 你的地址是:&a End Sub,30,2.

17、输出信息框函数 MsgBox(),功能:打开一个对话框(如图),显示提示信息,并提供若干命令钮供用户选择。格式1:x=MsgBox(msg$,Type%,title$)格式2:MsgBox msg$,buttons%,title$参数说明:msg$:指显示在对话框中的提示信息字符串。title$:显示在对话框的标题栏中的标题字符串。Type%:确定对话框的样式,由三项数据合成:命令钮类型图标类型焦点位置。这三项数据可以用vb内部符号常量表示,也可以用整型常量表示,含义如下:,31,(1)命令钮类型:0(vbOKOnly)显示“确定”命令钮1(vbOKCancel)显示“确定”和“取消”命令钮2

18、(vbAbortRetryIgnore)显示“终止”、“重试”、“忽略”命令钮3(vbYesNoCancel)显示“是”、“否”、“取消”命令钮4(vbYesNo)显示“是”、“否”命令钮5(vbRetryCancel)显示“重试”、“取消”命令钮16384(vbMsgBoxHelpButton)显示“帮助”命令钮,32,(2)图标类型16(vbCritical)显示 图标32(vbQuestion)显示 图标48(vbExclamation)显示 图标64(vbInformation)显示 图标,(3)默认活动按钮:活动按钮上有一虚线框,此时只要按一下回车键,就相当于单击了该命令钮。0(vb

19、DefaultButton1)默认第1个按钮为活动的256(vbDefaultButton2)默认第2个按钮为活动的512(vbDefaultButton3)默认第3个按钮为活动的,33,Type参数由以上3类参数组成。组成原则是:从每一类中选择一个值,把这几个值加在一起,就是Type参数.例:x=MsgBox(错误,vbAbortRetryIgnore+vbCritical+0,MsgBox举例)或:MsgBox 错误,vbAbortRetryIgnore+vbCritical+0,MsgBox举例产生的对话框如下:,34,(4)函数返回值当用户在对话框中单击了某个按钮,函数就返回所单击的按

20、钮的对应数值。按钮与返回值的对应关系如下:“确定”按钮 1(vbOK)“取消”按钮 2(vbCancel)“终止”按钮 3(vbAbort)“重试”按钮 4(vbRetry)“忽略”按钮5(vbIgnore)“是”按钮 6(vbYes)“否”按钮 7(vbNo),35,例6-4 在窗体单击事件过程中输入如下代码:Private Sub Form_Click()Dim x As Integerx=MsgBox(“错误”,vbAbortRetryIgnore+vbCritical+0,“MsgBox举例”)Print“x=”;x;If x=vbAbort ThenPrint“你按下了终止按钮。”E

21、lseIf x=vbRetry ThenPrint“你按下了重试按钮。”ElseIf x=vbIgnore ThenPrint“你按下了忽略按钮。”End IfEnd Sub按F5键运行程序,单击窗体,就会弹出MsgBox对话框如图6-4。若在对话框中单击了终止按钮,则在窗体中打印出:x=3 你按下了终止按钮。因为终止按钮对应的函数返回值是3。,图6-4 MgBox对话框,36,例 用MsgBox函数判断是否继续执行.Private Sub Form_Click()msg$=请确认此数据是否正确Title$=数据检查对话框typ=vbYesNoCancel+vbCriticalx=MsgBox

22、(msg,typ,Title)If x=vbYes Then Print x=;xElseIf x=vbNo Then Print x=;x,数据错误,请从新输入End IfEnd Sub,37,6.2.2 数学函数,1.Int(x)功能:得到不超过x的最大整数。x可以是数值表达式,函数值为整型。例:Int(5.9)的值为 5Int(-5.9)的值为-6,Int(-5.2)的值为 62.Abs(x)功能:得到x的绝对值。x为数值表达式。例:Abs(-3.5)的值为3.5 y=10 z=Abs(y-15)z得到 53.Sqr(x)功能:得到x的平方根,要求x=0。例:x=36 y=Sqr(x)结

23、果y的值为6,38,5.Sgn(x)功能:得到参数x的符号。当x0时,函数值为1,x=0时,函数值为0,x0时,函数值为-1。例:设 x=8,y=-10,z=0 则有:Sgn(x)的值为1,Sgn(y)的值为-1 Sgn(z)的值为0,练习,39,6.Rnd(x)功能:得到01之间的随机数。函数值是大于等于0,小于1(即00或不指定x值时,每次产生随机序列中的下一个随机数;当x0时,每次返回相同的随机数;当x=0时,得到最近产生的随机数。例:打印一个随机数:x!=Rnd Print x,40,要得到110之间的整数,可用表达式:Int(10*Rnd+1)例:y=Int(10*Rnd+1)Pri

24、nt y例6-5 单击窗体,在窗体上打印100以内的随机整数。Private Sub Form_Click()y=Int(100*Rnd()+1)Print y End Sub 运行程序时,每单击一次窗体,会显示一个100以内的随机整数。,41,7.三角函数 VB提供的三角函数有:正弦函数Sin(x),余弦函数Cos(x),正切函数Tan(x),反正切函数Atn(x)等。注意:x角度要以弧度表示。角度转换为弧度的公式:弧度=度数*3.14159/180,42,6.2.3 字符串处理函数,字符串函数大都后跟类型说明符$,表示函数的值是字符串。但在Visual Basic6.0中,可以有$符,也可

25、以省略$符,函数的功能相同。如 Left$()函数与 Left()函数功能相同。1.删除空格函数LTrim(x$)、RTrim(x$)、Trim(x$)功能:Ltrim(x$)可以去掉x字符串左端的空格部分Rtrim(x$)可以去掉x字符串右端的空格部分 Trim(x$)可以去掉x字符串左端和右端的空格部分。,43,例:a$=Good morinig b$=LTrim(a)c$=RTrim(a)Print a;ABC Print b;ABC Print c;ABC输出结果:Good morinig ABCGood morinig ABC Good morinigABC,44,2.字符串截取函数

26、,(1).左部截取 Left(x$,n)功能:得到x中字符串左边的n个字符。函数返回值是String型。例:x$=“abc你们好”y=Left(x,2)Print y结果显示:ab,45,(2).中部截取 Mid(x$,m,n)功能:得到x字符串中左数第m个字符开始的n个字符,n 若省略,默认从第m个字符开始截取到字符串的末尾。例:x=“abc你们好”从x中第4个字符开始截取3个字符赋给变量m:m=Mid(x,4,3)Print m 显示m中的内容:你们好,46,(3).右部截取 Right(x$,n)功能:得到x中字符串右边的n个字符。例:x=abc你们好 z=Right(x,3)Print

27、 z结果显示:你们好,47,3.字符串长度测试函数 Len(x$)功能:得到x字符串的长度(字符个数)。例:x=abc字符串 s=Len(x)s的值为6 Print s也可以测试变量的长度(所占存储空间字节数)例:Print Len(a%)显示整型变量长度 2 Print Len(b&)长整型变量长度 4,48,4.空格函数 Space(n)功能:得到 n个空格组成的字符串。例:y=“abc”+Space(3)+“efg”结果y的值为:“abc_ _ _ efg”5.字母大小写转换函数格式:Ucase(x$)、Lcase(x$)功能:Ucase(x$)可以将x中字符串的字母都转换成大写,Lca

28、se(x$)则将x中字符串的字母都转换成小写。例:x$=“Abc”y$=Ucase(x)y中得到“ABC”z$=Lcase(x)z中得到“abc”,49,6.Asc(x$)功能:得到x中字符串第一个字符的ASCII码。例:x=“ABC”a1=Asc(x)上句的执行结果:a1得到65(因为“A”的Ascii码是65)7.Chr(n)功能:将ASCII/DBCS编码n,转换为相应字符。例:Chr(65)的值为“A”Chr(66)的值为“B”,50,8.Str(x)功能:将x中的数值转换成字符型数据。例:x!=3.1416 y$=Str(x)y中内容为字符串“3.1416”注意:数值型数据在计算机内

29、存中是以二进制形式存放的,而字符型数据则是以ASCII码形式存放的。9.Val(x$)功能:得到字符串x中的数值,并将其转换成数值型数据。例:x$=“123Kg”a%=Val(x)a的内容为数值123,51,6.2.4 日期时间函数,1 Date 功能:得到系统的当前日期。例:假设当前日期是2009-3-21 Private Sub Form_Click()Dim d1 As Date d1=Date Print d1 显示:09-3-21 End Sub,52,2 Time功能:得到系统的当前时间。例:设当前时间为8:20:40,则以下程序执行结果为:Private Sub Command2

30、_Click()Dim t1 As Date t1=Time Print t1 显示:8:20:40当前系统时间 End Sub3 Now功能:返回系统当前的日期时间序列数。Print方法可将Now所表示的日期时间序列数转换为普通的日期时间表示方式。例:Print Now 显示09-3-20 18:30:25,53,6.2.5 其它函数,1.RGB(r,g,b)功能:得到由红、绿、蓝三原色混合后的颜色值。r,g,b分别代表红、绿、蓝色,它们的取值范围都是0255之间的整数。函数的返回值是代表某颜色的长整型数。当三个参数分别设为不同数值时,会得到不同的混合色。例:RGB(255,0,0)得到红色

31、RGB(0,255,0)得到绿色RGB(0,0,255)得到蓝色RGB(255,255,0)得到黄色要使窗体Form1的背景色呈绿颜色,可执行下边的语句:Form1.BackColor=RGB(0,255,0),54,6.3 VB常用的控制语句及程序设计,6.3.1 程序语句概述1语句的书写规则(1)一行中写多条语句一般是一行写一条语句,但VB也允许一行有多条语句,这时一定要在各语句之间加入冒号“:”作为分隔符。例:a=12:b=b+1:c=a+b(2)语句的续行 当一条语句很长时,就可以使用续行符“_”将一条语句分为两行或多行。例:Text1.Text=“I”+“am”+_“a studen

32、t.”注意:在续行符前至少要加一个空格,并且续行符只能出现在行尾。,55,(3)语句的注释出现在单撇号“”号或Rem右边的字符,这部分内容是注释程序的,计算机对注释部分不予编译。2VB语句分类 VB源程序是用BASIC语句编写的。语句可分为两类:非执行语句:指声明(定义)变量类型的语句;可执行语句:执行某种操作的语句。如赋值语句、循环控制语句、条件语句、跳转语句、多分支选择语句等。利用Basic语句,可以很方便地编写三种基本结构程序。,56,6.3.2 赋值语句及顺序结构程序设计,1.赋值语句赋值语句的功能:为变量或对象的属性变量赋值。语法格式:变量=表达式 对象名.属性=表达式,57,6.3

33、.3 条件语句及选择结构程序设计,1If Then语句格式1:If 条件 Then 语句格式2:If 条件 Then 语句 End If功能:如果条件为True,则执行语句.说明:“条件”一般是关系表达式或逻辑关系表达式,结果只有两种True(真)或False(假)。条件也可以是数值表达式,若表达式的值是非0,则认为是“真”;值是0,则认为是“假”。,58,例:If x0 Then Print x 语句部分为两条以上时,要注意各语句之间要用冒号“:”隔开。例:x=5 If x0 Then y=x:z=1 Print“y=”;y;“z=”;z 在窗体上打印结果或:x=5 If x0 Then y

34、=x z=1 End If Print“y=”;y;“z=”;z,59,2IfThenElse语句,格式:If 条件 Then 语句块 Else 语句块 End If功能:若条件为True,则执行Then后边的语句序列1,然后跳出If结构;若条件为False,则执行Else后边的语句序列2,然后跳出If结构.,60,例6-7 以下程序实现:若x的值大于0,则输出y=1,否则输出y=-1。Private Sub Form_Click()Dim x As Integer,y As Integerx=5If x0 Then y=1Else y=-1End IfPrint“y=”;yEnd Sub运行

35、程序,单击窗体,结果显示:y=1,61,3嵌套的If语句,在上述If结构中,如果语句序列1或语句序列2中包含着If结构,则称之为If语句的嵌套。例6-8 设有如下分段函数:1(当 x0)Y=0(当 x=0)-1(当 x0)输入x值,输出相应的y值.,62,程序如下:Dim x As Single,y As Single x=InputBox(请输入x:)If x=0 Then If x=0 Then y=0 Else y=1 End If Else y=-1End If Print x=;x;y=;y End Sub,63,上例中语句块2本身是一个选择结构,因此这是一个If 嵌套的例子。实际上

36、语句块1也可以嵌套If 结构。VB提供了一种专门用于多层嵌套的If语句格式,即If 条件1 Then 语句块1ElseIf 条件2 Then 语句块2ElseIf 条件3 Then 语句块3Else 语句块nEnd If,64,例6-8 也可以编程序如下:Dim x As Single,y As Single x=InputBox(请输入x:)If x0 Then y=1 ElseIf x=0 Then y=0 Else y=-1 End If Print x=;x;y=;y End Sub,65,6.3.4 多分支选择语句及程序设计,多分支选择语句的功能是根据表达式的值,确定执行下边的某一语

37、句。格式1:Select Case 表达式 Case 值1 语句序列1 Case 值2 语句序列2 Case Else 语句序列n End Select,66,例:,Private Sub Form_Click()Dim var As Integervar=Val(InputBox(请输入整数)Select Case var Case 1 Text1.Text=1 Case 2 Text1.Text=2 Case 3 Text1.Text=3 Case Else Text1.Text=Good Bye End SelectEnd Sub,运行:输入2 文本框显示:2输入5 文本框显示:Good

38、 Bye,67,格式2:Select Case 表达式 Case 值1,值2,语句序列1 Case 值3 to 值4 语句序列2 Case Is 比较表达式 语句序列3 Case Else 语句序列n End Select,68,例6-9 设有如下分段函数,输入x值,输出相应的y值.1(当 x0)Y=0(当 x=0)-1(当 x0 y=1 End Select Print“x=”;x,“y=”;yEnd sub,69,说明:,(1)采用格式1时,当表达式的值等于某个Case 后边的值时,则执行其后的语句序列。如果表达式的值与Case值没有相等的,则执行Case Else后边的语句序列n。(2)

39、采用格式2时,当表达式的值在某个Case后的值范围内时,则执行其后的语句序列。(3)Is与比较表达式配合可确定数值范围(如 Is=10),70,例6-10:分析以下Select语句的执行过程:Private Sub Form_Click()Dim x As Integerx=InputBox(输入一正整数:)Select Case x Case 1 To 100 Print 1103 End SelectEnd Sub,运行:若输入5时,则输出 1103,71,例6-11:输入一个成绩(分数),输出相应的等级。编程如下:Dim s As singles=Val(InputBox(请输入成绩分数

40、:)If s=90 Then MsgBox 优秀ElseIf s=80 Then MsgBox“良好”ElseIf s=70 Then MsgBox“中等ElseIf s=60 Then MsgBox 及格Else MsgBox 不及格End If,运行结果:输入 88 显示:良好,72,将前例题用Select Case语句编程如下:Private Sub Form_Click()Dim s As single s=Val(InputBox(输入成绩:)Select Case s Case Is=90 Print 优秀 Case Is=80 Print 良好 Case Is=70 Print

41、中等,Case Is=60 Print 及格 Case Else Print 不及格 End Select End Sub,73,6.3.5 循环语句及循环结构程序设计,1 For Next 语句格式:For 循环变量=初值 To 终值 Step 步长 语句序列(循环体)Next 循环变量 说明:(1)For和Next必须成对出现;(2)For语句中的循环变量与Next语句中的循环变量必须是同一个变量;(3)“步长”是指每执行一次循环体语句,循环变量的变化量。若缺省,则默认步长为1,74,例:For n=1 To 50 sum=sum+n Next n 例中循环变量为n,在执行这段循环程序的过

42、程中,n的值在不断地变化。这里,n的初始值是1,终值是50,因省略了Step,则默认步长为。循环体语句被执行了50次.上例程序的功能是计算1+2+50的和.(4)终止循环的条件是“循环变量的值超过终值”,75,请看下面的程序段,分析其执行结果:For i=1 To 10 Step 2 Print i;Next i运行显示:_ 程序执行完时,i=,1 3 5 7 9,1 3 5,(5)提前退出循环:执行语句Exit ForFor i=1 To 10 Step 2 If i5 Then Exit For Print i;Next i运行显示:_,11,76,2.While Wend语句,格式:Wh

43、ile 条件 语句块 Wend说明:当条件为True时就执行循环体语句块。例:用当循环语句实现1+2+100。编程如下:Dim s As Integer,i As Integer s=0:i=1 While i=100 s=s+i i=i+1 Wend Print“sum=”;s,s=0:i=1 For i=1 To 100 s=s+i Next i,77,3.Do循环控制结构,Do-Loop语句格式:Do While 条件 语句序列 Loop说明:当条件为True时,循环执行语句序列。直到条件为False时,退出循环。格式:Do 语句序列 Loop Whlie 条件说明:先执行一次语句序列,

44、然后测试条件,若为True,则返回Do 语句,再执行语句序列,直到条件为False时退出循环。,78,格式:Do Until 条件 语句序列 Loop说明:先测试条件,若条件为False,则循环执行语句序列,直到条件为True时,退出循环.格式:Do 语句序列 Loop Until 条件说明:先执行一次语句序列,再测试条件,若条件为False,则循环执行语句序列,直到条件为True时退出循环。,79,While语句和Until语句的条件是相反的,如果把While语句的条件取反,可以作Until语句的条件程序举例:,a=15:b=10 Do While ab Print a+b;a=a-1 Lo

45、op运行结果:25 24 23 22 21,a=15:b=10 Do Until Not ab Print a+b a=a-1 Loop运行结果:25 24 23 22 21,80,用DoLoop语句实现2100的偶数和,编程如下:Dim s As Integer Dim i As Integers=0 给存放和的变量赋初值i=2 给循环变量赋初值Do While i=100 s=s+i i=i+2 修改循环变量i的值LoopPrint“sum=”;s,81,Dim s As Integer Dim i As Integer s=0:i=2 Do Until i100 s=s+i i=i+2

46、Loop Print sum=;s 注意:可以在DoLoop语句结构中用Exit Do 语句提前退出循环。,82,6.3.6 程序的退出或终止语句,End:结束VB程序的运行。Exit For:强制退出ForNext循环结构,用于提前终止循环。Exit Do:强制退出DoLoop循环结构Exit Function:强制退出函数过程的运行。Exit Sub:强制退出Sub过程的运行。Unload:从内存中卸载一个窗体或动态生成的控件,以节约内存。如:Unload Form1 表示卸载窗体,即与窗体Form1有关的信息被清除出内存。,83,6.4 数 组,6.4.1 数组的声明1.一维数组声明格式

47、:Dim|Static|Public 数组名(下标范围)As 类型名例如 Dim A(10)As Integer以上定义A为整型数组,没有指明下标的下界,默认下标从0开始,即元素下标范围:010,因此A数组含有11个元素,每个元素都是整型变量。如果希望下标从1开始,可以通过Option Base语句来设置,格式如下:Option Base n其中n指定数组下标的下界,只能是0或1。例如:Option Base 1 Private Sub Form_Click()Dim b(5)As Integer 包含元素 b(1)b(5)End Sub,84,如果用关键字To则可以根据需要来指定下标的下界。

48、例如 Dim C(2 To 10)As Integer 该语句定义了一个一维数组C,下标范围:210,数组有9个元素,每个元素都是整型。2二维数组二维数组的元素具有两个下标。如:C(3,4)数组名 行号 列号二维数组下标的取值方法与一维数组相同。例如:Dim C(1 To 2,1 To 3)As Single Dim A(2,3)As Integer,85,6.4.2 访问数组元素,1数组元素的赋值(1)用循环结构为数组赋值对于一维数组,可用单层循环。例如:For j=1 To 10 A(j)=0Next j对于二维数组,一般要用双层循环。例如:For i=0 To 2 For j=0 To

49、3 B(i,j)=0 Next jNext i,86,(2)用Array()函数对数组初始化Array函数可以把一个数据集读入数组。函数的使用格式:数组名=Array(元素值列表)Array函数只能对定义为Variant类型的数组初始化。例如,以下语句可以初始化数组a()。Dim a()As Variant 这里也可以省略()a=Array(5,2,3,4,1)初始化结果为:a(0)=5,a(1)=2,a(2)=3,a(3)=4,a(4)=1,87,Option Base 1 声明数组元素下标的起始值 Private Sub Command1_Click()Static Test Test=A

50、rray(One,Two,Three)Print Test(1)&Test(2)&Test(3)End Sub运行结果显示:One TwoThree,88,【例6.15】观察下面程序的运行结果。,Option Base 1Private Sub Form_Click()Dim a()As Variant,b As Varianta=Array(1,2,3,4,5)b=Array(Abc,DEF,123)For j=1 To UBound(a)UBound()的功能:得到元素最大下标 Print a(j);Next jFor j=1 To UBound(b)Print b(j);Next jEn

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号