1 / 40

3.1 数据类型

第三章 VB 语言基础. 3.1 数据类型. 3.2 变量与常量. 3.3 运算符和表达式. 3.4 程序结构和编码规则. 3.5  综合应用. 3.1 数据类型. 表 3-1 Visual Basic 的标准数据类型. 1 .数值型数据( Numeric ). 2 .日期型数据( Date ). 3.1.1 基本数据类型. 3 .逻辑型数据( Boolean ). 4 .字符型数据( String ). 5 .对象( Object )类型的数据. 6 .变体( Variant )数据类型.

tana
Download Presentation

3.1 数据类型

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 VB 语言基础 3.1 数据类型 3.2 变量与常量 3.3 运算符和表达式 3.4 程序结构和编码规则 3.5 综合应用

  2. 3.1 数据类型 • 表3-1 Visual Basic的标准数据类型

  3. 1.数值型数据(Numeric) 2.日期型数据(Date) 3.1.1 基本数据类型 3.逻辑型数据(Boolean) 4.字符型数据(String) 5.对象(Object)类型的数据 6.变体(Variant)数据类型

  4. 1.数值数据类型(Numeric) 数值型数据一般分为整型数和浮点数两类。 整型数分为整数(Integer)和长整数(Long),浮点数分为单精度浮点数(Single)和双精度浮点数(Double)。有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。 1)整数(Integer) 整数是不带小数点和指数符号的数,在机器内部以2字节二进制码形式表示。VB中用±n[%]来表示整数,其中%为整数的类型符,可以省略。如-123%、123%都表示整数。

  5. 2)长整数(Long) 整数的最大值为32767,大于此数,程序运行时就会因为溢出产生中断。此时可使用长整数。 长整数用4字节二进制数存储,可以表示更大的整数,其取值范围为-2147483648~2147483647。VB中用±n&来表示长整数,其中&为长整数的类型符。如-1234&、987654&都表示长整数。 3)浮点数 浮点数也称为实型数或实数,由符号、指数和尾数组成,分单精度浮点数(Single)和双精度浮点数(Double),其指数部分分别用“E”(或“e”)和“D”(或“d”)表示。

  6. 4)货币型(Currency) 货币型属于定点实数或整数,用8位字节存储小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“@”。 5)字节型(Byte) 字节型数据用1个字节的无符号二进制数存储,取值范围为0——255。

  7. 2.字符型数据(String) • 字符型数据是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。 • 一个西文字符占一个字节,一个汉字或全角字符占两个字节。在VB中有两种类型字符串:变长(String)和定长(String * n)字符串。字符串长度:0~231个字符 • 注意: • 空字符串用""表示,而“"则表示空格; • 在字符串中必须用两个连续的双引号来表示字符串有一个双引号。如字符串:abc"计算机"abc,在VB中表示为"abc""计算机""abc"。

  8. 3.逻辑型数据(Boolean) • 又称布尔型,只有True和False两个值。在计算机内存中占2字节,经常用来表示逻辑判断的结果。 • 当把数值型数据转换为逻辑型数据时,0会转换为Flase,其它非0值转换为 True。 • 反之,当把逻辑型数据转换为数值型时,Flase转换为0,True转换为-1。

  9. 4.日期型数据(Date) • 日期型数据按8字节的浮点数来存储,表示的日期从公元100年1月1日~9999年12月31日,时间范围为0:00:00~23:59:59。 • 任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来,如#January 15,2012#,#1985-10-1 9:45:00 PM#都是合法的日期型数据。

  10. 5.对象(Object)类型的数据 对象类型的数据(4字节)可以引用应用程序中的对象,主要以变量形式存在。利用Set语句,声明为Object的变量可以被赋值并被任何对象所引用。 6.变体(Variant)数据类型 • Variant数据类型是VB对所有未定义的变量的缺省数据类型的定义,又称为万用数据类型。 • 变体数据类型对数据的处理完全取决于上下文需要。变体型包括数值型、日期型、对象型、字符型等数据类型。通过VarType函数可以检测Variant型变量中保存的具体的数据类型。

  11. 3.2 变量与常量 • 将存放数据的内存单元命名,该内存单元称为变量,其名字就是变量名。 • 变量——程序运行过程中其值可以改变的量。(而常量值不变)。

  12. 3.2.1 变量 1. 命名规则 • 必须以字母或汉字开头,由字母、数字和下划线组成,长度不得超过255个字符。 • 不得使用VB中的关键字。 • 不区分大小写。(建议:变量首字母一般大写,其余用小写。常量全部用大写字母。)

  13. 2. 变量声明 (1)用Dim语句显式声明变量 语法为:Dim 变量名 [As 类型] 类型:缺省时表示变体类型,可用类型说明符代替。 • 例如:Dim a As Integer 等价于 Dim a% Dim b As Single 等价于 Dim b! • Dim a,b,c as integer——只有c是整型,a,b为变体型。 • 变量的默认初值:数值型(0) • string("“),Boolean(False),Date(0/0/0) • 定长字符串:Dim S as String*10,多截少补(右侧空格)。 • 其他声明方式:Static、Public、Private

  14. (2)隐式声明 • VB允许对变量不加声明而直接使用,称为隐式声明。此时变量类型为变体类型。 • 但是这样做可能由于变量名的误写而产生不良后果。例如: Dim x%,y! x=100 y=x/n • 对初学者,建议对变量显式声明;或在通用声明段使用”Option Explicit”强制显式声明

  15. 常量——程序运行过程中其值不变的量。VB三种常量:直接常量、用户声明的符号常量、系统提供的常量。常量——程序运行过程中其值不变的量。VB三种常量:直接常量、用户声明的符号常量、系统提供的常量。 • 1.直接常量 • 各种类型的常数,其值反映其类型,也可在常数值后紧跟类型符说明其数据类型。例如:123、123&、123.45、1.234E2、123D3、&O123、&H123。 • 八进制常数:前缀——&O,如:&O123 • 十六进制常数:前缀——&H,如:&H123 3.2.2 常量

  16. 2. 用户定义的符号常量 • 用户可以使用Const语句来定义常量: Const 符号常量名 [As 类型] = 表达式 • 符号常量名:命名规则同变量; • 表达式:由数值常量、字符串常量以及运算符所组成。 • 常量一旦声明,其后代码中不能改变其值。 • 例如: Const Pi=3.14159 Const N as interger=10 Const M!=99.9

  17. 3. 系统提供的常量 • 内部或系统定义的常量是VB和控件提供的。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。 • 例如: • WindowState的值0、1、2对应的常量为:vbNormal、vbMinimized、vbMaximized。 • 颜色常量:vbred、vbgreen、vbblue……

  18. 3.3 运算符和表达式 3.3.1 运算符(四类) 1.算术运算符 2.字符串运算符 3.关系运算符 4.逻辑运算符

  19. 1.算术运算符 用于数学计算,有8个(其中减号运算符和取负运算符形式相同),其中只有取负“-”是单目运算符,其它均为双目运算符。下表按照优先级别的高低列出了算术运算符。 • 算术运算符

  20. 2.字符串运算符 字符串运算符有“&”和“+”两个,如表所示 • 字符串运算符

  21. 3.关系运算符 关系运算符属于双目运算符,用来对两个表达式的值进行比较,比较的结果为逻辑值,即若关系成立则返回True,否则返回False。在VB中,分别用-1和0表示True和False。表3-3列出了VB中的关系运算符。 • 表3-3 关系运算符

  22. 4.逻辑运算符 逻辑运算符的作用是将操作数进行逻辑运算,结果是逻辑值True 或False。逻辑运算符中,除Not为单目运算符外,其他都为双目运算符。 • 表3-4 逻辑运算符

  23. 3.3.2 表达式 表达式由变量、常量、运算符、函数和圆括号按一定的规则组成,表达式的运算结果的类型由参与运算的数据类型和运算符共同决定。 根据表达式中运算符的类别可以将表达式分为算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等。 1.表达式的组成 2.表达式的书写规则 乘号(*)不能省略。 只能使用小括号(),且必须配对。 表达式从左到右在同一基准上书写,无高低、大小之分。 不能出现非法的字符,如π。

  24. 3.不同数据类型的转换 如果表达式中操作数具有不同的数据精度,则将较低精度转换为操作数中精度最高的数据精度,即按Integer<Long<Single<Double<Currency的顺序转换,且Long型数据和Single型数据进行运算时,结果总是Double型数据。 4.优先级 当表达式中存在多种运算符共存时,按如下优先级的先后进行运算: 算术运算符>字符运算符>关系运算符>逻辑运算符 例:Age小于19,Total高于285,Mark1~Mark3中有一门是100。分析下列表达式: Age<19 And Total>285 And Mark1=100 or Mark2=100 Or Mark3=100

  25. 3.4 常用内部函数 1. 数学函数 2. 转换函数 3. 字符串函数 4. 日期和时间函数 5. 格式输出函数 6. Shell函数

  26. 1.数学函数 • 常用数学函数

  27. 2.转换函数 • Asc()函数:一个字符串首字符的ASCⅡ码值。 • Chr()函数:ASCⅡ码值转换成字符 。 • Val()函数:数字字符串转换为数值。 • Str()函数:数值转换为字符串。 • Hex()函数:十进制转换成十六进制。 • Oct()函数:十进制转换成八进制值。 • Int()函数:不大于给定数的最大整数,如:Int(3.6) 结果为3。 • Fix()函数:取整。如:Fix(-3.6)结果为-3。 • Round()函数:四舍五入取整。 • Lcase()函数:大写转小写。 • Ucase()函数:小些转大写。

  28. 在立即窗口中操作 Chr()函数:ASCⅡ码值转换成字符 : ? Chr(65) A Val()函数:数字字符串转换为数值: ? Val("1234")+ Val("4321") 5555 例题2.9 txtResult.Text = Val(txtAdd1.Text) + Val(txtAdd2.Text)

  29. Hex()函数:十进制转换成十六进制: 256

  30. 3.字符串函数 • 常用字符串函数

  31. 表(续)常用字符串函数

  32. 4.日期和时间函数 • 常用日期函数

  33. 3.4.5 格式输出函数(Format) • Format(<表达式>,<格式字符串>) • Private Sub Form_Click() • Print Format(2.71828,”#####.##” • End Sub

  34. 3.4.6 Shell()函数 • Shell()函数的作用是在VB中调用一个可执行文件,返回一个 Variant (Double),如果成功调用的话,该值代表这个程序的任务标识 ID,若不成功,则会返回 0。 • Shell函数的格式为: • Shell(pathname[,windowstyle]) • pathname:要执行的程序名(带路径,可执行文件) • windowstyle:0~4、6,一般取1。 • 例如: • J=shell(“c:\Program Files\Microsoft Visual Studio\VB98\VB6.exe”,1) • J=shell(“notepad.exe”,1)

  35. 3.5 vb程序结构和编码规则 • 编程序如同写文章,有它的书写规则,初学者应严格遵循,否则会出现编译错误。

  36. 1. 程序结构 通用声明 过程块,不分先后

  37. 2.编码规则 (1)VB代码不区分字符的大小写 • 关键字会自动转换为大写字母开头,后续字母为小写。 • 自定义的变量、过程名等,以第一次定义为准,其后的输入自动转换。 (2)书写自由 • 一行可以书写多条语句,各语句之间用冒号”:”分隔 • 一行书写不完的语句,可以在该行后加上续行符(由空格+下划线_组成),然后换行书写。 • 一般一行写一条语句,一行最多255个字符,一条语句最多1023个字符。 (3)注释行以Rem 或撇号“‘”开头 • 只有用撇号引导的注释可以出现在语句之后。 • 可使用“编辑”工具栏中的“设置注释块”命令将选定的若干行语句或文字设置为注释项,也可以使用“解除注释块”命令将选定的若干行解除注释。

  38. 3.5 综合应用 例3.1 字符串替换。 • 掌握三个函数的运用:Instr、Replace和Shell • 方法一、利用Instr函数: • i=instr(text1,text2) • k=i+len(text2) • ls=left(text1,i-1) • text4=ls+text3+mid(text1,k) • 方法二、利用Replace函数:text4=replace(text1,text2,text3) • 方法三、利用Shell函数调用word:i = Shell("c:\program files\microsoft office\office10\winword.exe", 1)

  39. 习题三 课堂练习 • 3.写出vb表达式 (1)abs(x+y)+z^5 (3)10*x+sqr(3*y) (5)1/(1/r1+1/r2+1/r3) • 4.写出vb表达式 (1)chr(int(67+rnd*10)) (3)(x>0 and y>0) or (x<0 and y<0) (5)(x mod 10)*10+x\10 (7)C>=”A” and C=<“Z” or C>=”a” and C=<“z” (9)x>=10 and x<20 (11)x>z and y>z The end

More Related