第4章VB程序设计基础(N).ppt_第1页
第4章VB程序设计基础(N).ppt_第2页
第4章VB程序设计基础(N).ppt_第3页
第4章VB程序设计基础(N).ppt_第4页
第4章VB程序设计基础(N).ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.1 数据类型 4.2 常量和变量 4.3 变量的作用域 4.4 常用内部函数 4.5 字符处理与字符串函数 4.6 运算符与表达式,第4章 VB程序设计基础,4.1 数 据 类 型,掌握标准数据类型要点:占用字节数、取值范围及表示方法。,4.1.1 基本数据类型 1.字符串(String) 类型符 $ 是一串除了回车和双引号的字符序列,由一切可打印的ASCII字符和字符串组成,它是用双引号括起来的一串字符。 例如:“fghjhh”, Visual Basic 6.0程序设计 “”(空字符串) VB的字符串分为两种:变长和定长字符串 变长字符串:0231(约21亿)个 定长字符串:=216

2、(65535)个 注意: 1)空字符串用“”表示,而“ ”则表示有一个空格的字符串; 2)在字符串中必须用两个连续的双引号来表示字符串有一个双引号。如字符串:abc计算机abc,在VB中表示为abc计算机abc。,4.1 数据类型,2数值型数据(Numeric),数值型数据一般分为整型数和浮点数两类。整型数分为整数 (Integer) 和长整数 (Long) ,浮点数分为单精度浮点数 (Single) 和双精度浮点数 (Double) 。有时也把货币型数据 (Currency) 和字节型数据 (Byte)划归数值型数据。,(1)整数(Integer) 类型符 % 整数是不带小数点和指数符号的数

3、,在机器内部以2字节二进制码形式表示,其取值范围:-215 215 (-32768 32768) 。VB中用n%来表示整数,其中%为整数的类型符,可以省略。如-123%、123%都表示整数。 (2)长整数(Long) 类型符 Sum End Sub,3)强制显式声明(Option Explicit语句) 声明方法: 在模块的通用声明段中加入语句:Option Explicit 在“工具”菜单中选取“选项”命令,然后在打开的对 话框中单击“编辑器”选项卡,再复选“要求变量声明”,4.3 变量作用域,1. 作用域的概念 作用域:有效的区域,即有效的范围。 2. 变量的作用域 VB应用程序的三个模块

4、:窗体模块、标准模块、类模块 根据变量定义位置和所用定义语句的不同,该变量的作用 域也不同。由此,将变量分为:局部变量、模块变量、全 局变量三种。,1.局部变量 过程内部定义 用dim或static, 过程之间引用:过程名.变量名 private sub command1-click() dim a1 as integer 2.窗体变量和模块变量 窗体变量:通用/声明 (dim或private ) 模块变量:工程/添加模块(dim 或private) 3.全局变量 在标准模块里定义,(public或global),4.4 Visual Basic的内部函数,为方便使用,VB将一些常用运算以标准

5、函数 (内部函数) 的形式提供给用户。 函数的使用方法: 函数名( 参数1,参数2,) 注意事项: (1)函数参数的取值范围。 (2)函数参数的含义。 (3)函数返回结果的类型。,1.求绝对值函数Abs(x) 函数格式:Abs(x) 函数功能:求x的绝对值。 举例:设c=9.56,d=-5.7,则Abs(d+c) 的值为3.86 2.符号函数Sgn(x) 函数格式:Sgn(x) 函数功能:求x的符号, 返回值1、-1、0 1 (x0) sgn(x)= 0 (x=0) -1 (x0) 举例:表达式Sgn(-6.7),4.4.1 数学函数,3.求平方根函数Sqr(x) 函数格式:Sqr(x) 函数

6、功能:求x的平方根,但x的值必须为非负数 举例:表达式Sqr(2) 的值为1.4142135623731。 4.指数函数 Exp(x) 函数格式:Exp(x) 函数功能:求以e为底,以x为指数的值,即求e的x次幂 举例:表达式Exp(1) 的值为2.71828182845905 5.对数函数Log(x) 函数格式:Log(x) 函数功能:求以e为底的对数值(即自然对数),x必须为正数 举例:表达式Log(2) 的值为0.693147180559945,8.正弦函数Sin(x) 函数格式:Sin(x) 函数功能:求x的正弦函数值,x必须为以弧度为单位表示的角度 举例:sin(60/180*3.1

7、415926535) 9.余弦函数Cos(x) 函数格式:Cos(x) 函数功能:求x的余弦函数值,x必须为以弧度为单位表示的角度 举例:cos(60/180*3.1415926535),10.随机数函数Rnd(x) 函数格式:Rnd(x) 或 Rnd 函数功能:可产生一个0Rnd 1的单精度随机数,其中变量x为一双精度数可省略 注意:当x0时,则每次产生的随机数都相同 当x0或省略时,产生下一个随机数 当x0时,则该次产生的随机数与上一次产生的随机数相同 与Rnd函数有关的Randomize语句 要每次运行时,产生不同序列的随机数,执行Randomize 语句。 语句格式:Randomize

