null第3章 数据类型、表达式与函数 3.1 VB语言字符集及编码规则
3.2 数据类型
3.3 运算符和表达式
3.4 VB 的内部函数
第3章 数据类型、表达式与函数3.1 Basic语言字符集及编码规则 3.1 Basic语言字符集及编码规则 3.1.1 VB的字符集
VB的字符集指编写程序时使用的所有符号的集合
主要包括三类字符:
字母:大写英文字母A~Z和小写英文字母a~z
数字:数字是指0~9
专用字符27个nullnull 1.编码规则
1) VB代码中不区分字母的大小写
2)同一行可
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写多条语句,但要用冒号“:”分隔
3) 换行时需在行后加入续行符,即1个空格加下划线
4) 一行最多允许255个字符
5) 注释以Rem或“‘”开头,出现在语句前面或后面
6)程序转向时用标号,标号以字母开始加一冒号
3.1.2 编码规则与约定null 2.约定
1) 关键字的首字母大写。若关键字由多个英文单词组成,则
每个单词的首字母都大写,如 StudType等
2)注释有利于程序的维护和调试,因此要养成注释的习惯
设置注释或取消注释的方法:
①选中要加注释块的语句行
②单击编辑工具栏的“设置/取消注释块”按钮null 3.2.1 基本数据类型
1.字符串(String)
是一除了回车和双引号的字符序列
例如:“fghjhh”
"Visual Basic 6.0程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
"
“”(空字符串)
VB的字符串分为两种:变长和定长字符串
3.2 数据类型null2.数值型
1) 整数
①整型(Integer型):以带符号的两个字节表示
②长整型(Long型):长整型以带符号的4字节存储
2) 浮点数
①单精度型(Single):以4个字节存储,符号占 1位,指数占 8位,其余23位表示尾数
②双精度型(Double):用8个字节存储,符号占1位,指数占11位,其余52位用来表示尾数null3.货币型(Currency)
为表示钱款设置,以8个字节存储,精确到小数点后4位,取值范围为:
-922 337 203 685 477.580 8~922 337 203 685 477.580 7
4.变体型(Variant)
是一种可变的数据类型,又称为通用型。可以表示任何值,包括数值、字符串、日期/时间等
5.其他数据类型
字节(Byte)
1个字节的无符号二进制数存储,取值范围为0~255
null布尔(Boolean)
是一逻辑值True或False,用两个字节存储
日期(Date)
存储为64位浮点数值形式,以符号“#” 括起来
例如:#03-05-04#
对象(Object)
表示图形或OLE对象或其他对象,用4个字节存储
Decimal变量
存储为12个字节的无符号整型形式,并除以一个10的幂数,称为变比因子null 标准数据类型nullVB主要有两种常量:直接常量和符号常量
1.直接常量
以直接明显的形式给出的各种数据
1) 数值常量
整数常量:十进制、八进制(&O)和十六进制(& H 或& h)
长整型常量:十进制、八进制和十六进制形式
货币型常量(即定点数)、浮点数
3.2.2 常量null 2) 字符串常量
由除双引号和回车符之外的ASCII字符组成的字符串
3) 布尔常量
只有“真”和“假”两个值
4) 日期常量
两个“#”符号把日期值括起来表示日期常量
2.符号常量
系统提供了内部符 号常量如:VbOKOnly
用户自定义符号常量
格式为:Public | Private ]Const常量名[As数据类型]
=表达式[ ,常量名[As数据类型]=表达式] ……
null 例如:Const π as Double=3.14159265358979
①在定义时未指明数据类型,则表达式的结果确定类型
Const sss=“你好” ‘字符串型
②同时定义多个符号常数,它们之间要用逗号进行分隔
③允许嵌套定义符号常量
Const π As Double =3.141592653589793
Const yu As Double= π * 2
④不允许递归定义符号常量
Public Const A1 = B1 * 2
Public Const B1 = A1 / 2
null⑤关键字(Public或Private)
a:在过程内部(事件过程或通用过程)定义的常量,有效范围只能局限于本过程内部直接用Const关键字定义
b:在模块(窗体模块或标准模块)中用Private关键字定义后对该模块中所有过程都有效
c:在标准模块中用Public关键字定义的符号常量在整个应用程序中的所有过程和模块内都有效
null1.变量的命名规则
1)变量名必须以字母或汉字开头,所有字母不分大小写
2) 不能包含圆点“.”。
3) 字符总个数不得超过255个字符。
4) 在同一个范围内必须是惟一的。
5) 变量名要“见名知义”,即变量名要便于记忆、有意义。
6) 不能用 Visual Basic的关键字作为变量名。如:print
7) 变量名不能与过程名和符号常量名相同。
3.2.3 变量null2.变量的声明
变量应“先声明,后使用”声明变量分为三种:
1)显式声明:使用Dim、Static、Public、Private声明
Dim<变量名1>[AS<类型>] [,<变量名 2>[AS<类型>]],…
Dim<变量名1>[<类型符>][,<变量名2>[<类型符>]],…
例如:Dim a As Single, b As Double
Dim x%, y!
声明时不提供数据类型,则指定变量为Variant类型
Dim jh, Amount, Age As Integer
null2) 隐式声明
不声明变量而直接使用
如:Private Sub Form_Click()
Sum=0
A=1:b=2
Sum= a + b
Print "Sum ="; Sum
End Sub
注:对于字符串类型定义方法有两种:
Dim字符串变量名 As String
Dim字符串变量名 As String*字符个数null3)强制显式声明(Option Explicit语句)
声明方法:
①在模块的通用声明段中加入语句:Option Explicit
②在“工具”菜单中选取“选项”命令,然后在打开的对
话框中单击“编辑器”选项卡,再复选“要求变量声明
null3.2.4 用户定义的数据类型
利用Type语句定义自己的数据类型,格式如下:
Type 数据类型名
数据元素名1 As 数据类型名
数据元素名2 As 数据类型名
……
End Type
null例如:Type Dates
Year as intger
Month As String*3
Day As integer
End Type
定义: static yyy as Dates
引用: yyy. Month
null3.2.5 枚举类型
通过Enum语句来定义,格式如下:
[Public|Private]Enum类型名称
成员名1[=常数表达式]
成员名2[=常数表达式]
……
End Enum
null增加:变量作用域
VB应用程序的三个模块:窗体模块、标准模块、类模块
1.局部变量
过程内部定义 dim或static,过程间引用:过程名.变量名
private sub command1-click()
dim a1 as integer
2.窗体变量和模块变量
窗体变量:通用/声明
模块变量:
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
/添加模块(dim 或private)
3.全局变量
在标准模块里定义,(public或global)null3.3 运算符和表达式
VB有4种运算符: VB表达式:
算术运算符 算术表达式
连接运算符 字符串表达式
关系运算符 关系表达式
逻辑运算符 逻辑表达式null3.3.1 算术运算符与算术表达式
1.算术运算符
例:5+10 mod 10 \ 9 / 3 +2 ^2 结果:10null2.算术表达式
由常量、变量、算术运算符、圆括号和函数等连接形成
1)VB中不能省略乘号运算
2)所有的括号一律使用圆括号
3)表示特定含义的符号要写成具体的数值
如:表达式2πr,要写成 2*3.14*r
null3.3.2 字符串连接运算符( & 和+ )
例如:“ 123 ” + “ 456 ” 结果 " 123456 "
“ 123 ” & “ 456 ” 结果 " 123456 "
区别: + 两边必须是字符串, & 不一定
例如:
" abcdef " + 12345 '出错
"abcdef" & 12345 '结果为 "abcdef12345 "
" 123 " + 456 '结果为 579
" 123 " & 456 '结果为 " 123456 "
null字符串表达式
是由字符串常量、字符串变量、字符串函数、字符串运算符和括号等连接形成的一个有意义的运算式子
如: “xyz”& “123”&left(“abc”,2)
字符串连接运算符“&”的优先级低于所有的算术运算符,而高于其他的运算符
null3.3.3 关系运算符和关系表达式1.关系运算符null 1)两侧参加运算的数据类型必须完全一致
2)日期型数据比较,将日期看成“yyyymmdd”的8位整数比较
3)常见的字符值的大小比较关系如下:
“空格”<“0”< …<“9”<“A”<…<“Z”<“a”<…<“z”<所有汉字
4)避免两个浮点数直接作“相等”或“不相等”的判别和比较
如:1.0/3.0* 3.0= 1.0
应该:Abs(1.0/3.0* 3.0-1.0) < 1E-8
5)所有的关系运算符的优先级都相同,从左向右进行运算 2.关系表达式null3.3.4 逻辑运算符和逻辑表达式
格式:<关系表达式1><逻辑运算符><关系表达式2>EPV(等价):两个等时为真
IMP(隐含):第一个true,
第二个false,
结果:falsenull与日期相关的表达式
1)两个日期型数据相减结果是一个数值型数据
如:#05/18/2004#-#05/16/2004#的值为2
2)表示天数的数值加到日期型数据中结果是日期型数据
如:#05/18/2004#+31的值为2004-6-18
3)日期型数据减去一表示天数的数据,结果为一日期型数据
如:#05/18/2004#-30的值为2004-4-18。
null3.3.5 各种运算符的优先级比较
算术运算符 :正负号、^ 、*和/、\、Mod、+ 和-
字符串连接运算符(两个运算符级别相同):& 和+
关系运算符:所有关系运算符的运算级别相同
逻辑运算符:Not、And、Or、Xor、Eqv、Imp。
null3.4.1 数学函数
1.取整函数Int( )
函数格式:Int(x)
功能:求不大于x的最大整数,返回值为整型数
举例:设x=5.67, y=-5.67, 则Int(x)=5,int(y)=-6
2.舍去小数部分函数Fix(X)
函数格式:Fix(x)
函数功能:去掉x的小数部分,返回值为整型数
举例:设a=5.69,b=-5.88, Fix(a)=5, Fix(b)=-5
3.4 Visual Basic的内部函数
null3.求绝对值函数Abs(x)
函数格式:Abs(x)
函数功能:求x的绝对值。
举例:设c=9.56,d=-5.7,则Abs(d+c) 的值为3.86
4.符号函数Sgn(x)
函数格式:Sgn(x)
函数功能:求x的符号, 返回值1、-1、0
举例:表达式Sgn(-6.7)
5.求平方根函数Sqr(x)
函数格式:Sqr(x)
函数功能:求x的平方根,但x的值必须为非负数
举例:表达式Sqr(2) 的值为1.4142135623731。
null6.指数函数 Exp(x)
函数格式:Exp(x)
函数功能:求以e为底,以x为指数的值,即求e的x次幂
举例:表达式Exp(1) 的值为2.71828182845905
7.对数函数Log(x)
函数格式:Log(x)
函数功能:求以e为底的对数值(即自然对数),x必须为正数
举例:表达式Log(2) 的值为0.693147180559945
8.正弦函数Sin(x)
函数格式:Sin(x)
函数功能:求x的正弦函数值,x必须为以弧度为单位表示的角度
9.余弦函数Cos(x)
函数格式:Cos(x)
函数功能:求x的余弦函数值,x必须为以弧度为单位表示的角度
null3.4.2随机数函数Rnd(x)
1.随机数函数Rnd(x)
变量x为一双精度数可省略,可产生一个0~l之间的单精度随机数
①当x<0时,则每次产生的随机数都相同
②当x>0或省略时,产生下一个随机数
③当x=0时,则该次产生的随机数与上一次产生的随机数相同
2.Randomize语句
语句格式:Randomize [(x)]
null3.4.3 数制转换函数
l.十进制数转换为十六进制函数
函数格式:Hex(x) 或Hex$(x),转换后的结果为一字符串
2.十进制数转换为八进制函数
函数格式:Oct(x) 或Oct$(x) ,转换后的结果为一字符串
3.4.4 字符串处理函数
1.删除字符串两端空格字符函数
函数格式:Trim(字符串表达式)
举 例:Trim(" abc ") &"xyz"的值为“abcxyz”。
null2.删除字符串左端的空格字符函数
函数格式:LTrim(字符串表达式)
举例;LTrim(" abc ") &"xyz"的值为“abc xyz”。
3.删除字符串右端空格字符函数
函数格式:RTrim(字符串表达式)
举例:RTrim(" abc ") & "xyz"的值为“ abcxyz”。
4.从字符串的左端截取字符函数
函数格式:Left(字符串表达式,n)
举例:Left("abcdefgh",3) 的值为“abc”。
5.从字符串的中部截取字符函数
函数格式:Mid(字符串表达式,n,m)
举例:Mid("abcdefgh",3,5) 的值为“cdefg”。Mid("abcdefgh",3) 的值为“cdefgh”。
null6.从字符串的右端截取字符函数
函数格式:Right(字符串表达式,n)
举例:Right("abcdefgh",4) 的值为“efgh”。
7.求字符串的长度函数
函数格式:Len(字符串表达式) 或Len(变量名)
举例:Len(“abed科学家123”) 的值为 10
也可以求出某个变量所占的存储空间
Private Sub Command1_Click()
Dim x As Integer
Dim y As Single
Dim z As Double
Print Len(x),Len(y),Len(z)
End Sub
null8.产生字符串函数
函数格式:String(n,字符) 或String(n, ASCII码)
举例:String(10, "a") 的值为“aaaaaaaaaa”,String(5, 65) 的值为“AAAAA”
9.产生空格字符串函数
函数格式:Space(n)
举例;"abcd"& space(5) & "xyz" 的值为“abcd xyz”
10.字符串查找函数
函数格式:InStr([首字符位置,] 字符串1,字符串2[,n] )
如果找到了则返回“字符串2”在“字符串1”中第一次出现时第一个字符在“字符串1”中的位置
null字符串1的长度为0 0
字符串1为Null Null
字符串2的长度为0 首字符位置
字符串2为Nul lNull
在字符串1中未找到字符串2 0
在字符串1中找到字符串2 找到的位置
首字符位置大于字符串2 0
函数的最后一个自变量n是可选的,它是一个整型数,用来指定字符串比较方式 :
0则进行二进制比较,区分字母的大小写,
1则忽略大小写进行比较,
2则基于数据库中包含的信息进行比较
省略时默认为 0,即区分大小写null11.将字符串中的小写字母转换成大写字母函数
函数格式:Ucase(字符串表达式)
12.将字符串中的大写字母转换成小写字母函数
函数格式:Lcase(字符串表达式)
13.求字符的ASCII码函数
函数格式:Asc(字符串表达式)
求字符串表达式中的第一个字符的ASCII码值
null14.求ASCll码值对应的字符函数
函数格式:Chr(表达式)
表达式的值必须是一个合法的ASCII码值
15.把字符串转换为数值的函数
函数格式:Val(字符串)
如果字符串是一个非数字字符串,则该函数的函数值为0
字母字符不转换,如:Val(“abcxyz”) 的值为0
Val(“123.4+xyz”) 的值为123.4
16.把数值转换为字符串的函数
函数格式:Str(数值表达式)
举例:Str(23.56) 的值为字符串“23.56”
null3.4.5 数据类型转换函数
1.转换为整型数据的函数
函数格式:CInt(数值表达式)
小数部分的第1位进行四舍五入 如 CInt(34.5) =35
2.转换为货币类型数据的函数
函数格式:CCur(数值表达式)
保留4位小数且自动将第5位小数进行四舍五入
3.转换为双精度类型数据的函数
函数格式:CDbl(数值表达式)
4.转换为长整型数据的函数
函数格式:CLng(数值表达式)
null5.转换为单精度类型数据的函数
函数格式:CSng(数值表达式)
6.转换为变体类型数据的函数
函数格式:CVar(数值表达式)
7.转换为字符串类型数据的函数
函数格式:CStr(表达式)
8.转换为日期类型数据的函数
函数格式:CDate(表达式)
null3.4.6 日期和时间函数
1.取系统当前的日期和时间函数
函数格式:Now或Now( )
返回格式为yy-mm-dd hh:mm:ss
2.读取系统当前的日期函数
函数格式:Date或Date( ),Date$或Date$( )
可以设置系统当前的日期:Date=日期字符串
3.读取系统当前的时间函数
函数格式:Time或Time( ),Time$或Time$( )
可以设置系统当前的时间:Time=时间字符串
null4.求日期中的年份函数
函数格式:Year(日期字符串) ,结果为一整型数
5.求日期中的月份函数
函数格式:Month(日期字符串)
6.求日期中的日子函数
函数格式:Day(日期字符串)
7.求当前日期是星期几的函数
函数格式:Weekday(日期字符串)
结果为一整型数,1代表星期日,…,7代表星期六
null8.求时间中的小时函数
函数格式:Hour(时间字符串) Hour("21:09:10") =21
9.求时间中的分钟函数
函数格式:Minute(时间字符串)
10.求时间中的秒函数
函数格式:Second(时间字符串)
11.计算从午夜起经过的秒数函数
函数格式:Timer或Timer( )
视系统当时的时间而定