版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据表示及基本运算
2024/11/2223.1.1 数据类型VisualBasic所支持的数据类型,以及存储空间大小与范围数据类型存储空间范围1Byte(字节)1个字节0到2552Boolean(布尔型)2个字节True或False3Integer(整型)2个字节-32,768到32,7674Long(长整型)4个字节-2,147,483,648到2,147,483,6475Single(单精度浮点型)4个字节负数时从-3.402823E38到-1.401298E-45;正数时从1.401298E-45到3.402823E382024/11/223VisualBasic所支持的数据类型,以及存储空间大小与范围数据类型存储空间范围6Double(双精度浮点型)8负数时从-1.79769313486232E308到-4.94065645841247E-324;正数时从4.94065645841247E-324到1.79769313486232E3087Currency(货币型)8从-922,337,203,685,477.5808到922,337,203,685,477.58078Date(日期型)8100年1月1日到9999年12月31日9Object(对象型)4任何Object引用2024/11/224VisualBasic所支持的数据类型,以及存储空间大小与范围数据类型存储空间范围10String(变长字符型)10字节加字符串长度0到大约20亿11String(定长字符型)字符串长度1到大约65,53512Variant(变体数字型)16个字节任何数字值,最大可达Double的范围13Variant(变体字符型)22个字节加字符串长度与变长String有相同的范围14用户自定义(利用Type)所有元素所需数目每个元素的范围与它本身的数据类型的范围相同。2024/11/225常用的数据类型简要说明布尔型数据的值仅有两种,即True(真)或False(假),这种值通常称为逻辑值。当把数值型数转换为布尔型时0会转换为False其他非0值转换为True当把布尔值转换为数值型时False转换为0True转换为-1。1布尔型Boolean2024/11/226常用的数据类型简要说明整型数是指不含有小数和指数的数。例如,序号、年龄、人数等,均可以用整型数来表示。整型数可以有符号,例如:-10,21,100,-5007,等。长整型(Long)与整型(Integer)间的差别取值范围不同在内存所占用的字节数不同。2整型Integer2024/11/227常用的数据类型简要说明浮点型也称为实型,带有小数部分。浮点数分作:小数的有效尾数、指数。小数的有效尾数是数值的数字部分,而指数说明小数点的位置。单精度浮点数(Single)只有7个十进制有效位。在表示一个金额时,如果以元为单位,使用2位来表示角分,则元最多只能用到5位,34028.23就是所能表示的最大精度有效值双精度浮点(Double)数的有效位数最多可达15或16位。3浮点型2024/11/228常用的数据类型简要说明主要目的是为了把计算后的货币的元与分的舍入误差降至最小。如果使用浮点数表示,4.9999999与5.0之间是存在舍入误差的,但在处理金融数据时是不可忽略的。货币型就是为了防止这种问题而设立的。货币型保留有4位小数,整数部分可达15位有效数字。4货币型(Currency)2024/11/229常用的数据类型简要说明或称字符串型,用于存储一切可打印的字符或字符串的序列。例如,姓名、地址、标题等等。字符型根据其长度是否固定分为:变长字符串是指字符的长度是不固定的。其长度不能超过20亿个字符。定长字符串是指它在程序执行过程中,始终保持其长度不变的字符串。其长度不能超过65535个字节。5字符型(String)2024/11/2210常用的数据类型简要说明日期型数据用来表示日期和时间。日期的范围从公元100年1月1日至9999年12月31日。时间的范围从0:00:00到23:59:59。日期型数据用两个“#”符号括起来例如,#10/28/2001#、#17:04:23##10/28/200110:46:01pm#‘在日期与时间部分间用一个空格通常所采用的日期格式为月/日/年(mm/dd/yyyy),时间格式为时:分:秒AM/PM(hh:mm:ssAM/PM)。也可以把日期和时间组合在一起,6日期型(Date)2024/11/2211常用的数据类型简要说明定义自定义类型由Type语句来完成,其语法如下:[Private|Public]Type<类型名><元素名>As<数据类型>[<元素名>As<数据类型>]...EndType例如,希望创建一个描述人的类型定义如下:TypePeople NameAsString*10 SexAsString*2 AgeAsIntegerEndType8)用户自定义2024/11/2212常用的数据类型简要说明变体型可以表示任何数据类型值,包括数值、字符串、日期等。变体型数据表示数值型数据时,占用16个字节的存储空间,最大可达Double类型的取值范围表示字符串时占用的存储空间等于字符串的长度。7)变体型(Variant)2024/11/22133.1.2 变量用标识符标识数据存储单元的方法。先定义后使用。在程序中所体现出的对指定数据的存取就是利用变量来进行的,只要在程序中定义了变量,就可以给这个变量赋值,或使用它的值。2024/11/2214变量命名规则(1)变量名只能由字母、数字和下划线组成。(2)变量名的第一个字符必须是字母,最后一个字符可以是类型符。(3)组成变量名的字符数不超过255个字符。(4)不能用该语言的保留字当作变量名。例如,Count,Chinese_Score,Age%等都是合法的变量名,而8a,A+B,Dim等则是非法的变量名。⑸不区分大小写。2024/11/2215变量命名时注意(1)取名最好使用有明确实际意义。如用sum代表求和、Student_Num代表学生学号等。(2)变量名不宜过长。(3)变量名不能与过程名和符号常量名相同,更不能用该语言的关键字做变量名。(4)尽量采用所用高级程序设计语言建议的变量名前缀或后缀的约定来命名,以便区分变量的类型,如intMax,strName。2024/11/2216变量声明的语句语法Dim<变量名>[As<类型>][,<变量名>[As<类型>]]…例如:DimCountAsInteger,TotalAsDoubleDimSexAsString'定义变长字符串DimNameAsString*10'定义定长字符串如果在声明某变量时没有指定类型,则该变量被默认为Variant类型。2024/11/2217变量初始化使用声明语句建立一个变量后,VisualBasic自动将数值类型的变量初始化为0变长的字符串被初始化为一个零长度的空字符串(“”)定长的字符串则用空格填充Variant变量被初始化为Empty布尔型的变量则为False。 2024/11/2218自定义类型的变量自定义类型的变量也应该在Dim语句中加以说明,然后再使用。例如利用上节中定义的People类型,说明Student变量:
DimStudentAsPeople给Student赋值:Student.Name="林霄"Student.Sex="男"Student.Age=162024/11/2219其他声明语句Public:用来在标准模块中定义全局变量或数组;Static:用于在过程中定义静态变量及数组;Private:用来声明局部变量。这些声明语句将在介绍过程时加以介绍。2024/11/22203.1.3 常量常量是在程序运行过程中不会改变的常数。常量也有类型之分,常用到的常量类型为:数值型、字符串型、日期型和布尔型。在语句中使用常量时,数值型可以直接写出数字字符型用一对双引号把字符串的内容括起来日期型则使用一对井号括起一串按月/日/年格式表示的日期布尔型则使用True或False2024/11/2221数值的指数形式当需要表示一个较大或较小的数值时,可以采用指数形式。例如:1.3023E-16,其意义为1.3023×10-16;2.3342E+14,其意义为2.3342×1014。2024/11/2222符号常数应该先声明、后使用,定义常数的一般格式为:Const<常数名>=<表达式>[,<常数名>=<表达式>…]例如,3.14在程序中多处使用,不妨将其定义为常数PI:ConstPI=3.14声明后,PI在程序中就代表3.14这个值了。可以S=PI*R*RQ=2*PI+2.1254在一行中可放置多个常数声明:ConstPI=3.14,MaxPlanets=9,LCap="项目名称"2024/11/22233.2 函数3.2.1 数学函数3.2.2 字符串函数3.2.3 日期和时间函数3.2.4 类型转换函数2024/11/22243.2.1 数学函数函数说明Sin(x)返回x的正弦值Cos(x)返回x的余弦值Tan(x)返回x的正切值Atn(x)返回x的反正切值其中,x表示一个以弧度为单位的角。为了将角度转换成弧度,请将角度乘以π/180。2024/11/2225例如:DimMyAngleAsDouble,MySecantAsDoubleConstPI=3.1415927MyAngle=63.5MySecant=Cos(MyAngle*PI/180)2024/11/22263.2.1 数学函数函数说明Abs(x)返回x的绝对值Exp(x)返回以e为底,以x为指数的值,即e的x次方Log(x)返回以e为底的自然对数值Sqr(x)返回x的平方根Rnd[(x)]随机数函数Fix(x)截断取整函数Int(x)最大取整函数Sgn(x)返回数的符号值:当x为负数时,函数返回-1;当x为0时,函数返回0;当x为正数时,函数返回12024/11/2227Int(x)和Fix(x)的区别如果x为负数,则Int(x)返回小于或等于x的第一个负整数,而Fix(x)则会返回大于或等于x的第一个负整数。例如,Int(-8.4)转换成-9,Fix(-8.4)转换成-8。2024/11/2228Rnd[(x)]函数说明Rnd函数返回一个随机的Single类型数值,该值小于1但大于或等于0。Rnd函数的参数是可选的。如果参数值小于0,每次都使用参数值作为随机数种子得到相同结果;参数值大于0,返回序列中的下一个随机数;参数值等于0,返回最近生成的数;如果省略参数值,返回序列中的下一个随机数。2024/11/2229Randomize语句在调用Rnd之前,首先应使用一次Randomize语句:Randomize语句初始化随机数生成器,使之每次发出的随机数各不相同,生成一个随机数序列。Rnd函数将从该序列中取一个值作为返回值。例如,Randomizetimer2024/11/2230生成某个范围内的随机整数生成[a,b]范围内的随机整数,可使用以下公式:Int((b-a+1)*Rnd+a)这里,b是随机数范围的上限,而a则是随机数范围的下限。例如,产生一个3位的整数,即[100,999]:Int((999-100+1)*Rnd+100)即Int(900*Rnd)+1002024/11/22313.2.2 字符串函数函数说明Ltrim(字符串)去掉字符串左边的空白字符Rtrim(字符串)去掉字符串右边的空白字符Trim(字符串)去掉字符串左边及右边的空白字符Left(字符串,n)取字符串左部的n个字符Right(字符串,n)取字符串右部的n个字符Mid(字符串,p,n)从位置p开始取字符串的n个字符Len(字符串)测试字符串的长度String(n,字符)返回由n个字符组成的字符串Space(n)返回n个空格Instr([n,]字符串1,字符串2)返回字符串2在字符串1中的位置Ucase(字符串)把小写字母转换成大写字母Lcase(字符串)把大写字母转换成小写字母2024/11/2232例如,求串长Len函数返回参数字符串中包含的字符个数,或是存储一个变量所需的字节数。DimMyLenAsIntegerDimMyCurAsCurrency,MyStringAsString,MynameAsStringMyString="HelloWorld“MyName="袁小霞"
'设置变量初值MyLen=Len(MyString) '返回11MyLen=Len(MyName) '返回3MyLen=Len(MyCur) '返回82024/11/2233例如,取消串的前后空格Ltrim、Rtrim和Trim函数,用于去掉字符串左、右边和前后的空白字符。DimMyStringASString*10,MyNameASString,MyAddASString,MyStrASStringMyString="World"MyName="袁小霞"MyAdd="宏业路"MyStr=Ltrim(MyString) '返回"World"MyStr=Rtrim(MyName) '返回"袁小霞"MyStr=Trim(MyAdd) '返回"宏业路"2024/11/2234例如,取子串Left、Right和Mid函数分别返回字符串中的部分字符。DimMyStringASString,MyStrMyString="VisualBasicApplications"
'设置变量初值MyStr=Left(MyString,6) '返回"Visual"MyStr=Right(MyString,12)
'返回"Applications"MyStr=Mid(MyString,8,5) '返回"Basic"2024/11/2235例如,子串定位Instr函数将返回一个指定字符串在另一字符串中最先出现的位置。DimMyStringASString,MyPosASintegerMyString="VisualBasicApplications"
'设置变量初值MyPos=Instr(MyString,"s")
'返回3如果使用含有3个参数的Instr函数,第一个参数用来说明开始查找的位置。MyPos=Instr(8,MyString,"s")
'返回102024/11/2236例如,
重复字符、空格串、大小写转换String函数用来生成包含n个指定字符的字符串。String(10,”@”)Space函数用来生成包含n个空格符的字符串。Space(5)Ucase函数把字符串中的小写字符全部转换为大写字符。Ucase(“tom”)Lcase函数把字符串中的大写字符全部转换为小写字符。Lcase(“HELLO”)2024/11/22373.2.3 日期和时间函数函数说明Now返回系统当前的日期和时间Date返回系统当前的日期Time返回系统当前时间Day(日期)返回日期中的某一日Weekday(日期)返回日期中的星期Month(日期)返回日期中的月份Year(日期)返回日期中的年份Hour(时间)返回时间中的小时数(0~23)Minute(时间)返回时间中的分钟数(0~59)Second(时间)返回时间中的秒数(0~59)2024/11/22383.2.4 类型转换函数CBool(<表达式>) '把参数的值转换为布尔型CByte(<表达式>) '把参数的值转换为字节型CCur(<表达式>) '把参数的值转换为货币类型CDate(<表达式>) '把参数值转换为日期型CDbl(<表达式>) '把参数值转换为双精度数CInt(<表达式>)
'把参数的小数部分四舍五入,转换为小数CLng(<表达式>)
'把参数的小数部分四舍五入转换为长整型数CSng(<表达式>) '把参数值转换为单精度数CStr(<表达式>) '把参数值转换为字符型CVar(<表达式>) '把参数值转换为变体类型值2024/11/2239Asc和ChrAsc函数返回代表字符串中首字母的字符代码。Chr函数则返回与指定的字符代码相关的字符。例如:MyNumber=Asc("A") '返回65MyNumber=Asc("a") '返回97MyNumber=Asc("Apple") '返回65MyChar=Chr(65) '返回AMyChar=Chr(97) '返回aMyChar=Chr(62) '返回>MyChar=Chr(37) '返回%2024/11/2240Val和StrVal函数将字符串中有效的数字部分转换为数值。Str函数将数值转换为字符串。如:DimXAsDoubleX=val("36.789") 'X的值为36.789X=val("3.76.2729") 'X的值为3.76X=val("a3.76.2729") 'X的值为0DimCasString,XasDoubleX=15.763C=Str(X*2+1.2) 'C的值为"32.726"2024/11/2241DateSerial(<年>,<月>,<日>)DateSerial函数返回一个日期。例如:MyDate=DateSerial(1989,2,12)
'返回日期2/12/1989。2024/11/2242TimeSerial(<时>,<分>,<秒>)TimeSerial函数返回一个时间。其中。例如:MyTime=TimeSerial(9,42,38) '返回时间9:42:38。2024/11/2243Format函数格式如下:Format(<表达式>[,<格式表达式>])下面请看一些例子,有关格式符的请参照课本上的表格2024/11/2244例如,转换数值使用用户自定义格式来转换数值:MyStr=Format(5459.4,"##,##0.00") '返回"5,459.40"MyStr=Format(5,"0.00%") '返回"500.00%"MyStr=Format(25.4,"#####.##\元") '返回"25.4元"MyStr=
Format(334.9,"金额:#######0.00")
'返回"金额:334.90"2024/11/2245例如,转换日期/时间
使用用户自定义格式来转换日期/时间:MyTime=#16:12:47#MyDate=#8/28/2008#MyStr=Format(MyTime,"hh:nn:ss") '返回"16:12:47"MyStr=Format(MyTime,"hh:mm:ssAMPM")
'返回"04:12:47PM"MyStr=Format(MyDate,"dddd,yyyymmdd")
'返回"Thursday,20080828"MyStr=Format(MyDate-20,"yyyy-mm-dd(dddd)")
'返回"2008-08-08(Friday)"2024/11/2246例如,转换字符串使用用户自定义格式来转换字符串:MyStr=“=”&Format(“HELLO”,“&&&&&&&&&&”)&“。”
‘取消空格返回"=HELLO。"MyStr=“=”&Format(“HELLO”,“!@@@@@@@@@@”)&“。”
‘右补空格返回"=HELLO。"MyStr=Format(“HELLO”,“<”)
‘变小写返回"hello"MySt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《全身状态及头颈》课件
- 数学学案:课堂导学二维形式的柯西不等式
- 大班语言活动游子吟
- 临床医疗安全
- 护士节知识竞赛题库及答案100题
- 《如何进行质量成本》课件
- 地震课件教学课件
- 语言水课件教学课件
- 《品牌服装产品规划》课件
- 《呼吸系统教学版》课件
- 新产品试制流程管理办法
- 通用横版企业报价单模板
- Excel 会计记账模板-录入凭证自动生成财务报表(超实用)
- 从高考“函数与导数”压轴题看数学学科核心素养
- 纪检监察干部调研报告
- 装修公司员工劳动合同
- 数控技术毕业论文幻灯片 数控立式铣床工作PPT学习教案
- 机械专业个人职业生涯规划书范文3篇
- 立定跳远教案 (2)
- 企业资源计划(ERP)实验报告
- 塔筒制造质量管理体系工作程序
评论
0/150
提交评论