8、 (x) 功能:将Rnd函数的随机数生成器初始化,给该随机数生成器一个新的种子值。省略x时,用系统计时器返回的值作为新的种子值。,Rnd函数的应用,举例:Rnd*10 产生一个大于等于0而小于10的单精度随机数。 思考:如何要产生一个mn之间的整数 分析:1)先产生0(n-m)的整数 2)然后,+m即可产生mn的整数 0=Rnd1 0=Rnd()*(n-m+1)n-m 例产生1100的随机整数:,4.4.2 转换函数 1.取整函数Int( ) 函数格式:Int(x) 功能:求不大于x的最大整数,返回值为整型数。 举例:设x=5.67, y=-5.67, 则Int(x) 5,int(y) -6

9、2.舍去小数部分函数Fix(X) 函数格式:Fix(x) 函数功能:去掉x的小数部分,返回值为整型数 举例:设a=5.69,b=-5.88, 则Fix(a) 5, Fix(b) -5,3.十进制数转换为十六进制函数 函数格式:Hex(x) 或Hex$(x) 功能:将一个十进制数转换为对应的十六进制数,转换后的结果为一字符串 举例: Hex(10) “A” 4.十进制数转换为八进制函数 函数格式:Oct(x) 或Oct$(x) 功能:将一个十进制数转换为对应的八进制数,转换后的结果为一字符串 举例:Oct(10) “12”,5.求字符的ASCII码函数 函数格式:Asc(字符串表达式) 功能:返

10、回字符串表达式中的第一个字符的ASCII码值 返回类型是整型 举例:Asc(“a”) 97 Asc(“abc”) 97 6.求ASCll码值对应的字符函数 函数格式:Chr(整数表达式) 功能:返回一个与x值相对应的ASCII字符。 返回类型是字符型 注意:表达式的值必须是一个合法的ASCII码值 举例:Chr(97) “a” Chr(65) “A”,7.把字符串转换为数值的函数 函数格式:Val(字符串) 功能:将数字字符串转换成数字。返回类型是数值型 转换原则是:从字符串左边的第一位置开始依次进行转换,一旦遇到非数字的字符就停止转换。 如果字符串是一个非数字字符串,则该函数的函数值为0 举

11、例:Val(“abcxyz”) 0 Val(“123.4+xyz”) 123.4 8.把数值转换为字符串的函数 函数格式:Str(数值表达式) 功能:将数字转换成字符串。返回类型是字符型 举例:Str(23.56) “23.56”,4.4.3 数据类型转换函数 1.转换为整型数据的函数 函数格式:CInt(数值表达式) 功能:小数部分的第1位进行四舍五入 如 CInt(34.5) =35 2.转换为货币类型数据的函数 函数格式:CCur(数值表达式) 功能:保留4位小数且自动将第5位小数进行四舍五入 3.转换为双精度类型数据的函数 函数格式:CDbl(数值表达式) 功能:将数值表达式的值转换为

12、双精度型,4.转换为长整型数据的函数 函数格式:CLng(数值表达式) 5.转换为单精度类型数据的函数 函数格式:CSng(数值表达式) 6.转换为变体类型数据的函数 函数格式:CVar(数值表达式) 7.转换为字符串类型数据的函数 函数格式:CStr(表达式) 8.转换为日期类型数据的函数 函数格式:CDate(表达式),4.4.4 日期和时间函数 1.取系统当前的日期和时间函数 函数格式:Now或Now( ) 返回格式为yy-mm-dd hh:mm:ss 2.读取系统当前的日期函数 函数格式:Date或Date( ),Date$或Date$( ) 可以设置系统当前的日期:Date=日期字符

13、串 3读取系统当前的时间函数 函数格式:Time或Time( ),Time$或Time$( ) 可以设置系统当前的时间:Time=时间字符串,4.求日期中的年份函数 函数格式:Year(日期字符串) ,结果为一整型数 5.求日期中的月份函数 函数格式:Month(日期字符串) 6.求日期中的日子函数 函数格式:Day(日期字符串) 7.求当前日期是星期几的函数 函数格式:Weekday(日期字符串) 结果为一整型数,1代表星期日,7代表星期六,8.求时间中的小时函数 函数格式:Hour(时间字符串) Hour(21:09:10) =21 9.求时间中的分钟函数 函数格式:Minute(时间字符

14、串) 10.求时间中的秒函数 函数格式:Second(时间字符串) 11.计算从午夜起经过的秒数函数 函数格式:Timer或Timer( ) 视系统当时的时间而定,4.5 字符串处理与字符串函数,4.5.1 VB的字符处理机制 字符串编码 Windows系统对字符采用中文2字节,西文1字节的处理机制,早期的VB也采用这种方式,称为ANSI方式。 VB 4.0版后,字符采用Unicode编码(统一编码方式),任何字符2字节。 StrConv() 进行ANSI与Unicode之间转换。 格式: StrConv(要转换的字符串,转换格式) vbUnicode(64) - 从ANSI 转换为Unico

