VB期末考试复习书本重点总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a% = 10: b% = 20
Call Add(a + 1, b)
Print "a="; a, "b="; b
End Sub
1.递归的概念
用自身的结构来描述自身就称为“递归”。例如对阶乘的定义:
2.递归过程
过程在自身定义的内部调用自己。
编fac(n)=n!的递归函数
Function fac(n As Integer) As Integer
Select Case变量或表达式
Case表达式列表1
语句块1
Case表达式列表2
语句块2
…
[Case Else
语句块n+1]
End Select
5.条件函数(IIf函数)
IIf (条件,表达式1,表达式2)
先求出两个表达式的值。当条件成立时,函数值为表达式1的值;条件不成立时,函数值为表达式2的值。
Picture1.Print Tab((j - 1) * 9 + 1); se;
Next j
Picture1.Print
Next i
对于循环的嵌套,要注意以下事项:
内循环变量与外循环变量不能同名;
外循环必须完全包含内循环,不能交叉;
不能从循环体外转向循环体内,反之则可以。
Private Sub Command1_Click()
例:已知两个数x和y,求两个数中的大者.
3.If…Then…ElseIf语句(多分支结构)
If <表达式1> Then
<语句块1>
ElseIf <表达式2>Then
<语句块2>
…
[Else
语句块 n+1 ]
End If
不管有几个分支,当某条件满足,执行相应的语句块,其余分支不再执行.
4.Select Case语句(情况语句)
维数:几个下标为几维数组
下标: [下界To ]上界;省略下界为0 ,必须为常数
每一维大小:上界-下界+1
数组大小:每一维大小的乘积
例:Dim mark(1 to 100) As Integer
Dim a( 0 To 3,0 To 4) As Long共有4×5个元素
等价于: Dim a(3,4) As Long
(1)参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。
(2)当参数是数组时,形参与实参在参数声明时应省略其维数,但括号不能省。
(3)调用子过程的形式有两种,用Call关键字时,实参必须加圆括号括起,反之则全无。
参数传递
指主调过程的实参传递给被调过程的形参。
传址:形参得到的是实参的地址,当形参值的改变同时也改变实参的值。其形式参数前加ByRef关键字界定或缺省。
Next i
(2) Array函数
Dim ib As Variant
ib = Array("abc", "def", "67")
For i = 0 To UBound(ib)
Print ib(i); " ";
Next i
注意:
利用Array对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是Variant。
If n = 1 Then
fac = 1
Else
fac = n * fac(n-1)
End If
End Function
控件基本的属性
Name名称:
所有控件对象都具有的属性
Enabled:
控件是否可操作. 当设置为false时,呈暗淡色,禁止用户进行操作.
Visible属性:
控件是否可见.当设置为false时, 用户看不到,但控件本身存在
复习
编码基础
VB代码不区分字母的大小写
一行可书写几句语句,之间用冒号分隔;
一句语句可分若干行书写,用续行符(空格下划线)连接
Rem开始 或 单撇 ‘
VB常用数据类型
变量和常量的命名规则
变量:在程序运行中其存储的值可以改变。
常量:在程序运行中其值不可以改变。
以字母或汉字开头,后可跟字母、数字或下划线组成,长度小于等于40个字符;
区别:+两边必须是字符串,&不一定
"abcdef" & 12345 '结果为"abcdef12345 "
"abcdef " + 12345 '出错
"123" & 456 '结果为" 123456 "
“123” + 456 '结果为579
注意:
"123 " + True '结果为122
关系运算符
将两个操作数进行大小比较,结果为逻辑量。
Print "a"
Next i
将输出______个a。
计算π的近似值公式为
其中n值由文本框读入。阅读程序并填空, Result是标签框的名称 。
Private Sub Command1_Click()
Dim sum As Double, pi As Double
Dim i As Integer, n As Integer
字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。
例: " ABCDE " > " ABRA "结果为 False
逻辑运算符
将操作数进行逻辑运算,结果是逻辑值
表达式
组成:变量、常量、函数、运算符和圆括号
书写规则
运算符不能相邻。例a+ -b是错误的。
乘号不能省略。例x乘以y应写成:x*y。
Mid$("ABCDEFG",2,3) "BCD "
Right$("ABCDEFG",3) " EFG"
Len$("ABCDEFG") 7
InStr(2, "ABCDEFG", "EF") 5
赋值语句
形式:变量名=表达式
作用: 将表达式的值赋值给变量名。
一般用于给变量赋值或对控件设定属性值。
注意:
赋值号左边只能是变量,不能是常量或表达式
数组的下阶为零,上界由Array函数括号内的参数个数可决定,也可通过函数Ubound获得。
数组的应用
求最大值最小值
数组的查找、插入和删除
排序:冒泡排序和选择排序
过程
三种自定义过程
子过程(Sub Procedure)
Sub过程没有返回值
函数过程(Function Procedure)
Function过程返回一个值
括号必须成对出现,均使用圆括号。
表达式从左到右在同一基准上书写,无高低、大小。
表达式书写举例
a*b*c*d/e/f/g或a*b *c*d/(e*f*g)
sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)
3<=x And x <=7
常用内部函数
1.数学函数
Rnd函数返回0和1(不包括0和1)之间的双精度随机数.
不能使用VB中的关键字;
VB中不区分变量名的大小写
例如:1)a bc 2)print_65 3)12bc 4)x-y
5)x%y 6)abs 7)mn% 8)int
变量声明
Dim变量名[AS类型]
Dim iMark As integer , sTotal As single
Dim iItem%
注意: 在通用声明处加 Option Explicit 语句来强制显式声明变量
传值:形参得到的是实参的值,形参值的Hale Waihona Puke Baidu变不会影响实参的值。其形式参数前加ByVal关键字界定
实参为数组时为传址,实参为表达式时为传值。
Sub Add(x%, y%)
x = x + 2
y = y + 3
Print "x="; x, "y="; y
End Sub
Private Sub Command1_Click()
语句块语句块
[Exit Do] [Exit Do]
语句块语句块
Loop Loop { While|Until }<条件>
3.循环的嵌套
一个循环体内又包含了一个完整的循环结构称为循环的嵌套.
例:打印九九乘法表
For i = 1 To 9
For j = 1 To 9
se = i & "×" & j & "=" & i * j
Dim sum As Double, x As Double
sum = 0: n = 0
For i = 1 To 5
x = n / i: n = n + 1: sum = sum + x
Next
End Sub
数组
一.静态数组及声明
形式: Dim数组名(下标1[,下标2…]) [As类型]
声明了数组的维数、大小、类型
属性过程(Property Procedure)
自定义函数过程定义
Function 函数名 ([参数列表]) [ As 数据类型]
……
函数名=表达式
……
End Function
特点:函数名有值,有类型,在过程体内至少赋值一次。
Function过程调用
函数名(实际参数列表)
注意:函数在定义和使用时,无论是否有参数,圆括号一定不能省。
n = Val(Text1.Text)
For i = 1 To n
sum = sum + __(1)__
Next i
pi = __(2)__
Result.Caption= "pi近似值为:" & Str(pi)
End Sub
2.Do…Loop循环语句(用于控制循环次数未知)
形式1:形式2:
Do { While|Until }<条件> Do
注意:
(1)ReDim中的下标可以是常量,也可以是有确定值的变量.
(2)在过程中可多次使用ReDim改变数组的大小,或维数.
(3)每次用ReDim会使原数组的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据.
数组元素的输入、输出
(1)用循环
For i = 1 To 10
iA(i)=0:Print iA(i); " ";
Height、Width、Top和Left属性
例:求x,y中大的数,放入Tmax变量中
循环结构
1.For循环语句 (一般用于循环次数已知)
For 循环变量=初值 to 终值 [Step 步长]
语句块
[Exit For]步长>0初值<终值
语句块=1时,可省略
Next 循环变量<0初值>终值
=0死循环
循环次数=Int((终值-初值)/步长+1)
执行循环结构For i=30 To 10 Step–3
选择结构
1. If…Then语句(单分支结构)
If <表达式> Then
语句块
End If
或If <表达式> Then <语句>
例:已知两个数x和y,比较它们的大小,使得x大于y.
2.If…Then…Else语句(双分支结构)
If <表达式> Then
<语句块1>
Else
<语句块2>
End If
或 If <表达式> Then <语句1> Else <语句2>
常量声明
Const常量名[AS类型] =表达式
例Const MAX=100
Const MIN As Integer =&H13A
算术运算符
例:求表达式5+10 mod 10 \ 9 / 3 +2 ^2值
字符串运算符
&、+字符串连接
" 123 " + " 456 "结果" 123456 "
" 123 " & " 456 "结果" 123456 "
注意:
1.下界缺省为0 ,也可在重新定义数组的下界。例如:Option Base 1
2.在数组声明中的下标说明了数组的整体,即每一维的大小;而在程序其他地方出现的下标表示数组中的一个元素。
两者写法形式相同,但意义不同。
例如:
Dim x(10) As Integer '声明了x数组有11个元素
x(10)=100 '对x(10)这个数组元素赋值
产生[n~m]的随机整数: Int(Rnd *(m-n+1))+n
取整函数:Int Fix Round
符号函数:Sgn
2.转换函数
Chr$(Asc ("G")) "G"
Ucase$("abcdefg") "ABCDEFG“
Asc $(Chr(65)) 65
Str
Val
3.字符串操作函数
Left$("ABCDEFG",3) "ABC"
动态数组及声明
在程序执行时分配存储空间。
方法:
(1)在过程外使用Dim、Private或Public语句声明括号内为空的数组
(2)在过程中用ReDim语句指明该数组的大小
Dim sArray( ) As Single
Sub Form_Load( )
…
ReDim sArray(4,8)
…
End Sub
特点:不能独立存在,必须参加表达式的运算
自定义子过程的定义
格式:
Sub 子过程名[(形式参数表)]
过程体
End Sub
特点:子过程名无值,无类型
自定义子过程的调用
格式1
子过程名 [实际参数列表]
格式2
Call 子过程名[(实际参数列表)]
特点:一句独立的语句
注意:格式1中的实际参数列表无需圆括号
注意:
不能在一个语句中同时给多个变量赋值
数据输入函数InputBox
InputBox(提示信息[,窗口标题])
通常用于赋值语句。产生一个对话框,供用户输入信息,并返回一个字符型的值,赋给一个变量。
MsgBox函数和MsgBox过程
函数形式:变量[%] = MsgBox(提示[,按钮][,标题])
过程形式:MsgBox 提示[,按钮][,标题]
Call Add(a + 1, b)
Print "a="; a, "b="; b
End Sub
1.递归的概念
用自身的结构来描述自身就称为“递归”。例如对阶乘的定义:
2.递归过程
过程在自身定义的内部调用自己。
编fac(n)=n!的递归函数
Function fac(n As Integer) As Integer
Select Case变量或表达式
Case表达式列表1
语句块1
Case表达式列表2
语句块2
…
[Case Else
语句块n+1]
End Select
5.条件函数(IIf函数)
IIf (条件,表达式1,表达式2)
先求出两个表达式的值。当条件成立时,函数值为表达式1的值;条件不成立时,函数值为表达式2的值。
Picture1.Print Tab((j - 1) * 9 + 1); se;
Next j
Picture1.Print
Next i
对于循环的嵌套,要注意以下事项:
内循环变量与外循环变量不能同名;
外循环必须完全包含内循环,不能交叉;
不能从循环体外转向循环体内,反之则可以。
Private Sub Command1_Click()
例:已知两个数x和y,求两个数中的大者.
3.If…Then…ElseIf语句(多分支结构)
If <表达式1> Then
<语句块1>
ElseIf <表达式2>Then
<语句块2>
…
[Else
语句块 n+1 ]
End If
不管有几个分支,当某条件满足,执行相应的语句块,其余分支不再执行.
4.Select Case语句(情况语句)
维数:几个下标为几维数组
下标: [下界To ]上界;省略下界为0 ,必须为常数
每一维大小:上界-下界+1
数组大小:每一维大小的乘积
例:Dim mark(1 to 100) As Integer
Dim a( 0 To 3,0 To 4) As Long共有4×5个元素
等价于: Dim a(3,4) As Long
(1)参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。
(2)当参数是数组时,形参与实参在参数声明时应省略其维数,但括号不能省。
(3)调用子过程的形式有两种,用Call关键字时,实参必须加圆括号括起,反之则全无。
参数传递
指主调过程的实参传递给被调过程的形参。
传址:形参得到的是实参的地址,当形参值的改变同时也改变实参的值。其形式参数前加ByRef关键字界定或缺省。
Next i
(2) Array函数
Dim ib As Variant
ib = Array("abc", "def", "67")
For i = 0 To UBound(ib)
Print ib(i); " ";
Next i
注意:
利用Array对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是Variant。
If n = 1 Then
fac = 1
Else
fac = n * fac(n-1)
End If
End Function
控件基本的属性
Name名称:
所有控件对象都具有的属性
Enabled:
控件是否可操作. 当设置为false时,呈暗淡色,禁止用户进行操作.
Visible属性:
控件是否可见.当设置为false时, 用户看不到,但控件本身存在
复习
编码基础
VB代码不区分字母的大小写
一行可书写几句语句,之间用冒号分隔;
一句语句可分若干行书写,用续行符(空格下划线)连接
Rem开始 或 单撇 ‘
VB常用数据类型
变量和常量的命名规则
变量:在程序运行中其存储的值可以改变。
常量:在程序运行中其值不可以改变。
以字母或汉字开头,后可跟字母、数字或下划线组成,长度小于等于40个字符;
区别:+两边必须是字符串,&不一定
"abcdef" & 12345 '结果为"abcdef12345 "
"abcdef " + 12345 '出错
"123" & 456 '结果为" 123456 "
“123” + 456 '结果为579
注意:
"123 " + True '结果为122
关系运算符
将两个操作数进行大小比较,结果为逻辑量。
Print "a"
Next i
将输出______个a。
计算π的近似值公式为
其中n值由文本框读入。阅读程序并填空, Result是标签框的名称 。
Private Sub Command1_Click()
Dim sum As Double, pi As Double
Dim i As Integer, n As Integer
字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。
例: " ABCDE " > " ABRA "结果为 False
逻辑运算符
将操作数进行逻辑运算,结果是逻辑值
表达式
组成:变量、常量、函数、运算符和圆括号
书写规则
运算符不能相邻。例a+ -b是错误的。
乘号不能省略。例x乘以y应写成:x*y。
Mid$("ABCDEFG",2,3) "BCD "
Right$("ABCDEFG",3) " EFG"
Len$("ABCDEFG") 7
InStr(2, "ABCDEFG", "EF") 5
赋值语句
形式:变量名=表达式
作用: 将表达式的值赋值给变量名。
一般用于给变量赋值或对控件设定属性值。
注意:
赋值号左边只能是变量,不能是常量或表达式
数组的下阶为零,上界由Array函数括号内的参数个数可决定,也可通过函数Ubound获得。
数组的应用
求最大值最小值
数组的查找、插入和删除
排序:冒泡排序和选择排序
过程
三种自定义过程
子过程(Sub Procedure)
Sub过程没有返回值
函数过程(Function Procedure)
Function过程返回一个值
括号必须成对出现,均使用圆括号。
表达式从左到右在同一基准上书写,无高低、大小。
表达式书写举例
a*b*c*d/e/f/g或a*b *c*d/(e*f*g)
sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)
3<=x And x <=7
常用内部函数
1.数学函数
Rnd函数返回0和1(不包括0和1)之间的双精度随机数.
不能使用VB中的关键字;
VB中不区分变量名的大小写
例如:1)a bc 2)print_65 3)12bc 4)x-y
5)x%y 6)abs 7)mn% 8)int
变量声明
Dim变量名[AS类型]
Dim iMark As integer , sTotal As single
Dim iItem%
注意: 在通用声明处加 Option Explicit 语句来强制显式声明变量
传值:形参得到的是实参的值,形参值的Hale Waihona Puke Baidu变不会影响实参的值。其形式参数前加ByVal关键字界定
实参为数组时为传址,实参为表达式时为传值。
Sub Add(x%, y%)
x = x + 2
y = y + 3
Print "x="; x, "y="; y
End Sub
Private Sub Command1_Click()
语句块语句块
[Exit Do] [Exit Do]
语句块语句块
Loop Loop { While|Until }<条件>
3.循环的嵌套
一个循环体内又包含了一个完整的循环结构称为循环的嵌套.
例:打印九九乘法表
For i = 1 To 9
For j = 1 To 9
se = i & "×" & j & "=" & i * j
Dim sum As Double, x As Double
sum = 0: n = 0
For i = 1 To 5
x = n / i: n = n + 1: sum = sum + x
Next
End Sub
数组
一.静态数组及声明
形式: Dim数组名(下标1[,下标2…]) [As类型]
声明了数组的维数、大小、类型
属性过程(Property Procedure)
自定义函数过程定义
Function 函数名 ([参数列表]) [ As 数据类型]
……
函数名=表达式
……
End Function
特点:函数名有值,有类型,在过程体内至少赋值一次。
Function过程调用
函数名(实际参数列表)
注意:函数在定义和使用时,无论是否有参数,圆括号一定不能省。
n = Val(Text1.Text)
For i = 1 To n
sum = sum + __(1)__
Next i
pi = __(2)__
Result.Caption= "pi近似值为:" & Str(pi)
End Sub
2.Do…Loop循环语句(用于控制循环次数未知)
形式1:形式2:
Do { While|Until }<条件> Do
注意:
(1)ReDim中的下标可以是常量,也可以是有确定值的变量.
(2)在过程中可多次使用ReDim改变数组的大小,或维数.
(3)每次用ReDim会使原数组的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据.
数组元素的输入、输出
(1)用循环
For i = 1 To 10
iA(i)=0:Print iA(i); " ";
Height、Width、Top和Left属性
例:求x,y中大的数,放入Tmax变量中
循环结构
1.For循环语句 (一般用于循环次数已知)
For 循环变量=初值 to 终值 [Step 步长]
语句块
[Exit For]步长>0初值<终值
语句块=1时,可省略
Next 循环变量<0初值>终值
=0死循环
循环次数=Int((终值-初值)/步长+1)
执行循环结构For i=30 To 10 Step–3
选择结构
1. If…Then语句(单分支结构)
If <表达式> Then
语句块
End If
或If <表达式> Then <语句>
例:已知两个数x和y,比较它们的大小,使得x大于y.
2.If…Then…Else语句(双分支结构)
If <表达式> Then
<语句块1>
Else
<语句块2>
End If
或 If <表达式> Then <语句1> Else <语句2>
常量声明
Const常量名[AS类型] =表达式
例Const MAX=100
Const MIN As Integer =&H13A
算术运算符
例:求表达式5+10 mod 10 \ 9 / 3 +2 ^2值
字符串运算符
&、+字符串连接
" 123 " + " 456 "结果" 123456 "
" 123 " & " 456 "结果" 123456 "
注意:
1.下界缺省为0 ,也可在重新定义数组的下界。例如:Option Base 1
2.在数组声明中的下标说明了数组的整体,即每一维的大小;而在程序其他地方出现的下标表示数组中的一个元素。
两者写法形式相同,但意义不同。
例如:
Dim x(10) As Integer '声明了x数组有11个元素
x(10)=100 '对x(10)这个数组元素赋值
产生[n~m]的随机整数: Int(Rnd *(m-n+1))+n
取整函数:Int Fix Round
符号函数:Sgn
2.转换函数
Chr$(Asc ("G")) "G"
Ucase$("abcdefg") "ABCDEFG“
Asc $(Chr(65)) 65
Str
Val
3.字符串操作函数
Left$("ABCDEFG",3) "ABC"
动态数组及声明
在程序执行时分配存储空间。
方法:
(1)在过程外使用Dim、Private或Public语句声明括号内为空的数组
(2)在过程中用ReDim语句指明该数组的大小
Dim sArray( ) As Single
Sub Form_Load( )
…
ReDim sArray(4,8)
…
End Sub
特点:不能独立存在,必须参加表达式的运算
自定义子过程的定义
格式:
Sub 子过程名[(形式参数表)]
过程体
End Sub
特点:子过程名无值,无类型
自定义子过程的调用
格式1
子过程名 [实际参数列表]
格式2
Call 子过程名[(实际参数列表)]
特点:一句独立的语句
注意:格式1中的实际参数列表无需圆括号
注意:
不能在一个语句中同时给多个变量赋值
数据输入函数InputBox
InputBox(提示信息[,窗口标题])
通常用于赋值语句。产生一个对话框,供用户输入信息,并返回一个字符型的值,赋给一个变量。
MsgBox函数和MsgBox过程
函数形式:变量[%] = MsgBox(提示[,按钮][,标题])
过程形式:MsgBox 提示[,按钮][,标题]