资源描述
单击此处编辑母版标题样式,重庆信息工程学院 软件教研室,第五章,VB,程序设计语句,一、,赋值语句,二、,条件语句,三、,循环语句,四、,数组,五、,过程,一、,赋值语句,赋值语句格式如下,:,LET,变量名表达式,说明,:,该语句一般用于给变量赋值或对控件设定属性值,.,例,:sum=100,Text1.Text,欢迎使用,Visual Basic 6.0”,Text1.Text=Text2.Text,注意,:虽然赋值号与关系运算符等于号都用“,=”,表示,,VB,系统会根据所处的位置自动判断是何种意义的符号。,二、条件语句,条件语句就是根据条件进行判断并根据判断结果,选择执行不同的分支。条件语句可分为以下两类:,1,、分支结构,2,、情况语句,二、条件语句,1,、分支结构,1,)单分支结构:,语句格式,1,:,If,条件,Then,语句块,End If,语句格式,2:,If,条件,Then,语句,F,T,语句块,条件,执行,End If,后面的语句,二、条件语句,Private Sub Command1_Click(),a=Val(Text1.text),If a Mod 2=0 Then,Text2.text=,偶数,End If,If a Mod 2=0 Then,Text2.text=,奇数,End If,End Sub,例:,二、条件语句,2),双分支结构:,语句格式,1,:,If,条件,Then,语句块,1,Else,语句块,2,End If,F,T,语句块,1,语句块,2,条件,执行,End If,后面的语句,二、条件语句,Private Sub Command1_Click(),a=Val(Text1.text),If a Mod 2=0 Then,Text2.text=,偶数,Else,Text2.text=,奇数,End If,End Sub,例:判断一个数的奇偶性,二、条件语句,3),、多分支结构,格式:,If,条件,1 Then,语句块,1,ElseIf,条件,2 Then,语句块,2,Else,语句块,n+1,End If,说明,:,Then,后面没有语 句,最后以,End If,结尾,语句中,ElseIf,子句的数量没有限制,可以根据需要使 用任意多个,ElseIf,子句。,程序运行时,只选择第一个条件为真的语句运行。,二、条件语句,多分支,IF,语句执行流程:,条件,1,语句块,1,条件,2,语句块,2,条件,n,语句块,n,语句块,n+1,F,T,F,T,T,F,执行,End If,后面的语句,二、条件语句,例:判断一个数的正、负性,Dim a as Integer,a=Text1.text,If a0 then,Text2.text=,“,你输入了一个正数”,ElseIf,a0 then,Text2.text=,“,你输入了一个负数“,Else,Text2.text=,“,你输入了一个,0”,End if,二、条件语句,2,、情况语句,格式,:,Select Case,测试表达式,Case,表达式列表,1,语句块,1,Case,表达式列表,2,语句块,2,Case,表达式表,n,语句块,n,Case Else,语句块,n+1,End Select,功能:,Select Case,语句在执行时,先求测试表达式的值,然后寻找该值与哪一个,Case,子句的表达式值相匹配,找到后则执行与该,Case,语句有关的语句块,之后自动转到,End Select,后的语句执行;如果没有找到与,Case,子句中的表达式相匹配的值,则执行,Case Else,子句有关的语句块,然后转到,End Select,后面的语句执行。,二、条件语句,Select case,语句执行流程图:,表达式,1,语句块,1,表达式,2,语句块,2,表达式,n,语句块,n,语句块,n+1,F,T,F,T,T,F,执行,End,Selsect,后面的语句,测试表达式,二、条件语句,说明:,表达式表有四种形式:,一个表达式,。如:,Case 6,多个表达式,,表达式之间用,逗号,隔开。,如:,Case 1,,,3,,,5,,,7,表达式,1 TO,表达式,2,。该形式指定某个数值范围。,如:,Case 1 To 10,Is,表达式,。如:,Case Is=80,二、条件语句,Dim Score as Integer,Score=Text1.Text,Select Case Score,Case 0 To 59,Text2.Text=“,不及格”,Case 60 To 79,Text2.Text=“,及格“,Case 80 To 100,Text2.Text=“,优秀”,End Select,例:根据成绩输出等级,二、条件语句,3,、,IIf,函数,格式:,变量名,=,IIf,(条件,,True,部分,,False,部分),说明:,当条为真时返回“,True,部分,”,否则返回“,False,部分”,例如,求,x,y,中大的数,放入,Tmax,变量中,语句如下:,Max=,IIf,(,x y,,,x,,,y,),三、,循环语句,循环:从广义上来说就是反复的做某一件事;在程序设计 语言里面就是指反复的执行某一个语句块。在,VB,中循环主要分为两种。,For,循环语句,Do,循环语句,三、,循环语句,1,、,For,循环,格式为:,For,循环变量,=,初值,To,终值,Step,步长,循环体,Exit For,循环体,Next ,循环变量,三、,循环语句,For,循环语句的执行过程是:,首先把初值赋给循环变量,接着检查循环变量的值是否超过终值,如果超过就不执行循环体,跳出循环,执行,Next,后面的语句;否则执行一次循环体,然后把循环变量的值加上步长,再赋给循环变量,重复上述过程。,循环次数,循环次数,=,Int,(,终值,初值),/,步长,+1,),三、,循环语句,For,循环执行流程,开始,循环变量,=,初值,循环变量,终值,执行循环体,循环变量,=,循环变量,+,步长,结束,T,F,例,1,:求,1,到,100,的累加和,Sum=0,For i=1 To 100,Sum=,Sum,+i,Next i,Print 1,到,100,的累加和为:,;Sum,三、,循环语句,例,2:,打印由*号构成的图形,*,*,*,*,*,*,*,For i=1 To 7,For j=1 To i,Print *;,Next j,Print,Next i,三、,循环语句,例,3:,打印乘法九九表:,For i=1 To 9,For j=1 To i,Print i&x&j&=“&i*j,Next j,Print,Next i,三、,循环语句,2,、,Do,循环语句,Do,循环语句主要有以下几种形式,:,1),第一种形式,:,格式:,Do While,循环条件,循环体,Exit Do,循环体,Loop,功能:,如果条件为,True,则执行循环体,否则退出循环。,三、,循环语句,流程图:,循环条件,循环体,F,T,Loop,后面的语句,i=0,Do While i 10,i=i+1,Sum=Sum+i,Loop,Print Sum,例:求,1,到,10,的累加和,三、,循环语句,2,)第,2,种形式:,格式:,Do,循环体,Exit Do,循环体,Loop While,循环条件,功能:,先执行循环体,再判断条件是否成立,如果成立则继续执行循环体,否则退出循环。,三、,循环语句,流程图:,循环条件,循环体,F,T,Loop While,后面的语句,例:求,1,到,10,的累加和,i=0,Do,i=i+1,Sum=Sum+i,Loop While,i 10,Print,Sum,三、,循环语句,3),另两种形式为:,格式:,Do Until,循环条件,循环体,Exit Do,循环体,Loop,Do,循环体,Exit Do,循环体,Loop Until,循环条件,功能:,条件为假进执行循环体,而条件为真时则退出,四、数组,一、数组的概念,把一组具有相同属性、类型的数据放在一起并用一个统一的名字作为标识,这就是,数组,。数组中的每一个数据称为数组元素,数组可分为,一维数组,和,多维数组,。,二、数组的定义,四、数组,1,、一维数组的定义,Dim,数组名(下标),As,类型名称,例:,Dim,a(1 to 4),As Integer,1,)说明:,(,1)“,下标”的一般格式为“下界”,To“,上界”,,当“下界”为,0,时可省略,用于指明数组元素的个数。计算数组元素个数的方法为:,数组元素个数,=,上界,-,下界,+1,(2),在声明了数组后,数组的每个元素会被赋初值,数值型数组为,0,,字符型数组为空。,(3),在引用数组元素时,不能超过下标所表示的范围。,四、数组,2,)、数组的赋值和输出,一般情况下在为数组赋值或输出数组的值的时候都是通过循环来实现的。,例,1,:,Dim a(5)As,Interger,For I=0 to 5,a(I)=I,Next I,For I=0 to 5,Print a(I),Next I,四、数组,Dim a(5)As,Interger,For I=0 to 5,a(I)=,InputBox,(“,请输入数据,:”),Next I,For I=0 to 5,Print a(I);,Next I,例,2,:,四、数组,3),、数组的应用。,(,1,)求数组中元素的累加和和平均值。,Dim a(1 To 5)As Integer,Dim sum As Integer,Dim,avg,As Single,For i=1 To 5,a(i,)=,InputBox,(,输入数据:,输入,0),sum=,sum,+,a(i,),Next i,avg,=sum/5,Print sum,avg,例,3,:,四、数组,(,2,)求数组中元素的最大值和最小值,Dim a(1 To 5)As Integer,Dim Max As Integer,Dim Min As Integer,For i=1 To 5,a(i,)=,InputBox,(,输入数据:,输入,0),Next i,Max=a(1):Min=a(1),For i=2 To 5,If Max,a(i,)Then Min=,a(i,),Next i,Print,最大值为:,;Max,最小值为:,;Min,例,4:,四、数组,2,、多维数组的定义,Dim,数组名,(,下标,1,,下标,2,,,)As,数据类型,例:,Dim a(1 to 3,1 to 3)As Integer,多维数组的元素个数是每一维的元素个数的乘积。,如上例所定义的二维数组的元素个数为,9,个,.,四、数组,三、动态数组,前面我们所讨论的数组的大小都是固定的,我们称之为,静态数组,,而有时候在定义数组的时候我们可能不知道数组的大小,这个时候我们就需要用到动态数组。动态数组的定义方法为:,1,、在声明数组时,不指定数组的大小,Dim,数组名,()As,数据类型,四、数组,四、控件数组,控件数组是由一组相同类型的控件组成,它们具有相同的名称和属性,并共用同一个事件,它们唯一的差别就在于索引号,(Index),不同,在对控件数组编程时都是通过判断索引号来对每一个控件进行编程的,.,2,、在需要指定数组太小时,再用,Redim,语句重定义,组元素个数。,Redim,数组名,(,下标,)As,数据类型,五、过程,VB,中的过程可分为两大类:一类是系统提供的事件过程,另一类是由用户定义的通用过程。,通用过程可以分为,Sub,子过程,和,Function,函数过程,Sub,子过程和,Function,函数过程的区别在于:,Sub,子过程没有返回值,Function,函数过程可返回一个值,五、过程,一、,Sub,过程,(,子过程,),1,、定义,Sub,过程,Static private public Sub,过程名,(,参数表列),语句块,exit sub,语句块,End Sub,五、过程,2,、创建子过程:,1,)直接在代码窗口中输入代码创建子过程。,2,)使用添加过程对话框创建子过程。,五、过程,例题:求累加和 求阶乘,Private Sub Sum(),Dim i As Integer,Dim s As Integer,For i=1 To 100,s=s+i,Next i,Print,和为:,;s,End Sub,Private Sub,Fact(n,As Integer),Dim i As Integer,Dim f As Long,f=1,For i=1 To n,f=f*n,Next i,Print,阶乘为:,;f,End Sub,五、过程,3,、,Sub,过程的调用,调用,Sub,过程的格式为:,1,)使用,Call,语句,格式:,Call,过程名,(,参数表,),2,)直接使用过程名,格式:,过程名 参数表,五、过程,二、,Function,函数过程,1,、,格式:,Static private public Function,函数名,(,参数表列),语句块,函数名,=,表达式,Exit Function,语句块,End Function,2,、函数的调用,变量名,=,函数名(参数表),五、过程,Private Function,Max(a,As Integer,b As Integer),If a b Then,Max=a,Else,Max=b,End If,End Function,例,:,求两个数当中的最大数,:,五、过程,三、过程中的参数传递,在调用过程时我们有时候需要传递一些参数到过程中,参数的传递主要有两种方式:,1,、传值,(在形参前加上,ByVal,),不会改变实参的值;,2,、传址,(默认),会改变实参的值;,五、过程,Private Sub Test(a As Integer,b As Integer),a=5 :b=6,End Sub,Private Sub Command1_Click(),Dim x As Integer,y As Integer,x=1:y=2,Call,Test(x,y),Print x,y,End Sub,例:传址,五、过程,Private Sub Test(,ByVal,a As Integer,ByVal,b As Integer),a=5:b=6,End Sub,Private Sub Command1_Click(),Dim x As Integer,y As Integer,x=1:y=2,Call,Test(x,y),Print x,y,End Sub,例:传值,本章结束,
展开阅读全文