End Sub 3.6.1顺序结构
赋值语句:变量=表达式 例子:L=3=2 3.6.2选择结构
有if then 、if then else、if then elseif 、select case四种形式 1,if ...then语句 语句形式1:
If <表达式> then
<语句块> End if
语句形式2:
If<表达式>then <语句一>:<语句2 >...... 2,if...then...else语句
语句表达式1: If<表达式>then
<语句块1> Else
<语句块2>
End if
语句表达式2:
If<表达式> then <语句1>:<语句2>.....
Else <语句1>:<语句2>.......
3,if...then...elseif(此处需连着)
If<表达式1>then <语句块1>
Elseif<表达式2>then <语句块2>
Elseif <表达式3> then <语句块3> .....
Else
<语句块n> End if
4,select case 语句 Select case <变量>
Case<值列表1>
<语句块1>
Case<值列表2> <语句块2> ......
Case<值列表n-1> [case else <语句块n>] End select
其中值列表有四种形式:
Case 2 、case 1,3,5 、case 1 to 5 、case is<122
3.6.3循环语句
1,for循环语句:已知循环次数
For <循环变量>=<初值>to<终值>[step<步长>]
<语句块>
[exit for] ‘退出该层循环 Next [<循环变量>]
九九乘法表:
Private sub form_click()
Dim i as integer,j as integer, s as integer Print “-------------九九乘法表-------------” Print For i=1 to 9 For j=1 to i S=i*j
Print j&”X”&i”=”&s ;
Next Print Next End sub 2,do循环语句
1,do while <表达式> do <循环体> 或者 <循环体> [exit do] [exit do]
Loop Loop while<表达式> 2,do until<表达式> Do
<语句块> 或者 <语句块> [EXIT DO] [EXIT DO] Loop Loop until<表达式> 3.7数组:为简化数据存储 1,一维数组
dim <数组名>(下标) as <数据类型> 下标可写成:[下界]to上界 下界默认为0,个数:上届-下界+1
数组元素:数字默认值为0,字符串默认为空格 例子:dim s(1)as string ? s(0)、s(1) Dim s(1to2)as string ?s(1)、s(2) 2,多维数组
Dim<数组名>(下标1,下标2...)as <数据类型>
例子:dim a(3,3 to 5)as integer
3.8.1子过程
过程分为:事件过程、通用过程(子过程、函数过程)
子过程的定义过程: 1,直接在代码窗口中输入
[private][public][static]sub<过程名>[(参数表)]
<语句> [exit sub] <语句> End sub
参数表形式:
[byval]<参数1>[as<类型>]....[optional]<参数2>[as<类型>]
Byval 有则是值传递,默认为地址传递;optional为可选参数,此类参数必须方别表后面,且调用时可省略。例如:
private sub fun(x as single,y as single ,optional n as boolean=0)
此外对数组不能写维数:Private Sub dd( b(无内容) As Integer)
2,用 添加过程 对话框
工具...添加过程(设置名称,类型,范围,所有本地变量是否为静态变量)
调用子过程:1,call<过程名>(参数表) 2, <过程名>[<参数表>]
有call必有参数在括号里,没call则括号有无均可 3.8.2函数过程(有返回值)
[private][public][static] function<函数名>[(参数表)][as 类型] <语句>
[exit function] <语句>
End function
As子句指定函数返回值的类型,没AS子句则为变形体
注:函数内部至少有一个:<函数名>=<变量>
作为函数返回值。如为static 则函数内局部变量全为static 调用:变量名=函数名(参数表) 3.8.4递归
两种:递归调用、间接递归调用
例子:private function F( n as integer)as integer If n=1 then:F=1:Else F=n*F(n-1) End if End function
递归求解两个条件:1,有终止条件
2,有递归表达式,使得在有限步内能到大终止条件
第八章 程序调试