《第3章 数据类型 运算符 表达式精选文档.ppt》由会员分享,可在线阅读,更多相关《第3章 数据类型 运算符 表达式精选文档.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 数据类型 运算符 表达式本讲稿第一页,共四十九页3.1编码基础编码基础3.1.1 简单语旬简单语旬1.赋值语向赋值语向 【LET】目的操作符】目的操作符=源操作符源操作符 目的操作符:是变量、对象的属性,目的操作符:是变量、对象的属性,源操作符:是变量、常量、表达式或对象的属源操作符:是变量、常量、表达式或对象的属性值。性值。其中赋值符号其中赋值符号“”不是数学中的等号。不是数学中的等号。赋值号的左右不满足交换律。赋值号的左右不满足交换律。如:如:A=5 ,是把,是把5这个值送给了这个值送给了A变量,即变量,即A5,而,而5=A错误错误 B=3+5,即,即B8 Name=“张三张三”T
2、ext1.Text=“Hello”本讲稿第二页,共四十九页 一个变量可以多次赋值,但只保留最后一次一个变量可以多次赋值,但只保留最后一次的赋值结果。的赋值结果。N=1 N=5 执行上两条语句后,变量执行上两条语句后,变量N中值是中值是5。赋值语句兼有计算与赋值双重功能。赋值语句兼有计算与赋值双重功能。目的操作符与源操作符的数据类型必须一致。目的操作符与源操作符的数据类型必须一致。本讲稿第三页,共四十九页2.注释语句注释语句注释语句有两种:注释语句有两种:“Rem”关键字和关键字和“”单引号单引号功能:功能:“Rem”和和“”开头的语句忽略其后面得开头的语句忽略其后面得内容。内容。Rem 一般占
3、据一整行,若写在其它语句后一般占据一整行,若写在其它语句后面,要用语句分隔符面,要用语句分隔符“:“”注释可以和语句同行,并写在其后面,注释可以和语句同行,并写在其后面,也可占一行。也可占一行。利用注释语句屏蔽一条语句用来发现问题所利用注释语句屏蔽一条语句用来发现问题所在。在。本讲稿第四页,共四十九页例如:例如:Private Sub Private Sub Form_Click()Text1.Text=Welcome!在文本框中写欢迎词在文本框中写欢迎词在文本框中写欢迎词在文本框中写欢迎词 Text2.Text=Hello!Rem Rem 在文本框中写入问候语在文本框中写入问候语在文本框中写
4、入问候语在文本框中写入问候语 Print Text1.Text :Rem Rem 打印欢迎词打印欢迎词打印欢迎词打印欢迎词 End sub End sub本讲稿第五页,共四十九页3.暂停语向暂停语向 格式为:格式为:Stop 可以放在过程中的任何地方。可以放在过程中的任何地方。当程序执行该语句时,将自动打开立即当程序执行该语句时,将自动打开立即窗口,主要作用是把解释程序置为中断窗口,主要作用是把解释程序置为中断(Break)模式,以便进行检查和调试。模式,以便进行检查和调试。调试结束后,应在生成可执行文件之前,调试结束后,应在生成可执行文件之前,删去代码中的所有删去代码中的所有Stop语句。语
5、句。本讲稿第六页,共四十九页4.结束语句结束语句VB中使用中使用END语句来强迫终止程序的执行。语句来强迫终止程序的执行。语法格式语法格式:End 例如:下面的过程,当单击命令按钮例如:下面的过程,当单击命令按钮 Command1时,结束程序的运行。时,结束程序的运行。Private Sub Command1_Click()End End Sub其它结束语句:其它结束语句:End Sub End Function End If End Type End Select 本讲稿第七页,共四十九页3.1.2 编码规则与约定编码规则与约定(一)编码规则(一)编码规则1VB代码中不区分字母的大小写。代码
6、中不区分字母的大小写。2同同一一行行上上可可以以书书写写多多条条语语句句,但但语语句句间间要要用用冒冒号号“:”分隔。分隔。3若若一一行行不不能能写写下下全全部部语语句句,或或在在特特别别需需要要换换行行时时,需需在在本本行行后后加加入入续续行行符符,1个个空空格格加加下下划划线线“_”。4一行最多允许一行最多允许255个字符。个字符。5在程序转向时需用到标号,标号是以字母开始而在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。以冒号结束的字符串。本讲稿第八页,共四十九页1.对于对于VB中的关键字其首字中的关键字其首字 母大写,其余字母母大写,其余字母小写小写。2.通常不使用行号。
7、通常不使用行号。3.对象名命名约定:每个对象的名字由对象名命名约定:每个对象的名字由3个小写个小写字母组成的前缀(指明对象的类型)和表示字母组成的前缀(指明对象的类型)和表示该对象作用的缩写字母组成该对象作用的缩写字母组成。如命令按钮前。如命令按钮前缀:缀:cmd。(二)(二)约定约定本讲稿第九页,共四十九页3.2 数据类型数据类型3.2.1 标准数据类型标准数据类型本讲稿第十页,共四十九页3.2.2自定义类型自定义类型在模块级别中使用,用于定义包含一个或多在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。个元素的用户自定义的数据类型。使用形式:使用形式:Type自定义类型名
8、自定义类型名元素名元素名(下标下标)As类型名类型名元素名元素名(下标下标)As类型名类型名.EndType见下例见下例本讲稿第十一页,共四十九页TypeStudentXhAsLongXmAsStringXbAsStringNlAsIntegerScoreAsSingleEndType例如例如:对于一个学生的对于一个学生的“学号学号”、“姓名姓名”、“性别性别”、“年龄年龄”、“入学成绩入学成绩”等数据,为了处理等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数数据的方便,常常需要把这些数据定义成一个新的数据类型(如据类型(如Student类型)。类型)。本讲稿第十二页,共四十九页
9、3.3 3.3 常量和变量常量和变量3.3.1常常量量在程序运行过程中,其值不能被改变的量称为常在程序运行过程中,其值不能被改变的量称为常量。在量。在VB中有三类常量:中有三类常量:普通常量普通常量符号常量符号常量系统常量系统常量一、普通常量一、普通常量1整型常量整型常量(1)整型()整型(Integer):):十进制:表示十进制:表示-32768至至32767之间的整数之间的整数例如:例如:101100八进制:八进制:&或或&O,其范围,其范围&0&177777如:如:&123、&O277十六进制:十六进制:&H或或&h,范围范围&H0&HFFFF如:如:&H56、&H7F本讲稿第十三页,共
10、四十九页(2)长整型()长整型(Long):):4个字节个字节 1)十进制整数)十进制整数 表示表示-2,147,483,648至至2,147,483,647之间的整数之间的整数 如如125,0,-89,202)八八进进制制整整数数。以以&或或&O(字字母母O)开开头头的的整整数数是八进制整数,是八进制整数,如如&O25表示八进制整数表示八进制整数25,即,即(25)8,等于十进制数等于十进制数21。3)十六进制。以)十六进制。以&H开头的整数是十六进制整数,开头的整数是十六进制整数,如如&H25表示十六进制整数表示十六进制整数25,即,即(25)16,等于十进制数等于十进制数37。VB中的颜
11、色数据常常用十六进制中的颜色数据常常用十六进制整数表示。整数表示。本讲稿第十四页,共四十九页2、实型常量、实型常量1)单精度实型(单精度实型(Single):有效数为):有效数为7位位表示表示-3.37E+38至至3.37E+38之间的实数之间的实数2)双精度实型()双精度实型(Double):有效数为):有效数为15位位实型常量的表示:实型常量的表示:1)十十进进制制小小数数形形式式。它它是是由由正正负负号号(+,-)、数数字字(09)和和小小数数点点(.)或或类类型型符符号号(!、#)组组成成,即即n.n,n!或或n#,其其中中n是是09的的数数字字。例例如如0.123、.123、123.
12、0、123!、!、123#等都是十进制小数形式。等都是十进制小数形式。2)指数形式。)指数形式。nEm或或n.nEm,nDm或或n.nDm例:例:1.25E+3和和1.25D+3相当于相当于1250.0或者或者1.25103。本讲稿第十五页,共四十九页3、字符串常量字符串常量在在VB中中字字符符串串常常量量是是用用双双引引号号“”括括起起的的一一串串字字符符,例例如如“ABC”,“abcdefg”,“123”,“0”,“VB程程序序设计设计”等。等。说说明明:(1)字字符符串串中中的的字字符符可可以以是是所所有有西西文文字字符符和和汉汉字字、标标点点符符号号等等;(2)表表示示空空字字符符串串
13、,而而表表示示有有一一个个空空格格的的字字符符串串;(3)若若字字符符串串中中有有双双引引号号,例例如如ABDXYZ,则则用用连连续续两两个个双双引引号号表表示示,即:即:ABDXYZ4、逻辑(、逻辑(Boolean)数据类型)数据类型只有两个值只有两个值True,或,或False。将逻辑数据转换成整型时:将逻辑数据转换成整型时:True为为-1,False为为0;其它数据转换成逻辑数据时:其它数据转换成逻辑数据时:非非0为为True,0为为False。本讲稿第十六页,共四十九页5、日期常量、日期常量日日期期(Date)型型数数据据按按8字字节节的的浮浮点点数数存存储储,表表示示日日期期范范围
14、围从从公公元元100年年1月月1日日9999年年12月月31日日,而而时间范围从时间范围从0:00:0023:59:59。可被认作日期和时间的字符,可被认作日期和时间的字符,只要用号码符只要用号码符“#”括起来,括起来,都可以作为日期型数值常量。都可以作为日期型数值常量。例例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#说明:说明:当数值表示日期数据时,整数部分代表日当数值表示日期数据时,整数部分代表日期,而小数部分代表时间;期,而小数部分代表时间;0为午夜,为午夜,0.5为中午为中午12点。负数表示公元点。负数表示公元1899年年12月月31
15、日之前的日期和时日之前的日期和时间。间。如如-2.5 代表代表 1899-12-28 12:00:00 本讲稿第十七页,共四十九页二、符号常量二、符号常量在程序中,某个常量多次被使用,则可以使用一在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,使书写更方便,改进了程序的个符号来代替该常量,使书写更方便,改进了程序的可读性和可维护性。可读性和可维护性。VB中中关键字关键字Const声明符号常量。声明符号常量。格式:格式:Const常量名常量名As类型类型|类型符号类型符号=常数表达式常数表达式例如:例如:Const PI#=3.1415926535 等价于:等价于:ConstPIA
16、sDouble=3.1415926535三、系统常量三、系统常量VB系统提供了应用程序和控件的系统定义常数。系统提供了应用程序和控件的系统定义常数。它们存放于系统的对象库中,在它们存放于系统的对象库中,在“对象浏览器对象浏览器”中的中的VisualBasic(VB)和和VisualBasicforapplications(VBA)对象库中列举了)对象库中列举了VisualBasic的的常数常数本讲稿第十八页,共四十九页例如,要将文本框例如,要将文本框Text1的前景颜色设置为红色,的前景颜色设置为红色,可以使用下面的语句:可以使用下面的语句:Text1.ForeColor=vbRed这里的这里
17、的vbRed就是系统常量。这比直接使用就是系统常量。这比直接使用16进制进制数来设置要直观得多。数来设置要直观得多。又又如如,窗窗口口状状态态属属性性WindowsState可可取取0,1,2三三个个值值,对应三种不同状态。对应三种不同状态。在程序中使用语句在程序中使用语句Myform.WindowsState=vbMaxmized,将窗口极大化,将窗口极大化,显然要比使用语句显然要比使用语句Myform.WindowsState=2易于阅易于阅读和理解读和理解。本讲稿第十九页,共四十九页一一.变量和常量的命名规则变量和常量的命名规则 1.以字母或汉字开头,后可跟字母、数字或下划线以字母或汉字
18、开头,后可跟字母、数字或下划线组成,长度小于等于组成,长度小于等于40个字符;个字符;2.不能使用不能使用VB中的关键字;中的关键字;3.VB中不区分变量名的大小写中不区分变量名的大小写.A1和和a1相同相同 4.为了增加程序的可读性,可在变量名前加一个缩为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。写的前缀来表明该变量的数据类型。例如:例如:strAbc,(字符串变量)(字符串变量)iCount,(整型变量)(整型变量)dblx,(双精度变量)(双精度变量)sYz (单精度变量)(单精度变量)3.3.2变变量量本讲稿第二十页,共四十九页二二.变量声明变量声明1.用
19、用Dim语句显式声明变量语句显式声明变量 形式:形式:Dim 变量名变量名 AS 类型类型 Dim 变量名变量名类型符类型符例例 Dim iCount As integer,sum As single 等价于等价于 Dim iCount%,sum!2.隐式声明隐式声明 Visual Basic允许用户在编写应用程序允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是所有隐式声明的变量都是Variant数据类型。数据类型。Visual Basic根据
20、程序中赋予变量的值来自根据程序中赋予变量的值来自动调整变量的类型。动调整变量的类型。本讲稿第二十一页,共四十九页例例如如:下下面面是是一一个个很很简简单单的的程程序序,其其使使用用的的 变量变量a,b,Suma,b,Sum都没有事先定义。都没有事先定义。Private Sub Form_Click()Sum=0a=10:b=20Sum=a+bPrint Sum=;SumEnd Sub本讲稿第二十二页,共四十九页 良好的编程习惯都应该是良好的编程习惯都应该是“先声明变量,后使用先声明变量,后使用变量变量”,为了避免写错变量引起麻烦,使,为了避免写错变量引起麻烦,使VB只只要遇到未经声明的变量名就
21、发出错误警告,要遇到未经声明的变量名就发出错误警告,Visual Basic 中可以中可以强制显式声明。强制显式声明。可以在窗体模块、标准模块和类模块的通用声明可以在窗体模块、标准模块和类模块的通用声明段中加入语句:段中加入语句:Option Explicit 或或“工具工具”菜菜单选取单选取“选项选项”命令,在命令,在“对话框对话框”中单击中单击“编编辑器辑器”再复选再复选“要求变量声明要求变量声明”选项。选项。3强制显式声明强制显式声明OptionExplicit语句语句本讲稿第二十三页,共四十九页3.4 运算符和表达式运算符和表达式一一.运运算符算符 四类:算术运算符、字符串运算符、关系
22、运算四类:算术运算符、字符串运算符、关系运算和逻辑运算符。和逻辑运算符。1.算术运算符算术运算符(均是双目运算,(均是双目运算,ia=3)例:例:5+10 mod 10 9/3+2 2 结果是:结果是:10 优先级优先级 运算符运算符 运算运算 例子例子 结果结果 1 乘方乘方 32 9 2 -取负取负 -3 -3 3 *乘法乘法 3*5 15 3 /浮点除法浮点除法 10/3 3.333333333333 4 整数除法整数除法 103 3 5 Mod 取模(取余取模(取余)10Mod3 1 6 +加法加法 2+3 5 6 -减法减法 2-3 -1 上例分析:上例分析:22(结果结果4)9/3
23、(结果结果3)103(结果结果3)10mod3(结果结果1)5+1+4(结果(结果10)本讲稿第二十四页,共四十九页2.字符串运算符与字符串表达式字符串运算符与字符串表达式 字符串运算符有:字符串运算符有:“”、“+”。功功能是字符串连接能是字符串连接 例如:例如:ABCD+EFGHI 结果为:结果为:ABCDEFGHI “VB”&“程序设计教程程序设计教程”结果为:结果为:VB程序设计教程程序设计教程说明:说明:当连接符两旁的操作量都为字符串时,当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:上述两个连接符等价。它们区别是:+(连接运算):两个操作数均应为字符串(连接运算)
24、:两个操作数均应为字符串类型;类型;&(连接运算):两个操作数既可为字符型(连接运算):两个操作数既可为字符型也可为数值型,是数值型时,系统自动先将也可为数值型,是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。其转换为数字字符,然后进行连接操作。本讲稿第二十五页,共四十九页100 +123 100 +123 结果为结果为 223 223100 +123 100 +123 结果为结果为 100123 100123 Abc+123 Abc+123 出错出错 100&123 100&123 结果为结果为 100123 100123 100&123 100&123 结果为结果为 10012
25、3 100123 Abc&123 Abc&123 结果为结果为 Abc123 Abc123 Abc&123 Abc&123 结果为结果为 Abc123 Abc123注意:使用运算符注意:使用运算符“&”时,变量与运算符时,变量与运算符“&”之间应之间应加一个空格。这是因为符号加一个空格。这是因为符号“&”还是长整型的类型定义符,还是长整型的类型定义符,如果变量与符号如果变量与符号“&”接在一起,接在一起,VB系统先把它作为类型定系统先把它作为类型定义符处理,因而就会出现语法错误。义符处理,因而就会出现语法错误。本讲稿第二十六页,共四十九页3.4.3 关系运算符与关系表达式关系运算符与关系表达式
26、 关系运算符都是双目运算,是用来比较两个运算关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为若关系成立,结果为True,若关系不成立,结果为,若关系不成立,结果为False。VB中的关系运算符如下表所示。中的关系运算符如下表所示。本讲稿第二十七页,共四十九页运算符运算符含义含义优先级优先级实例实例结果结果小于小于所有关系运算所有关系运算优先级相同。优先级相同。低于算术运算低于算术运算的加的加“+”,减减“-”运算,运算,高于逻辑非高于逻辑非“Not”运算。运算。15+1020False=小于或等
27、于小于或等于10大于大于1020False=大于或等于大于或等于This=ThatTrue=等于等于This=ThatFalse不等于不等于ThisThatTrueLike字符串匹配字符串匹配ThisLike*isTrueIs对象比较对象比较本讲稿第二十八页,共四十九页关系运算的规则如下:关系运算的规则如下:(1 1)当两个操作式均为数值型,按数值大小比较。)当两个操作式均为数值型,按数值大小比较。(2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右一一比较码值从左到右一一比较,直到出现不同的字符为止直到出现不同的字符为止.。例:例:ABCDEABRA结果为结果为False
28、“23”189,按数值比较,结果为,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较,如:如:77sdcd,不能比较,系统出错。,不能比较,系统出错。(5)“Like”运运算算符符是是VB6.0新新增增加加的的。与与通通配配符符结结合合使使用。其使用格式为:用。其使用格式为:str1Likestr2如:如:“aBBBa”Like“a*a”结果为结果为True“aBBBa”Like“abbba”结果为结果为False本讲稿第二十九页,共四十九页 3.4.4 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 Not(逻辑非逻辑非)单目运算
29、符(一个操作数),其它为双目运算单目运算符(一个操作数),其它为双目运算符。符。条件表达式条件表达式1And条件表达式条件表达式2条件表达式均为条件表达式均为T结果为结果为T条件表达式条件表达式1Or条件表达式条件表达式2条件表达式有一个条件表达式有一个T结果为结果为T本讲稿第三十页,共四十九页说明:说明:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻(逻辑非),最高辑非),最高Imp(逻辑蕴含)最低。(逻辑蕴含)最低。,但它低于关但它低于关系运算。系运算。(2)VB中常用的逻辑运算符是中常用的逻辑运算符是Not、And和和Or。它们用于将多个关系表达式进行逻辑。它们用
30、于将多个关系表达式进行逻辑判断。判断。(XorEqvImp)例如:表示某个数在某个区域时用表达式:例如:表示某个数在某个区域时用表达式:10X=10AndX8)的结果为True (38)And(58)Or(53)Xor(5=字符运算符字符运算符关系运算符关系运算符逻辑运算逻辑运算说明:说明:1当当一一个个表表达达式式中中出出现现多多种种运运算算符符时时,首首先先进进行行算算术术运运算算符符,接接着着处处理理字字符符串串连连接接运运算算符符,然然后后处处理理比比较较运运算算符符,最最后后处处理理逻逻辑辑运运算算符符,在在各各类类运运算算中再按照相应的优先次序进行。中再按照相应的优先次序进行。2可
31、以用括号改变优先顺序,强令表达式的某些可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。算。对于多重括号,总是由内到外。本讲稿第三十四页,共四十九页.表达式的书写中需注意的问题表达式的书写中需注意的问题(1)运算符不能相邻。)运算符不能相邻。例例a+-b是错误的。是错误的。(2)乘号不能省略。)乘号不能省略。例例x乘以乘以y应写成:应写成:x*y(3)括号必须成对出现,均使用圆括号。)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准线书写,不能出现上下标。)表达式从左
32、到右在同一基准线书写,不能出现上下标。(5)要注意各种运算符的优先级别,为保持运算顺序,在写)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号()表达式时需要适当添加括号(),若用到库函数必须按库函要求书若用到库函数必须按库函要求书写写。如:如:(b-sqr(b*b-4*a*c)/(2*a)(a+b)/(a-b)本讲稿第三十五页,共四十九页例:设a=3,b=5,c=-1,d=7 a+bc+d And a=5 Or Not c0 Or dc+d And a=5 Or Not c0 Ord6 And a=5 Or Not C0 Or d6:True T And a=5 Or
33、 Not C0 Or d=5:False T And F Or Not C0 Or d0:False T And F Or Not F Or d0d=0(3)要注意函数的值域。)要注意函数的值域。如:如:exp(23773)的值就超出实数在计算机中的表的值就超出实数在计算机中的表示范围。示范围。3.5常用内部函数常用内部函数本讲稿第三十七页,共四十九页 1.数学函数数学函数 常用的数学函数常用的数学函数 三角函数:三角函数:Cos(N)Sin(N)Tan(N)Atn(N)注意:注意:在三角函数中的自变量是以弧度为单位。在三角函数中的自变量是以弧度为单位。如:如:sin300 sin(3.141
34、59/180*30)绝对值、平方根:绝对值、平方根:Abs(N)Sqr(N)取整函数取整函数:Int(N)不大于不大于N的最大整数的最大整数 Fix(N)去掉去掉N的小数部分,保留其整数部分的小数部分,保留其整数部分 例例 Int(3.6)结果为结果为3 ,Int(-2.3)结果为结果为-3 例例 Fix(-8.6)结果为结果为-8,Fix(5.6)结果为结果为5指数、对数函数指数、对数函数 Exp(N)Log(N)符号函数:符号函数:Sgn(N)返回返回N的符号。的符号。N为负数为负数 函数返回函数返回-1;N为为0 函数返回函数返回0;N为正数数为正数数 函数返回函数返回1 本讲稿第三十八
35、页,共四十九页随机函数随机函数Rnd(N)Rnd函数返回函数返回01(包括(包括0和不包括和不包括1)之间的双)之间的双精度随机数。精度随机数。说明说明:N0,以上一个随机数为种子产生下一个随机数,以上一个随机数为种子产生下一个随机数,无无N参数,以上一个随机数为种子产生下一个随参数,以上一个随机数为种子产生下一个随机数机数Randomizen用于产生新用于产生新“种子种子”,省略省略n则根则根据系统时钟获得种子。据系统时钟获得种子。若要产生若要产生1-100的随机整数:的随机整数:Int(Rnd*100)+1怎样产生怎样产生N,M区间的随机数区间的随机数公式:公式:Int(M-N+1)*Rn
36、d+N)产生产生3,10的随机整数?的随机整数?本讲稿第三十九页,共四十九页 2.转换函数转换函数(1)常用的转换函数常用的转换函数 Asc(x):字符转换成字符转换成ASCII码值码值 Asc(“a”)返回返回97 Asc(“A”)返回返回65 Chr$(x):ASCII码值转换为字符码值转换为字符 Chr$(65)返回返回“A”Str$(x):数值转换为字符串数值转换为字符串 Str$(123.45)返回返回“123.45”Val(x):数字字符串转换为数值数字字符串转换为数值 Val(“123AB”)返回返回123 Val(“&HFF”)返回返回255 Hex(x):十进制转换为十六进制
37、十进制转换为十六进制 Hex(32)返回返回20 Oct(x):十进制转换为八进制十进制转换为八进制 Oct(32)返回返回40注意:注意:Asc(Abcd)值为:值为:65 (只取首字母的(只取首字母的Ascii值)值)Val(abc123)值为:值为:0,Val(1.2sa10)值为值为1.2Val()函数只将最前面的数字字符转换为数值。转换时遇到非函数只将最前面的数字字符转换为数值。转换时遇到非数字字符(除数字字符(除“-”,“.”外)转换终止外)转换终止本讲稿第四十页,共四十九页(2)数据类型转换函数)数据类型转换函数CBool(x)将将x的值转换为的值转换为Boolean类型值。类型
38、值。X0 返回返回TrueCByte(x)把参数把参数X转换为转换为Byte类型值类型值CCur(x)把把x的值转换为货币类型值,小数部分最多保的值转换为货币类型值,小数部分最多保 留留4位且自动四舍五入。位且自动四舍五入。CDate(x)把字符表达式把字符表达式x 转换成转换成Date类型值类型值CDbl(x)把把x的值转换为双精度数的值转换为双精度数CInt(x)把把x的小数部分四舍五入转换为整型数的小数部分四舍五入转换为整型数CLng(x)把把x的小数部分四舍五入转换为长整型数的小数部分四舍五入转换为长整型数CSng(x)把把x的值转换为单精度数的值转换为单精度数CStr(x)把数值把数
39、值 x 转换成字符串类型值转换成字符串类型值CVar(x)将将x的值转换为变体类型值。的值转换为变体类型值。如:如:CDate(“11/02/2003”)返回返回03-02-11本讲稿第四十一页,共四十九页3.字符串操作函数字符串操作函数LTrim$(字符串字符串):去掉字符串左边的前导空白字去掉字符串左边的前导空白字符符RTrim$(字符串字符串):去掉字符串右边的尾随空白去掉字符串右边的尾随空白字符字符Trim$(字符串字符串):去掉字符串左、右两边的空白去掉字符串左、右两边的空白字符字符Left$(字符串字符串,n):截取字符串左部的前截取字符串左部的前n个字符个字符Right$(字符串
40、字符串,n):截取字符串右部的最后截取字符串右部的最后n个个字符字符Mid$(字符串字符串,p,n):从第从第p个字符开始向后截个字符开始向后截取取n个字符,若省略个字符,若省略n则截取到字符串的末尾则截取到字符串的末尾Len(字符串字符串):测试字符串的长度测试字符串的长度本讲稿第四十二页,共四十九页 String$(n,字符):字符):返回返回n个重复的字符个重复的字符(若是多个,只重若是多个,只重复第一个)复第一个)Space$(n):返回返回n个空格个空格InStr(字符串字符串1,字符串字符串2):返回字符串返回字符串2在字符串在字符串1中的位中的位置,若找不到结果为置,若找不到结果
41、为0Ucase$(字符串字符串);Lcase$(字符串字符串)把小写字母转换为大写;把大写字母转换为小写把小写字母转换为大写;把大写字母转换为小写注:注:当函数返回值是字符串类型时,字符串函数当函数返回值是字符串类型时,字符串函数名后面的名后面的“$”符可以省略。符可以省略。例如:例如:len(This is a book!)15 Left$(ABCDEFG,3)ABC Mid$(ABCDEFG,2,3)BCD InStr(2,“ABCDEFGEF”,“EF”)5(第一次(第一次出现的位置)出现的位置)本讲稿第四十三页,共四十九页 日期和时间函数用于提取计算机系统的当前日日期和时间函数用于提取
42、计算机系统的当前日期和时间(无参数)期和时间(无参数)Now 返回系统日期和时间返回系统日期和时间 Date 返回系统日期返回系统日期 Time 返回系统时间返回系统时间 Year(返回年份)、(返回年份)、Month(返回月份)、(返回月份)、Day(d)(返回)(返回d指定月份的第几天)指定月份的第几天)Hour(返回小时)、(返回小时)、Minute(返回分钟)、(返回分钟)、Second(返回秒)、(返回秒)、Weekday(返回星期几)(返回星期几)等函数信息。等函数信息。4.日期、时间函数日期、时间函数本讲稿第四十四页,共四十九页5.格式输出函数格式输出函数格式:格式:Format
43、$(表达式(表达式,“格式字符串格式字符串”)功能:按用户指定格式返回表达式,常用在功能:按用户指定格式返回表达式,常用在print方法中。方法中。使用形式:使用形式:printFormat$(表达式(表达式,“格式字符串格式字符串”)表达式:可以是数值、日期或字符串型表达式。表达式:可以是数值、日期或字符串型表达式。格式字符串:表示输出表达式时采用的输出格式。格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串是不同的。不同数据类型所采用的格式字符串是不同的。本讲稿第四十五页,共四十九页(1)数值型数据格式化)数值型数据格式化 注意:对于符号:注意:对于符号:0与与#,
44、当数值的实际位数比格,当数值的实际位数比格式控制给定的位数多时,系统将按四舍五入返回式控制给定的位数多时,系统将按四舍五入返回给定的位数。给定的位数。如:如:Format(3.14159,“#.#”)其值为其值为 3.142(2)日期和时间型数据格式化)日期和时间型数据格式化 缺省日期格式为:缺省日期格式为:“mm/dd/yy”,时间格式:时间格式:“hh:mm:ss”(3)字符串类型数据格式化)字符串类型数据格式化6 其它函数其它函数 除上面常用的四类函数,除上面常用的四类函数,VB中还有测试函中还有测试函数、与文件操作有关的函数及其它函数数、与文件操作有关的函数及其它函数 本讲稿第四十六页
45、,共四十九页作业:作业:课后习题课后习题本周实验内容:本周实验内容:实验指导书上实验实验指导书上实验本讲稿第四十七页,共四十九页习题3.1 如何在程序中使用注释?3.2 Visual Basic提供了哪些标准数据类型?声明类型时,其类型关键字各是什么?其类型说明符又是什么?3.3 符号常量与变量有什么区别?什么情况下宜用符号常量?什么情况下宜用变量?3.4 下列哪几个是合法的变量名?ABCde Stringabc_1 ABC123 123Bcd ABC 3.5 如果希望使用变量x来存放数据877438.34243,应该将变量x声明为何种类型?3.6 在Visual Basic中,对于尚未赋值的
46、变量,系统默认值是什么?3.7 Visual Basic的字符串运算符有哪两种?3.8 Visual Basic共有几种表达式?如何确定表达式的类型?3.9 函数Int(Rnd(0)*10)是在哪个范围内的整数?3.10 将下列数学表达式改写成等价的Visual Basic表达式。(1)A B+Cos(35 o)(2)(x+y)+z10-5(a+b)(3)(4)(e2+)(5)(6)3.11 把Visual Basic算术表达式a/(b+c/(d+e/Sqr(f)写成数学表达式。3.12 设a=2,b=3,c=4,d=5,求下列表达式的值。(1)6/a 2(2)4 Mod 7 2*3/2+9
47、2 3 (3)#11/22/01#-10 (4)123 123&ABC&XYZ (5)a*b=8(6)ABD b And c c And b c Or c d (9)Not a=c Or c*4=b 2 And b a+c本讲稿第四十八页,共四十九页3.13 根据所给条件,列出逻辑表达式。(1)闰年的条件是年份(year)能被4整除,但不能被100整除;或者能被400整除。(2)一元二次方程ax2+bx+c=0有实根的条件为:a0,并且b2-4ac 0。(3)x是小于100的非负数。3.14 写出下列函数的值。(1)Int(-3.14159)(2)Sqr(Sqr(64)(3)Fix(-3.14
48、15926)(4)Int(Abs(99-100)/2)(5)Sgn(7*3+2)(6)UCase(Hello)(7)Left(Hello,2)(8)Val(16 Year)(9)Str(-459.65)(10)Len(Hello)3.15 如果x是一个正实数,对x的第3位小数四舍五入的表达式是:(1)0.01*Int(x+0.005)(2)0.01*Int(100*(x+0.005)(3)0.01*Int(100*(x+0.05)(4)0.01*Int(x+0.05)3.16 写出执行以下语句后的输出结果。Print Chr$(65)a$=Good:b$=MorningPrint a+bPrint a&bs$=ABCDEFGHIJKPrint Mid(s,3,4)Print Len(s)Print InStr(s,efg)Print LCase(s)3.17 假定当前日期为2003年2月16日,星期日,请写出执行以下语句后的输出结果。Print Day(Now)Print Month(Now)Print Year(Now)Print Weekday(Now)本讲稿第四十九页,共四十九页