admin 管理员组文章数量: 1086019
2024年3月11日发(作者:java后端如何接收前端的数据)
复 习
一、VB的数据类型
Boolean(布尔型): 类型说明符:Boolean,占用2字节
Byte(字节): 类型说明符:Byte占用1字节.
Integer(整型):类型说明符:Integer,类型标识%,占用2字节.
Long(长整型): 类型说明符:Long,类型标识"&",占用4字节.
Single(单精度型): 类型说明符:Single,类型标识"!",占用4字节.
Double(双精度型): 类型说明符:Double,类型标识"#",占用8字节.
Currency(货币型): 类型说明符:Currency,类型标识"@",占用8字节.
Date(日期型): 类型说明符:Date ,占用8字节.
String(字符串,变长): 类型说明符:String,类型标识"$"
二、VB的运算符
赋值运算符:用来给变量或对象的属性赋值.把运算符右边的内容(包括常量,变量,函数返回值或
对象的属性)赋给左边的变量或对象.属性.
使用赋值号应注意:
1.赋值号左边必须是变量或对象的属性,不能是数值,常量和表达式.
2.赋值号两端的数据类型应该匹配,不匹配时应进行适当转换.
3.给对象赋值时,只有运行时可改写的对象属性才能被赋值.
数学运算符
∧ 指数运算
- 负号运算符
* / 乘除运算,其中除法所得到的结果为实数
整除,所得到结果为实际结果的整数部分.
MOD 取模运算,两数相除取余数.
+ - 加减运算.
字符串运算符
& + 连接字符.
&与+连接运算符的区别
&强制两个表达式(它们的类型可能不同)做字符串连接;而当+运算符两边的表达式中混有数值
字符串及数值,其结果会是数值的求和,如果都是字符串则作"相加",返回连接起来的字符串.
关系运算符
运算符
=
>
>=
<
<=
<>
含义
等于
大于
大于等于
小于
小于等于
不等于
含义
取反
与
优先级
1
2
示例
"ABCDE"="ABR"
"ABCDE">"ABR"
"bc">="BC"
23<3
"23"<="3"
"abc"<>"ABC"
说明
当操作数为假时,结果
为真
两个操作数均为真时,
结果
False
False
True
False
True
True
示例
Not F
Not T
T And T
结果
T
F
T
逻辑运算符
运算符
Not
And
结果才为真 F And F
T And F
F And T
T Or T
F Or F
T Or F
F Or T
F
F
F
T
F
T
T
Or 或 3 两个操作数中有一个为
真时,结果为真
三、
VB语句与控制
VB
赋值语句
用来对一般的变量进行赋值的赋值语句,用关键字LET描述,但一般都省略.
格式:[let]变量或属性=表达式
VB
注释语句
引入目的:为程序的阅读和修改提供信息,提高程序的可读性和可维护性.
注释方法有两种:'或REM关键字.
条件分支
——IF
语句
第一种格式:
if 条件 then
语句
end if
如果条件为true,则执行"语句",否则执行end if后面语句.
第二种格式:
if 条件 then
语句
else
语句
end if
IF语句的第三种格式
If 条件1 then
语句1
else if 条件2 then
语句2
else
语句3
end if
如果条件1为true,则执行语句1,如果为false,则检查条件2,如果条件2为true,则执行语句2,如果条
件2为false,则执行语句3.
多重选择语句
——select case
语句
格式: select case 测试表达式
case 条件1
语句1
………
case else
语句
end select
VB将测试表达式的值与此同时结构中的每个case的值进行比较,如果相等,就执行与该case 相
关的程序段,如果都不等,则执行case else所对应的程序段.
循环语句
:Do……Loop
语句
第一种格式:
Do While 条件式
[程序段]
Loop
当条件为true时,循环继续,直到条件变为False为止.
第二种格式:
Do Until 条件式
[程序段]
Loop
当条件为False时,循环继续,直到条件变为true为止.
第三种格式:
Do
[程序段]
Loop While 条件式
当条件式为true时,循环继续进行,直到条件式变为false为止.
第三种格式:
Do
[程序段]
Loop Until 条件式
当条件式为时false,循环继续进行,直到条件式变为true为止
For …Next
语句
语法规则:
For 循环控制变量=初值 To 终值 [step增量]
语句
next 循环控制变量
四、VB函数
VB的数学函数
函数名
Abs
Atn
Cos
Exp
Fix
Int
Log
Rnd
Sgn
Sin
Sqr
Tan
功能
求绝对值
反正切函数
余弦函数
求指数
取整数,对负数取较大的
取整数,对负数取较小的
求对数
产生一个0~1间的随机数
求数字符号
正弦函数
求平方根
正切函数
VB日期和时间函数
函数名
Date
Time
Now
Year
Month
Day
Weekday
Hour
Minute
Second
DateSerial
TimeSerial
DateValue
TimeValue
DateAdd
DateDiff
DatePart
字符串函数
函数名
Len
Mid
Left
Right
Ltrim
Rtrim
Trim
功能
求字符串长度
取给定字符串的子串
从字符串的左边取指定长度的子串
从字符串的右边取指定长度的子串
去掉字符串的前导空格
去掉字符串的尾随空格
去掉字符串的前导和尾随空格
功能
取得系统当前日期
取得系统当前时间
取得系统当前日期和时间
返回指定日期中的年份
返回指定日期中的月份(1-12)
返回指定日期中天(1-31)
返回指定日期为星期几
返回指定时间量中的小时
返回指定时间量中的分钟
返回指定时间量中的秒
返回指定年月日的日期
返回指定小时分秒的时间
将字符串表示的日期转化为Variant日期
将字符串表示的时间转化为Variant时间
返回指定日期加上一定时间间隔后的日期
返回两个日期的时间间隔
返回指定日期的特定部分
五、对象的常用属性(例)
Alignment 设置或返回控件的文本对齐方式
AutoSize 返回或设置控件是否自动改变大小以显示其全部内容
BackColor 返回或设置对象的背景颜色。
ForeColor 返回或设置在对象里显示图片和文本的前景颜色。
BackStyle 返回或设置控件的背景是透明的还是非透明的。
BorderStyle 返回或设置对象的边框样式
Caption 指定显示在窗体标题栏中的文本或指定显示在控件中的文本。
Enabled 返回或设置对象是否能够对用户产生的事件作出反应。
Font 返回或设置对象可用的所有字体、字形、字号
Height 返回或设置对象的高度
Width 返回或设置对象的宽度
Left 返回或设置对象内部的左边与它的容器的左边之间的距离。
Top 返回或设置对象的内顶部和它的容器的顶边之间的距离。
Visible 返回或设置一指示对象为可见或隐藏的值。
Locked 设置为ture时,文本不能被编辑,也不能被复制粘贴。
MultiLine 返回或设置TextBox 控件是否能够接受和显示多行文本。
ScrollBars TextBox 控件的属性MultiLine为真时,可为文本框控件设置水平、垂直滚动条。
Style 命令按钮的该赂性值为1时 ,可修改该命令按钮的背景颜色。
Text 返回或设置文本框控件中包含的文本。
Name 返回或设置字体对象的名字。
六、几种基本算法
解析法
( P98
)
通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得
出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法(参看P100“电阻计算问
题”)。
穷举法(
P103
)
“穷举法”也称为“枚举法”或“列举法”。 穷举法,指在一个有穷的可能的解的集合中,一一列
举出集合中的每一个元素,用题目给定的检验条件来判断该元素是否符合条件,若满足条件,则
该元素即为问题的一个解;否则,该元素就不是该问题的解(参看P103的IQ问题)。
顺序查找(
P117
)
当查找的对象没有规律时可用顺序查找方法。顺序查找就是一个一个地按照对象的元素往下
查找,直到全部元素都查了一遍。
所谓顺序查找,就是从数据序列中的第1个元素开始,从头到尾逐个查找,直到找到所要的
数据或搜索完整个数据序列。这种顺序查找的代码很简单,只需编写一个循环,将数组中各元素
依次与目标数进行比较即可(参看下面例题)。
'随机生成10个数(在1到100之间的整数)并输出;再输出其中的最大数及位置号(顺序查
找)。
Private Sub Command1_Click()
Dim a(1 To 10) As Integer, i As Integer, Max As Integer, mIndex As Integer
Max = 0
Randomize '每次运行时,要产生不同序列的随机数,执行Randomize 语句。
Cls '清除窗体中用PRINT等方法输出的内容。
For i = 1 To 10 '本段循环程序随机产生10个1到100之间的整数并显示出来,同
时还按顺序找出其中的最大数。
a(i) = Int(Rnd * 100) + 1 '利用取整函数Int()、随机函数Rnd(),可让计算机产生一定范围的随
机整数,公式为:Int(Rnd()*(上限 - 下限 + 1 ) )+下限。
Print a(i); '按紧凑格式输出所产生的随机数。
If Max < a(i) Then '按顺序查找10个数中的最大数。
Max = a(i) '依次将查找过程中找到的大数存入变量Max中。
mIndex = i '并将其位置保存到变量mIndex中。
End If '顺序比较完成之后,Max就是10个数中的最大者。
Next i
Print " 最大值 = " & Max & ",所在位置为第 " & mIndex & " 个位置。"
End Sub
对半查找(
P119
)
若数据没有经过整理而无顺序,要不遗漏不重复地查找,大致也只能用顺序查找的方法进行
查找了;而若数据已经整理而变得有顺序(例如数据按由小到大的顺序进行排序)了,就可以使
用对半查找(比较容易理解的一种方法)的方法进行查找,从而提高工作效率。
基本方法:首先在查找对象的中间位置取出一个元素来与目标元素对比,若目标元素较小,
则在查找对象的上半部分进行查找就可以了。相反,如果目标元素较大,则在查找对象的下半部
分继续进行查找。这样查找的范围就缩小了一半。反复进行这个过程,就能很快确定目标元素在
查找对象中的位置(或者确定不在查找对象中)。参看下面例题。
从键盘输入一个100以内的正整数,用对半查找法进行查找,确定其是否在随机产生的100个整
数中。
Private Sub Command1_Click()
Dim a(1 To 100) As Single, x As Integer
Dim L As Integer, H As Integer
Dim t As Integer, mid As Integer
Cls
Randomize '使生成的数据中无重复元素
For i = 1 To 100
a(i) = Int(100 * Rnd + 1) '给数组a赋1到100之间的数
Print a(i); " ";
If i Mod 10 = 0 Then Print
Next i
'对一维数组进行排列,采用选择法排序
For i = 1 To 99
For j = i + 1 To 100
If a(i) >= a(j) Then
m = a(j): a(j) = a(i): a(i) = m '数据交换
End If
Next j
Next i
For i = 1 To 100
Print a(i); " ";
If i Mod 10 = 0 Then Print
Next i
x = Val(InputBox("请输入要查找的1--100的数")) '输入要查找的数
Do While x > 100 Or x < 1
x = Val(InputBox("您要查找的数不符合条件,请重新输入要查找的1--100的数")) '保证查询符合
条件
Loop
'对半查找程序
L = LBound(a): H = UBound(a) '给L和H赋值 Lbound(ArrayName[,维数]):取得数组相应维
数的下界;Ubound(ArrayName[,维数]):取得数组相应维数的上界
t = 0 '起辅助作用,当t=0时,则表示未找到要查找的数,而t=1
时表示要查找的数已找到
Do While t = 0 And H >= L '用do while 循环命令判断查找条件
mid = (H + L) 2
If a(mid) = x Then
t = 1
Else
If x < a(mid) Then
H = mid - 1
Else
L = mid + 1
End If
End If
Loop
'结果输出
If H < L Then
Print " 没有找到您要查找的数"
Else
Print " 你要查找的数是a("; mid; ")", a(mid)
End If
End Sub
选择排序(P125)
选择排序法是一个很简单的算法。其原理是首先找到数据清单中的最小(或最大)的数据,
然后将这个数据同第一个数据交换位置(进行第一轮挑选);接下来在余下的数据中找第二小(或
第二大)的数据(进行第二轮挑选),再将其同第二个数据交换位置,以此类推(参看下面例题)。
例:将五个数5、4、1、3、2按顺序进行排序。
Private Sub Command1_Click()
Dim a(5) As Integer
Dim min As Integer, w As Integer, m As Integer
a(1) = 5: a(2) = 4: a(3) = 1: a(4) = 3: a(5) = 2 '将已知数据赋值给数组元素
Print "排序前的数据:"
For i = 1 To 5 '本程序段输出排序前的数据。
Print a(i),
Next i
For i = 1 To 4 '本程序段按选择排序法进行排序。外循环负责将第I轮
选择到的最小数与第I个位置的数据对调。
min = a(i): w = i '变量min存放找到的较小数,变量w存放较小数的位置。
For j = i + 1 To 5 '内循环程序段负责在第I轮中挑选最小数。
If a(j) < min Then min = a(j): w = j '将找到的较小的数暂存到变量min中,将其位置保存到
变量w中。
Next j
m = a(i): a(i) = min: a(w) = m '将本轮选择到的最小数与第I个位置的数据对调。
Next i
Print "从小到大排序后的数据:"
For i = 1 To 5 '本程序段输出排序后的结果。
Print a(i),
Next i
End Sub
插入排序(P127)
插入排序:在输入每一个数据时,在它前面输入的数据已经按顺序排好,它只需要插入到一
个排好顺序的队列之中,这种算法称为插入排序算法(参看P130程序4-15)。
Dim d(10000) As Long
Dim k As Integer
Private Sub Command1_Click()
Dim a As Long
a = Val()
k = k + 1
i = k
Do While i > 1 And d(i - 1) > a
d(i) = d(i - 1)
i = i - 1
Loop
d(i) = a
= ""
For j = 1 To i - 1
= & Str(d(j)) & " "
Next j
= & "(" & Str(d(j)) & ")"
For j = i + 1 To k
= & Str(d(j)) & " "
Next j
= ""
us
End Sub
递归算法(
P133
):
在函数或子过程的内部,直接或者间接地调用自己的算法(参看下面例题)。
例:用递归函数实现计算N!的求解。代码如下:
Private Sub Form_Click()
Dim N As Integer, F As Long
N = InputBox("输入一个正整数:")
F = Fact(N) '函数调用
图1 递归函数Fact的调用
Print N; "!="; F
End Sub
Private Function Fact(ByVal N As Integer) As Long
If N = 1 Then
Fact = 1
Else
Fact = N * Fact(N - 1) '函数递归调用
End If
End Function
以计算3!为例,递归函数Fact的调用和返回过程如图1所示。
调用阶段:
N=3,条件N=1不成立,则调用Fact(2),计算N*Fact(2)=3* Fact(2)
N=2,条件N=1不成立,则调用Fact(1),计算N*Fact(1)=2* Fact(1)
N=1,条件N=1成立,Fact(1)返回值为1,即Fact(1)=1,计算N*Fact(1)=1* Fact(1)
返回阶段:
返回到Fact(2), 执行结果为N* Fact(1)=2*1=2
返回到Fact(3), 执行结果为3* Fact(2)=3*2=6
版权声明:本文标题:VB基础知识 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710136447a559029.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论