15、de vbFromUnicode(128) - 从Unicode转换为ANSI 例如:Len(“VB程序设计”) 6 (双字节为单位) LenB(“VB程序设计”) 10 (单字节为单位),4.5.1 字符串函数,1. 删除字符串两端空格字符函数 函数格式:Trim(字符串表达式) 功能:去掉字符串左右两边的空格 注意:不能去掉中间的空格。 举 例:Trim( a bc ) & xyz的值为“a bcxyz”。 2. 删除字符串左端的空格字符函数 函数格式:LTrim(字符串表达式) 功能:去掉字符串左边的空格 举例;LTrim( abc ) & xyz的值为“abc xyz”。,3. 删除字

16、符串右端空格字符函数 函数格式:RTrim(字符串表达式) 功能:去掉字符串右边的空格 举例:RTrim( abc ) & xyz的值为“ abcxyz”。 4. 从字符串的左端截取字符函数 函数格式:Left(字符串表达式,n) 功能:返回从字符串左边开始取出的n个字符 举例:Left(abcdefgh,3) 的值为“abc”。 5. 从字符串的右端截取字符函数 函数格式:Right(字符串表达式,n) 功能:返回从字符串右边开始取出的n个字符 举例:Right(abcdefgh,4) 的值为“efgh”。,6 .从字符串的中部截取字符函数 函数格式:Mid(字符串表达式,n,m) 功能:返

17、回从字符串第n位置开始取出的m个字符,如省略m,则从n位置开始取到最后。 举例:Mid(abcdefgh,3,5) 的值为“cdefg”。 Mid(abcdefgh,3) 的值为“cdefgh”。 7 .求字符串的长度函数 函数格式:Len(字符串表达式) 或 Len(变量名) 功能:返回字符串的长度(字符个数),或变量的储存空间。 举例:Len(“abed科学家123”) 的值为 10 Private Sub Command1_Click() Dim x As Integer, y As Single, Dim z As Double Print Len(x),Len(y),Len(z) E

18、nd Sub,8.产生字符串函数 函数格式: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 ) 说明:1)如果找到了则返回“字符串2”在“字符串1”中第一次出现时第一个字符在“字符串1”中的位置 2)InStr函数的返回值是一个长整型数,在不同的条件下其值也

19、不一样,见下表,函数的最后一个自变量n是可选的,它是一个整型数,用来指定字符串比较方式 : 0则进行二进制比较,区分字母的大小写, 1则忽略大小写进行比较, 2则基于数据库中包含的信息进行比较 省略时默认为 0,即区分大小写,11.将字符串中的小写字母转换成大写字母函数 格式:Ucase(字符串表达式) 功能:将字符串中的字母转换成大写字母。 12.将字符串中的大写字母转换成小写字母函数 格式:Lcase(字符串表达式) 功能:将字符串中的字母转换成小写字母。,4.6 运算符和表达式 VB有4种运算符: VB表达式: 算术运算符 算术表达式 连接运算符 字符串表达式 关系运算符 关系表达式 逻

20、辑运算符 逻辑表达式,4.6.1 算术运算符与算术表达式 1算术运算符 例:5+10 mod 10 9 / 3 +2 2 结果:10,2算术表达式 由常量、变量、算术运算符、圆括号和函数等连接形成 小技巧: 1)VB中不能省略乘号运算 2)所有的括号一律使用圆括号 3)表示特定含义的符号要写成具体的数值 如:表达式2r,要写成 2*3.14*r 4)对于有分子和分母的表达式,要用括号分别把分子和分母括起来。 5)括号可以改变运算顺序。在表达式中只能使用圆括号,不能使用方括号或花括号。 6)AB 表示A的B次方。当A或B不是单个常量或变量时,要用括号括起来,如(A+B)C+2。,4.6.2 关系

21、运算符和关系表达式,1.关系运算符,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.关系表达式,4.6.3 逻辑运算符和逻辑表达式 格式:关系表达式1逻辑运算符关系表达式2,EPV(等价):两个相等时,结果为True; 否则结果为False IMP(隐含):第一个True,第二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论