Basic程序的语句和编码规则.ppt_第1页
Basic程序的语句和编码规则.ppt_第2页
Basic程序的语句和编码规则.ppt_第3页
Basic程序的语句和编码规则.ppt_第4页
Basic程序的语句和编码规则.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

3.1 Visual Basic程序的语句和编码规则 3.2 数据类型 3.3 变量与常量 3.4 运算符和表达式 3.5 常用内部函数 第3章 Visual Basic程序设计语言基础 3.1 Visual Basic程序的语句和编 码规则 3.1.1 编码规则 3.1.2 程序语句 返回退出 3.1.1 编码规则 (1)VB代码不区分字符的大小写,但关键字将会自动转换为大写字 母开头,后续字母为小写字母。 (2)一行可以书写多条语句,各语句之间用冒号“:”分隔。 (3)一行书写不完的语句,可以在该行后加上续行符(由空格+下划 线_组成),然后换行书写。 (4)一行最多为255个字符,一条语句最多含1023个字符。 (6)用户自定义的变量、过程名等,VB以第一次定义为准,其后的 输入自动转换。 (7)程序中可以使用标号用于程序的转向,标号为以字母开头、冒 号结尾的字符串。 (8) 注释行以Rem 或撇号“”开头,但是只有用撇号引导的注释可以 出现在语句之后。可以使用“编辑”工具栏中的“设置注释块”命令将选定 的若干行语句或文字设置为注释项,也可以使用“解除注释块”命令将 选定的若干行解除注释。 (9)对象名命名约定:每个对象名由三个小写字母组成前缀和表示 该对象的作用的缩写字母组成,前缀表明对象的类型,如cmdExit为 一个退出按钮,cmdEnter为一个确认命令按钮。 3.1.2 程序语句 1赋值语句 2注释语句 3暂停语句 4.Exit语句 5.结束语句 6.With 语句 1赋值语句 赋值语句又称为Let语句,其作用是把指定的值赋给某个变量 或某个带有属性的对象。一般格式为: Let目标操作符 = 源操作符 说明: (1)“=”为赋值号,不等于数学意义上的等号。 (2)赋值语句具有赋值和计算的双重功能,即首先计算赋值号 右边的源操作符的值,然后赋给左边的目标操作符。 (3)目标操作符和源操作符应具有相同的数据类型。但不管表 达式是什么类型,都可以赋给一个Variant变量。 (4)如果复合语句(一行有多个语句)含有注释语句,则注释语 句必定是最后一个语句。复合语句的各语句可以是任何合法的VB语 句,但各语句之间必须用冒号隔开。 2注释语句 注释语句的格式: Rem 注释内容 或 注释内容 例如: Please Input Yourname! Rem 请输入你的姓名! 注释语句是非执行语句,不会被解释和编译。注释语句不能放 在续行符的后面。 3暂停语句 暂停语句用来暂停程序的执行,类似于执行“运行”菜单中的“中 断”命令。暂停语句的格式为: Stop 作用:把解释程序设置为中断模式,在程序调试阶段对程序 进行检查,执行Stop语句时,将打开立即窗口。在可执行文 件中执行Stop语句时,将关闭所有文件。在程序调试结束后 ,生成可执行语句之前,应删除程序代码中所有Stop语句。 4.Exit语句 Exit语句用于退出某种控制结构或过程,如: Exit For 、Exit Do、Exit Sub、Exit Function 等。 5.结束语句 结束语句用来正常地结束一个程序的执行。结束语句的格 式为: End 如下面的程序: Private Sub Timer1_Timer() End End Sub 6.With 语句 With 语句的语法为: With 对象 语句块 End With With 语句可以对某个对象执行一系列的语句,而不用重复 指出对象的名称。例如,要改变MyLabel标签对象的多个属性 ,可以在 MyLabel控制结构中加上属性的赋值语句,这时候 只是引用对象一次而不是在每个属性赋值时都要引用它。 With MyLabel .Height = 2000 .Width = 2000 .Caption = “This is MyLabel“ End With 例如: 3.2 数据类型 表3-1 Visual Basic的标准数据类型 数据类型关键字类型 符 前缀所占字节数范 围 字节型Byte无byt10255 逻辑型Boolean无bln2True与False 整型Integer%int2-3276832767 长整型Long&lng4-21474836482147483647 单精度型Single!sng4负数:-3.402823E38-1.401298E-45 正数:1.401298E-453.402823E38 双精度型Double#dbl8负数:-1.79769313486232D308 -4.94065645841247D-324 正数:4.94065645841247D-324 1.79769313486232D308 货币型Currencycur8-922337203685477.5808 922337203685477.5907 日期型Date(time)无dtm801,01,10012,31,9999 字符型String$str 与字符串长度有关 065535个字符 对象型Objiect无obj 4 任何对象引用 变体型Variant无vnt 根据分配确定 3.2.1 基本数据类型 3.2.2 用户自定义数据类型 3.2.3 枚举类型 3.2.1 基本数据类型 1数值型数据(Numeric) 2日期型数据(Date) 3逻辑型数据(Boolean) 4字符型数据(string) 5对象(Object)类型的数据 6变体(Variant)数据类型 1数值型数据(Numeric) 数值型数据一般分为整型数和浮点数两类。整型数分为整数( Integer)和长整数(Long),浮点数分为单精度浮点数(Single )和双精度浮点数(Double)。有时也把货币型数据(Currency )和字节型数据(Byte)划归数值型数据。 1)整数(Integer) 整数是不带小数点和指数符号的数,在机器内部以2字节二 进制码形式表示。VB中用n%来表示整数,其中%为整数的 类型符,可以省略。如-123%、123%都表示整数。 2)长整数(Long) 整数的最大值为32767,大于此数,程序运行时就会因为溢出产生 中断。此时可使用长整数。 长整数用4字节二进制数存储,可以表示更大的整数,其取值范围 为-21474836482147483647。VB中用n&来表示长整数,其中& 为长整数的类型符。如-1234&、987654&都表示长整数。 3)浮点数 浮点数也称为实型数或实数,由符号、指数和尾数组成,分单精度 浮点数(Single)和双精度浮点数(Double),其指数部分分别用 “E”(或“e”)和“D”(或“d”)表示。 4)货币型(Currency) 货币型属于定点实数或整数,用8位字节存储小数点前有15位,小 数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“” 。 5)字节型(Byte) 字节型数据用1个字节的无符号二进制数存储,取值范围为0255。 2.日期型数据(Date) 日期型数据按IEEE64位浮点数值存储,表示的日期从公元100年1 月1日9999年12月31日,时间范围为0:00:0023:59:59。 任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日 期文字必须用符号“#”括起来,如#January 15,2002#,#1985-10-1 9:45:00 PM# 都是合法的日期型数据。 3.逻辑型数据(Boolean) 逻辑型数据只有两个值:真(True)和假(False),用2字节二进 制数存储,经常用来表示逻辑判断的结果。 当把数值型数据转换为逻辑型数据时,0会转换为Flase,其它非0值 转换为 True。反之,当把逻辑型数据转换为数值型时,Flase转换为 0,True转换为-1。 4.字符型数据(string) 字符型数据是指一切可打印的字符和字符串,它是用双引号括起来 的一串字符。一个西文字符占一个字节,一个汉字或全角字符占两 个字节。在VB中有两种类型字符串:变长字符串和定长字符串。变 长字符串的长度不确定,可以是0231个范围内的字符,而定长字 符串长度一定,可以是0231个范围内的字符 注意:空字符串用“表示,而“ “则表示有一个空格的字符串;另外 在字符串中必须用两个连续的双引号来表示字符串有一个双引号 。如字符串:abc“计算机“abc,在VB中表示为“abc“计算机“abc“ 。 5.对象(Object)类型的数据 对象类型的数据主要是以变量形式存在的,Object变量通过32位( 4字节)来存储,该地址可以引用应用程序中的对象。利用Set语句 ,声明为Object的变量可以被赋值并被任何对象所引用。 6.变体(Variant)数据类型 Variant数据类型又称为万用数据类型,它是一种特殊的、可以表示 所有系统定义类型的数据类型。变体数据类型对数据的处理可以根 据上下文的变化而变化,除了定长的string数据及用户自定义的数据 类型之外,可以处理任何类型的数据而不必进行数据类型的转换, 如上所述的数值型、日期型、对象型、字符型的数据类型。Variant 数据类型是VB对所有未定义的变量的缺省数据类型的定义。通过 VarType函数可以检测Variant型变量中保存的具体的数据类型。 3.2.2用户自定义数据类型 除了上述数据类型外,在VB中,用户可以根据需要利用 Type语句定义自己的数据类型,其格式如下: Type 数据类型名 数据类型元素名 As 类型名 End Type 其中,数据类型名为自定义数据类型名,数据类型元素名 为自定义数据类型中的一个成员,类型名为上述基本类型 名或自定义数据类型名。 例题:定义一个有关职工信息的自定义类型: Type Client_Record cltName as String*16 cltPassword as String*8 cltDeposit as Currency End Type 注意: (1)自定义类型必须在标准模块或窗体模块的声明部分 定义,在标准模块中定义时默认为全局变量(Public)。 在窗体模块定义时在关键字Type前应加上Private关键字 。 (2)自定义类型元素类型如果有字符串,则必须是定长 字符串,即应该使用形式为: strName As String*常数 其中“常数”指明定长字符串的长度 3.2.3枚举类型 当一个变量只有几种可能的值时,可以使用枚举的方法将变量 的值一一列出来,变量的值就只限制在列出的几种值中。采用 这样的方法定义的变量类型称为枚举类型。 枚举可以通过在标准模块或公用类模块中的声明部分用 Enum 语 句声明一个枚举类型来创建。其格式为: Private|Public Enum 类型名称 成员名=常数表达式 End Enum 3.3 变量与常量 3.3.1 变量 变量:程序运行过程中其值可以改变的量称为变量 。 变量的形式:属性变量和内存变量。 1变量的命名规则 (1)VB变量名只能用字母、数字和下划线组成,变量名 中不能包含小数点。 (2)VB变量名的第一个字符必须是字母或汉字,最后一 个字符可以是类型说明符,且组成变量名的字符数不得超 过255个字符。 (3)不得使用VB的保留名或保留名后加上类型说明符来 作为变量名。 (4)变量名在同一个范围内必须是唯一的。 (5)为了增加程序的可读性,一般在变量名前加上一个表 示该变量数据类型的前缀。 2变量声明 (1)用类型说明符表示变量 将类型说明符放在变量名的尾部,可以表示不同的变量, 如%表示整型、&表示长整型、!表示单精度型、#表示双 精度型、表示货币型,$表示字符串型。例如: strName$ dblNum% curWage (2)用声明语句声明变量 用声明语句声明变量的语法为: Dim|Private|Static|Public|RedimAs,As (3)隐式声明与用Option Explicit语句强制显式声明变量 在默认状态下,VB中可以不进行变量声明,此时变量类 型默认为变体类型,称为隐式声明,但是这样做可能由于 变量名的误写而产生不良后果。 3Variant 数据类型 Variant 数据类型是所有没被显式声明为其他类型变量的 数据类型。 (1)用 VarType函数判断 Variant型变量中的数据类型 (2)Variant变量对数值的处理 (3)Variant变量中的Empty 值与Null值 4.关于变量声明的说明 (1)没有被显示声明的变量都隐含为变体变量。 (2)类型说明符的优先级高于Deftype语句,且用类型说明 符声明的变量在使用时可以省略类型说明符。 3.3.2 常量 1直接常量 直接常量:在程序代码中,以直接明显的形式给出的数据。 根据使用的数据类型,直接常量分为:字符串常量、数值常 量、布尔常量、日期常量。 2符号常量 (1)系统内部定义的常量 (2)用户定义的符号常量 内部或系统定义的常量是VB和控件提供的。这些常量可与应用 程序的对象、方法和属性一起使用,在代码中可以直接使用它 们。 用户可以使用Const语句来定义常量: Public|PrivateConst As= 3.4.1运算符 3.4.2 表达式 3.4 运算符和表达式 返回退出 3.4.1 运算符 1算术运算符 2字符串运算符 3关系运算符 4逻辑运算符 1.算术运算符 算术运算符用于数学计算,VB有8个算术运算符(其中减号运算符 和取负运算符形式相同),在这8个算术运算符中,只有取负“”是 单目运算符,其它均为双目运算符。表3-3照优先级别的高低列出 了算术运算符。 表3-3 算术运算符 运算符名称优先级 示例结果 乘方1329 -负号2-2-2 *乘32*510 /除34/5.8 整除4450 Mod取模55 Mod 41 +加62+35 减64.5-2.42.1 2.字符串运算符 字符串运算符有“&”和“+”两个,如表3-4所示 表3-4 字符串运算符 运算符说明示例结果 &连接两个字符串表达式“Micro“ & “soft“Microsoft“ +计算和,也可连接字符串“123“+“456“123456“ 3.关系运算符 关系运算符属于双目运算符,用来对两个表达式的值进行比较, 比较的结果为逻辑值,即若关系成立则返回True,否则返回 False。在VB中,分别用-1和0表示True和False。表3-5列出了 VB中的关系运算符。 表3-5关系运算符 关系运算符含 义实 例结 果 =等于“abc“=“ABC“False 大于“abc“ ABC “True =大于等于“abc“=“甲乙丙“False 不等于“abc“字符运算符关系运算符逻辑运算符 3.5 常用内部函数 3.5.3 日期和时间函数 3.5.2 字符串函数 3.5.1 数学运算函数 3.5.4 格式输出函数 3.5.5 转换函数 3.5.6 Shell函数 3.5.1数学运算函数 表3-8用数学函数 函 数说 明实例结果 Sin返回弧度的正弦Sin(1).841470984807897 Cos返回弧度的余弦Cos(1).54030230586814 Atn返回用弧度表示的反正切值Atn(1).785398163397448 Tan返回弧度的正切Tan(1)1.5574077246549 Abs返回数的绝对值Abs(-2.4)2.4 Exp返回e的指定次幂Exp(1)2.71828182845905 Log返回一个数值的自然对数Log(1)0 Rnd返回小于1且大于或等于0的随机数Rnd 01之间的随机数 Sgn返回数的符号值Sgn(-100)-1 Sqr返回数的平方根Sqr(16)4 Int返回不大于给定数的最大整数Int(3.6)3 Fix返回数的整数部分Fix(-3.6)-3 3.5.2字符串函数 表3-9 常用字符串函数 函 数说 明 实例结果 Ltrim$(C)返回删除字符串左端空格后的 字符串 LTrim$(“MyName“)“MyName“ Rtrim$(C)返回删除字符串右端空格后的 字符串 RTrim$(“MyName“)“MyName“ Trim(C)返回删除字符串前导和尾随 空格后的字符串 Trim$(“MyName“)“MyName“ Left$(C,N)返回从字符串左边开始的指定 数目的字符 Left$(“MyName“,2)“My“ Right$(C,N)返回从字符串右端开始的指定 数目的字符 Right$(“MyName“,4)“Name“ Mid$(C,N1,N2)返回从字符串指定位置开始的 指定数目的字符 Mid $(“MyName“,2,3)“yNa“ Len(C)返回字符串的长度Len(“MyName=王青“)9 LenB(C)返回字符串所占字节数LenB(“MyName=王青“)6 Instr(N1,C1,C2,M)返回字符串在给定的字符串中 出现的开始位置 InStr(7,“ASDFDFDFSDSF“, “DF“)7 *InstrRev(C1,C2,N1, M) 与Instr函数不同的是从字符串 的尾部开始查找 InStrRev(“ASDFDFDFSDSF“, “DF“, 7) 5 *Replace(C,C1,C2 ,N1,N2,M) 在C字符串中从1或N1开 始将C2替换C1(有 N2,替换N2次) Replace(“ASDFDFDFSDS F“, “DF“, “*“, 2) S*SDSF *Join(A,D)将数组A各元素按D(或 空格)分隔符连接 为字符串变量 A = Array(“ABC“, “DEF“, “GH“) Join(A, “/“) ABC/DEF/G H Space$(N)返回由指定数目空格字 符组成的字符串 Space$(5)“ *Split(C,D)与Join函数作用相反, 将字符串C按分隔符 D(或空格)分隔成 字符数组。 A = Split(“ABC*DEF*GH“, “*“) A(0)= “ABC“ A(1)= “DEF“ A(2)=“GH“ String$(N,C)返回包含一个字符重复 指定次数的字符串 String$(2, “ABCD“)“AA“ *StrReverse(C)将字符串反序排列StrReverse(“ABCD“)“DCBA“ Lcase(C)返回以小写字母组成的 字符串 LCase(“ABCabc“)“abcabc“ Ucase(C)返回以大写字母组成的 字符串 LCase(“ABCabc“)“ABCABC“ 3.5.3日期和时间函数 表3-10常用日期和时间函数 函 数说 明 实例结果 Now返回系统日期和时间 (yy-mm-dd hh:mm:ss)Now2001-12-18 16:19:10 Date$()返回当前日期(yy-mm-dd )Date$()2001-12-18 DateSerial(年,月,日)返回一个日期形式DateSerial(1,2,3)2001-2-3 DateValue(C)返回一个日期形式,自变量为字符串DateValue(“1,2,3“)2001-2-3 Day(C|N)返回月中第几天(131)Day(“2002-3-5“) 5 WeekDay(C|N)返回是星期几(17)WeekDay(“2002-3-5“)3(星期二) WeekDayName(C|N)返回星期代号(17)转换为 星期名称,星期日 为1 WeekDayName(3)星期二 Month(C|N)返回一年中的某月(112)Month(“2002-3-5“)3 Monthname(N) 返回月份名Monthname(12)十二月 Year(C|N)返回年份(yyyy)Year(“2002-3-5“)2002 Hour(C|N)返回小时(023)Hour(Now) 16(由系统决定) Minute(C|N)返回分钟(0!59)Minute(Now)31(由系统决定) Second(C|N)返回秒(059)Second(Now)42(由系统决定) Timer$()返回从午夜算起已过的秒数Timer 59623.44(由系统决 定) Time$()返回当前时间 (hh:mm:ss)Time16:35:35(由系统决 定) TimeSerial(时,分,秒)返回一个时间 形式TimeSerial (1,2,3)1:02:03 TimeValue(C)返回一个时间 形式,自变量为字符串TimeValue(“1:2:3“)1:02:03 3.5.4格式输出函数 使用格式化函数Format()可以使数值、 日期或字符型数据按指定的格式输出。 Format函数的语法格式为: Format(表达式,格式字符串) 图3-5 数值格式化实例 图3-6 日期与时间格式 表3-11 常用的数值型格式说明字符 字符说 明 # 数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符 串中#的位置上有数字存在,那么就显示出来,否则,该位置什么都不 显示 0数字占位符。显示一位数字或是零。如果表达式在格式字符串中0的位 置上有一位数字存在,那么就显示出来,否则就以零显示 .小数点占位符 ,千分位符号占位符 %百分比符号占位符。表达式乘以100。而百分比字符(%)会插入到格 式字符串中出现的位置上 $在数字前强加$ +在数字前强加+ -在数字前强加- E+用指数表示 E- 用指数表示 表3-12 常用的时间日期型格式说明字符 符号作用符号作用 D显示日期(131),个位前不加0dd显示日期(0131),个位前加0 ddd dddddww 显示星期缩写(SunSat)星期为 数字(17,1是星期日) 显示完整日期(yy/mm/dd) dddd dddddd ww 显示星期全名(SundaySaturday ) 显示完整长日期(yyyy年m月d日) 一年中的星期数(153) M显示月份(112),个位前不加0mm显示月份(0112),个位前加0 Nmm显示月份缩写(JanDec)mmmm月份全名(JanuaryDecember) Y显示一年中的天(1366)yy两位数显示年份(0099) Yyyy四位数显示年份(01009999)q季度数(14) H显示小时(023),个位前不加0hh显示小时(023),个位前加0 M在h后显示分(059),个位前不 加0 mm在h后显示分(059),个位前加0 S显示秒(09),个位前不加0ss显示秒(0059),个位前加0 tttt显示完整时间 (小时、分和秒)默 认格式为hh:mm:ss AM/PM Am/pm 12小时的时钟 ,中午前AM或am 中午后PM或pm A/P,a/p12小时的时钟 ,中午前A或a 中午后P或p 表3-13 常用的字符型格式说明字符 字符 说明实例 结果 字符占位符。显示字符或是空白。如果 字符串在格式字符串中的位置有字符 存在,那么就显示出来;否则就在那个 位置上显示空白。除非有惊叹号字符(!) 在格式字符串中,否则字符占位符将由 右到左被填充 Format(“ABCD”,”) ” ABCD” & 字符占位符。显示字符或什么都不显示 ,如果字符串在格式字符串中和号&的 位置有字符存在,那么就显示出来否则 就在那个位置上显示空白。除非有惊叹 号字符(!)在格式字符串中,否则字 符占位符将由右到左被填充 Format(“ABCD”, “&”) “ABCD” 强制大写。将所有字符以大写格式显示Format(“abcd”, “&”) “ ABCD” ! 强制由左至右填充字符占位符。缺省值 是由右至左填充字符占位符 Format(“ABCD”, “!&”) “ABCD ” 3.5.5转换函数 1.类型转换函数 2.取整函数Int和Fix 3.数制转换函数 1.类型转换函数 (1)数据类型转换函数 表3-14数据类型转换函数 函数返回类型参数范围 CboolBoolean任何有效的字符串或数值表达式 CbyteByte0255 CcurCurrency-922337203685477.5808922337203685477.5807 CdateDate任何有效的日期表达式 CdblDouble负数:-1.79769313486232EE308-4.94065645841247E-324 正数:4.94065645841247E-3241.79769313486232E308 CintInteger-3276832767,小数部分四舍五入 CLngLong-21474836482147483647,小数部分四舍五入 CsngSingle负数:-3.402823E38-1.401298E-45;正数:1.401298E- 453.402823E38 CStrString依据参数返回CStr CvarVariant若为数值,范围与Double相同;

温馨提示

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

最新文档

评论

0/150

提交评论