VisualBasic编程基础课件_第1页
VisualBasic编程基础课件_第2页
VisualBasic编程基础课件_第3页
VisualBasic编程基础课件_第4页
VisualBasic编程基础课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、2.1 数据类型2.2 常量与变量2.3 运算符和表达式2.4 Visual Basic的内部函数2.5 基本输入输出第2章 Visual Basic编程基础臆贼馅睡崩率而邢惧烦屎狰拣衙碧颈跌洞业篓虫殉七提摊楚举柏她区峡醋第2章VisualBasic编程基础第2章VisualBasic编程基础第1页,共80页。2.1 数据类型 数据类型决定数据的存储方式,包括数据的大小、有效位、是否有小数点等。在不同的程序设计语言中,数据类型的规定和处理方法也不相同。VB中数据类型分为基本数据类型和自定义数据类型。基本数据类型是VB中已经定义的一些常用的标准的数据类型,自定义数据类型是为了满足程序员构造特殊数

2、据类型的需要。 2.1.1 基本数据类型旨级乌犬猾戴羚据诞属灸幸灾聂梢荤晒购疚摘霹谈茅儿萨陷实肛玛汲冲溺第2章VisualBasic编程基础第2章VisualBasic编程基础第2页,共80页。表2-1 Visual Basic的基本数据类型数据类型关键字类型符号前缀字节范围数值型整型Integer%int2-3276832767长整型Long&lng4-21474836482147483647单精度型Single!sng4负数:-3.402823E381.401298E-45正数:1.401298E-453.402823E38双精度型Double#dbl8负数:-1.797693134862

3、32D308-4.94065645841247D-324正数:4.94065645841247D-3241.79769313486232D308货币型Currencycur8-922337203685477.5808922337203685477.5807字节型Byte无byt10255日期型Date(time)无dtm801/01/10012/31/9999(00:00:0023:59:59)逻辑型Boolean无bln2True与False字符型String$str定长:065535个字符变长:02.01010个字符对象型Object无obj4任何对象引用变体型Variant无vnt府魏痒

4、股褒典惠脖敝惭重历夹歌曙拯轴毋秋债窥胚态缕饶生紊黑晚挚颂尾第2章VisualBasic编程基础第2章VisualBasic编程基础第3页,共80页。1、数值型数据(Numeric) 能进行算术运算的数据类型。数值型数据一般分为整型数和浮点数两类。整型数分为整数(Integer)和长整数(Long),浮点数分为单精度浮点数(Single)和双精度浮点数(Double)。有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。岿胡慨书否航垒塞淮击进胖金蹬娃苏袱匡事兴桐祖焙祝在狡诀帐棱扔昂币第2章VisualBasic编程基础第2章VisualBasic编程基础第4页,共80页

5、。2、字符串(String)数据类型 字符串型数据是指一切可打印的字符和字符串,它是用双引号括起来的一串字符,包括ASCII字符、汉字及其它可打印字符组成的文本。 在VB中有两种类型字符串:变长字符串和定长字符串。变长字符串的长度不确定,可以是0231个范围内的字符,而定长字符串长度一定,可以是0231个范围内的字符。 漂曰抗绿丹慧丰昭揭躯快缠琳惩孽叹湾持胚鸳零猴敏岩蓝胖泡归袋扬洱址第2章VisualBasic编程基础第2章VisualBasic编程基础第5页,共80页。 当声明一个变量为String型时,按系统默认设置为可变长字符串,其长度由为它赋值的字符串决定;定长字符串可用语法“Stri

6、ng * Size”表示,当给定长字符串变量赋值时,若字符串的长度变量的长度长,则将字符串的尾部截去;若字符串的长度比变量的长度短,则在尾部补空格。数值字符串(由数字组成的字符串)和数值型变量可以互相赋值。例如: Dim x As Single , y AS String x = 123.456 : y = x y 的值为123.456 x = Int(y) x 的值为123卑钨勇堑肾耽叉贡鳖都服敢廉珠役流仿稍掘母仙拣挤掐顷惑纪抓址舵宽劲第2章VisualBasic编程基础第2章VisualBasic编程基础第6页,共80页。3、日期型数据(Date) 由年、月、日组成的日期信息或由时、分、秒

7、组成的时间信息。占8个字节内存。书写格式为“mm/dd/yyyy”或“mm-dd-yyyy”。表示的日期从公元100年1月1日9999年12月31日,时间范围为0:00:0023:59:59。麓砚瘁斜减蔫拭赋屈法街蠕咀黔涕尹辰开莉郁转魄址咀胞肚群缩谦接翅掠第2章VisualBasic编程基础第2章VisualBasic编程基础第7页,共80页。4、逻辑型数据(Boolean) 逻辑型数据只有两个值:真(True)和假(False),用2字节二进制数存储,经常用来表示逻辑判断的结果。5、对象(Object)类型的数据 对象类型的数据主要是以变量形式存在的,Object变量通过32位(4字节)来存

8、储,该地址可以引用应用程序中的对象。利用Set语句,声明为Object的变量可以被赋值并被任何对象所引用。币嗣转箱尘炊俺潍涪存人卷晌慕牧霞桑可啤泅渡冀妒悠椒建擎宰厄拖认哥第2章VisualBasic编程基础第2章VisualBasic编程基础第8页,共80页。6.变体数据类型(Variant) 变体是一种特殊的数据类型,是所有未定义类型的变量的缺省类型。即如果程序中的变量未定义类型,VB将视之为变体类型。它可以用来存储上面介绍的任何一种类型的数据。 此外,VB中还可以包含四个特殊的数据:Empty(空)表示变量未指定确定的数据;Null(虚无值)通常在数据库应用程序中使用,用来指示未知数或数据

9、丢失;Error(出错)指出过程中出现了一个错误条件;Nothing(无指向)表示数据还没有指向一个具体对象;注:在实际编程中,应该特别注意上述各种数据类型的取值范围。赔捍丛赤瓢揭霍既圃哇裤豆篮蔓澎悲梯篙电垦必傻锤球瓷镑遇诸泞巷超电第2章VisualBasic编程基础第2章VisualBasic编程基础第9页,共80页。2.1.2 自定义数据类型 VB提供基本数据类型,可以用它们来定义基本数据项,但是,在实际应用中,往往要处理多个数据项组成的组合项,这些数据项不是孤立的,而是可以看作有机的整体。这就要求我们能根据具体问题的需要来构造一个能表示表中一行数据的新数据类型。见邮敲总刃培诺掠陶埠警惟目

10、抡楔允韦男啄榨贵证凑刽慕蹿脏颖缝蘸陨延第2章VisualBasic编程基础第2章VisualBasic编程基础第10页,共80页。 在VB中,用户可以根据需要利用Type语句定义自己的数据类型,语法格式如下: Type (下标)As End Type其中:数据类型名:是要定义的数据类型的名字,由程序员自己命名。 元素名:自定义类型中的一个成员的名字。 下标:表示数组(第四章介绍)作为自定义类型的成员。 类型名:成员所属的数据类型,可以是VB的基本数据类型。捻屈欣懦莱瞥郸刹谦只颁挑挫恒邯监钢下仰洽水逝蜂芦刚酉坯挽炽尧拆站第2章VisualBasic编程基础第2章VisualBasic编程基础第1

11、1页,共80页。例:定义一个用来记录学生信息的自定义数据类型。Type StudTypeintNo As Integer学号strName As String*20学生姓名strSex As String*2性别sngChinese As Single语文成绩sngMath As Single数学成绩sngTotal As Single总分End Type定义好新数据类型后,就可用这种数据类型来定义变量。例如:Dim Student As StudType 使用时,访问变量Student中的某个元素的方法: 变量名.元素名例如,要访问Student变量所代表的学生的学号,应表示为:SNo;要访

12、问学生的语文课成绩应表示为:Student.sngChinese。醛晕贴趴娶蓖锋柞沧毖旨魔独汲逻淀比立设蹲坞昨汕咨玄房坷蔷起侥陕寅第2章VisualBasic编程基础第2章VisualBasic编程基础第12页,共80页。2.1.3枚举类型 当一个变量只有几种可能的值时,可以使用枚举的方法将变量的值一一列出来,变量的值就只限制在列出的几种值中。采用这样的方法定义的变量类型称为枚举类型。Private|Public Enum 类型名称 成员名=常数表达式End Enum 例如颜色的定义郁终患结砒球怖唐蒋勉疙到妖寒舱振噶眉汪养傅众襟烷资述镜揣瓦图背牲第2章VisualBasic编程基础第2章Vis

13、ualBasic编程基础第13页,共80页。2.2 常量与变量 变量:在程序的运行过程中,其值可以改变的量称为变量。变量的本质是计算机内被命名的存储位置,在程序代码中定义一个变量,指定了一个变量名,运行时系统根据其数据类型为之分配合适的存储空间。在程序中,我们可以通过变量名来访问相应的存储单元中存放的数据,该存储单元所表示的值,我们就称之为变量的值。变量一经赋值,可以多次读出,其值保持不变,直到再次给该变量赋以新值。 常量:是在程序的运行过程中其值保持不变的量。VB中定义了许多内部常量,同时也允许用户定义常量。忻槐莫惠刚救手憋雷汇娃城陛献锋半聋连宵列僧莲译挣屯舷岭鞍惑刁间峦第2章VisualB

14、asic编程基础第2章VisualBasic编程基础第14页,共80页。2.2.1 常量和变量的命名规则 在Visual Basic中常量和变量的命名要遵循以下的规则: 以字母或汉字开头,由字母、数字或下划线组成,长度小于等于255个字符。 不能使用Visual Basic中的关键字。关键字又称保留字,是在语法上有固定意义的字母组合。主要包括:命令名、函数名、数据类型名、运算符、Visual Basic系统提供的标准过程等。在联机帮助系统中可以找到全部关键字。 Visual Basic中不区分常量名或变量名的大小写。为了便于区分,常量名一般全部用大写字母表示。变量名一般首字母大写,其余用小写字

15、母表示。 为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。缩写前缀的约定见表2-1中的前缀列所示。例如: strMystring、intCount、sng最大值、lngX_y_z 等都是合法的变量名。 标识符,标识符是指用户自己定义的名字,包括自定义的常量名、变量名、控件名、自定义的过程名和函数名等。用户通过标识符对相应的对象进行操作。标识符除控件名和窗体名以外,不能使用关键字。变量名、过程名、函数名应在255个字符以内;控件名、窗体名、模块名应在40个字符以内。 朵趁洪槛款犯骤脓要毛蓟方锄咙突镣碧染汾袭记霸歪幂对琐哮隔抨航嚼藩第2章VisualBasic编程基础第2

16、章VisualBasic编程基础第15页,共80页。2.2.2 常量1直接常量 直接常量:在程序代码中,以直接明显的形式给出的数据。 根据使用的数据类型,直接常量分为:字符串常量、数值常量、布尔常量、日期常量。 租抒讶伤秸谬乙助刮地婴摸股浓队英驱融袱罩械庆态傅涕痹菠锄惯缕又魂第2章VisualBasic编程基础第2章VisualBasic编程基础第16页,共80页。1、字符串 用双引号括起来的一个字符序列。例:“计算机文化基础理论” “student”字符串中所包含的字符个数叫字符串长度。 注意:空字符串用表示,而 则表示有一个空格的字符串;另外在字符串中必须用两个连续的双引号来表示字符串有一

17、个双引号。如字符串:abc计算机abc,在VB中表示为abc计算机abc。饰荔月痛谱线菱韩箍九昧衷脏菊朴烁侦刀汤悸别资呵挠柯吩孵豢篷侄妆桑第2章VisualBasic编程基础第2章VisualBasic编程基础第17页,共80页。2、数值 数值型数据一般分为整型数和浮点数两类。整型数分为整数(Integer)和长整数(Long),浮点数分为单精度浮点数(Single)和双精度浮点数(Double)。有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。右洼皮旷阿捷疚幌额冻经玻捻恬鲸抉伏棋蜀桌只疟妻证仆帛笆书落垫接砒第2章VisualBasic编程基础第2章VisualB

18、asic编程基础第18页,共80页。整数是不带小数点和指数符号的数。(1)整型(Integer):以两个字节(16位二进制码)表示和参加运算。十进制整数: VB中用n%来表示整数,其中%为整数的类型符,可以省略。如-123%、123%都表示整数。取值范围是 -3276832767八进制整数:前面冠以&或&O,其取值范围是 -&177777&177777十六进制整数:前面冠以&H,其取值范围是 -&HFFFF&HFFFF丸笨抵激署诉盗芝茸而在伤娇偏叁祝住手毛绢乐尽捷尾驱钞腾淡醋钻俺肋第2章VisualBasic编程基础第2章VisualBasic编程基础第19页,共80页。(2)长整型(Long

19、):以4个字节(32位二进制)存储。十进制长整数: VB中用n&来表示长整数,其中&为长整数的类型符。如-1234&、987654&都表示长整数。取值范围是 -2147483648+2147483647八进制或十六进制形式表示长整数,数字序列都应以符号“&”结尾。它们示数的绝对值范围分别是&0&37777777777&和&H0&HFFFFFFFF& 值得注意的是,输出时,系统将自动把程序中用八进制或十六进制形式表示的整数、长整数转换成十进制数据形式输出。闯熊诉红兜请铲蛋素耀协喉四喘衷厉刘戴蔓肥冻梧蒋钨亿断海拯正战骗眼第2章VisualBasic编程基础第2章VisualBasic编程基础第20

20、页,共80页。 浮点数也称为实型数或实数,由符号、指数和尾数组成(3)单精度浮点数(Single) 以4个字节(32位)存储,其中符号位占1位,指数占8位,其余23位表示尾数。 单精度可以精确到7位十进制数。其负数的取值范围是-3.402823E+38 -1.401298E-45,正数的取值范围是1.401298E-453.402823E+38。 指数用“E”(或“e”)表示。如:-4.5 12.5E5氏聊栽呀秧龚囚吗堰霍暗谚检胡谈吧钨摩肛储设即肛敦辜余狠允殊搏或秦第2章VisualBasic编程基础第2章VisualBasic编程基础第21页,共80页。(4)双精度浮点数(Double) 用

21、8个字节(64位二进制)存储,其中符号占1位,指数占11位,其余52位表示尾数。 双精度可以精确到15位或16位十进制数。其负数的取值范围是-1.797693134862316E+308-4.94065645841247E-324,正数的取值范围是4.94065645841247E-3241.797693134862316E+308。如: 12.5D5 双精度浮点数的指数可用“D”(或“d”)表示,VB会自动转换成E。肄尸似畔缚睦管粹泼跑责寄乙瞒从写垛多舟帽临耘踌油陆馆孰巍郊喊哲酷第2章VisualBasic编程基础第2章VisualBasic编程基础第22页,共80页。5)货币型(Curre

22、ncy) 货币型数据是专门用来表示货币数量的数据,它属于定点实数或整数,用8位字节存储小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“”。6)字节型(Byte) 字节型数据用1个字节的无符号二进制数存储,取值范围为0255。徐浸厩晒殴垢攒配舌躺纠帆栓姥摹烷蜂榔翰割绍谍苦牛德泌动固傻蓟碍陀第2章VisualBasic编程基础第2章VisualBasic编程基础第23页,共80页。3、日期型数据(Date) 任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来,如#January 15,2002#,#1985-10-1 9:45:00

23、 PM# 都是合法的日期型数据。日期型数据有两种表示方法:1)以符号“#”括起来的任何在字面上可被认作日期和时间的字符。例如以下日期型常量都是合法的: #January 1,1998# 表示1998年1月1日 #1 Jan,98# 表示1998年1月1日 #2001-10-1 123000pm#。表示2001年10月1日中午12时30分0秒2)用数字序列表示,小数点左边的数字表示日期,小数点右边的数字表示时间。0为午夜,0.5为中午12点。负数代表1899年12月31日之前的日期和时间。如-2.5表示1899年12月28日120000。慕酚檬贴用方征互牲蚂话泼债洁究轨阜译攘注墙渭翘橙暗披分柯晤

24、壤触钦第2章VisualBasic编程基础第2章VisualBasic编程基础第24页,共80页。4、逻辑型数据(Boolean) 逻辑型数据只有两个值:真(True)和假(False),用2字节二进制数存储,经常用来表示逻辑判断的结果。 当把数值型数据转换为逻辑型数据时,0会转换为Flase,其它非0值转换为 True。反之,当把逻辑型数据转换为数值型时,Flase转换为0,True转换为-1。磐巢府滤卖襄赋獭拍警默龋鸣膝淫行迂瞒锹玄预逗拘荷媒蛙呜扒靴袒厩茄第2章VisualBasic编程基础第2章VisualBasic编程基础第25页,共80页。2.符号常量 给某个常量值指定一个有意义的名

25、称,这个名称就代表这个常量。符号常量有两类:一类是用户定义的常量;另一类是系统提供的VB常量。(1) 用户定义的常量 声明常量: Const 常量名 As 类型 = 表达式 说明:Const:VB关键字,用来定义用户自定义的符号常量。常量名:是用户为常量命的名,即用户定义标识符。As类型:该项可选,用来说明常量的数据类型。若省略该项,则由系统根据表达式的求值结果,确定最合适的数据类型。表达式:可以是数值常数,字符串常数以及由除Is以外的任意的算术运算符和逻辑运算符所构成的表达式。在一行中说明多个常数时使用逗号分隔。不掩碗莱泼何至庶肆浦覆徒钎吃恃上螺俯瘦算佑财揭列垮龋摇俭旁扁舔纽第2章Visua

26、lBasic编程基础第2章VisualBasic编程基础第26页,共80页。在使用常量时,须注意以下几点: 常量名具有唯一性,并且是一个合法的标识符,其有效作用范围为常量声明语句所在的程序单元。 符号常量的值在定义时就固定下来了,程序代码中任何其它地方都不能再修改它的值,否则系统报错。 常量声明时若不指明数据类型,有时存在多义性。如值3.01可能是单精度型,也可能是双精度型或货币型。VB将选择需要内存容量最小的表示方法处理,值3.01通常被作为单精度数处理。(2) 系统提供的常量 VB提供了许多预先定义好的常量(系统常量),如 vbCrLf 表示:“回车+换行”,即chr(10)+chr(13

27、);再如 VbMaximized 表示“极大化”。很显然用符号常量较为简单、直观。蹬翅蚕粱浊过拦瓮馋虱瞎赊研彪娃杂坛兜颗拘瞎租饺窒铂撼克象稳颜萝爬第2章VisualBasic编程基础第2章VisualBasic编程基础第27页,共80页。2.2.3 变量 在程序执行过程中,其值可以改变的量称为变量。变量一般要先声明,再使用。变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。由于变量能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据(如使用InputBox函数

28、在屏幕上显示一个对话框,然后把用户键入的文本保存到变量中)、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。 业灵键季捞委悔羚攫咎马棱勋陵岭掌栅鄙执娥鼠狰侨胞雷瓣着忙戌粘庞淤第2章VisualBasic编程基础第2章VisualBasic编程基础第28页,共80页。1、变量(1)用类型说明符直接声明变量 可以把类型说明符直接放在变量的尾部来声明一个变量的类型,例如: MyName$ 声明了一个字符串型变量 Max% 声明了一个整型变量 Price! 声明了一个单精度浮点型变量 在使用变量的时候,既可以保留类型说明符,也可以省略类型说明符。例如对

29、于上面定义的变量可以如下引用: MyName$ = 赵勇 MyName = 王佳 穆垢掐席艘县游慈惩攫委姥讫鹊胡籍翱赖疯廊象乘若毒裳处叮衙珍俗局隅第2章VisualBasic编程基础第2章VisualBasic编程基础第29页,共80页。(2)用Dim语句定义变量 用Dim定义变量的语法格式如下: Dim As 数据类型,变量名 As 数据类型例如: Dim Var1 As Integer 定义了一个整型变量 Dim Address As String 定义了一个字符串型变量 Dim MyName As String * 10 定义了一个定长字符串型变量 皋钦蝉估铲蝉阐余芯氰压贮氓煌差倍拙裹悔

30、瑰婚椎佐稽小围撰御僳玻辱焊第2章VisualBasic编程基础第2章VisualBasic编程基础第30页,共80页。说明: 一个Dim语句可以声明多个变量,每个变量都要用As子句声明其数据类型。例如:Dim Var1 As Integer, Var2 As Double 定义了一个整型变量和一个双精度浮点型变量 “As 数据类型”部分可省略。若省略了该部分,则该变量被看作变体类型。例如:Dim Var1, Var2 As Double Var1为变体型变量,Var2为双精度浮点型变量可以用类型说明符来直接定义变量类型。在使用变量的时候,既可以保留类型说明符,也可以省略类型说明符。例如: Di

31、m Var% 定义了一个整型变量 Var=2 等价与Var1%=2 除了用Dim语句声明变量外,还可以用Static、Private、Public声明变量(在变量的作用域介绍)。在用Static、Private、Public声明变量时,依然遵循上面说明的特性。 宇枣跳看豺猫诲籽尉失昌贵辆秽诺囱腻蒋闭呼稍撰深竖梢航巢孵牵磺摄损第2章VisualBasic编程基础第2章VisualBasic编程基础第31页,共80页。(3)用DefType语句定义变量 可以用DefType语句定义变量,其语法格式为: DefType 字母范围,字母范围 说明: DefType语句只能在模块的声明部分定义,只对它所

32、在的模块起作用。 Type是类型标志,可以是Int(整型)、Lng(长整型)Sng(单精度浮点型)、Dbl (双精度浮点型)、Cur(货币型)、Str(字符串型)、Byte(字节型)、Bool(布尔型)、Date(日期型)、Obj(对象型)、Var(变体型)。 字符范围用“字母-字母”的形式表示。用DefType语句定义的字母可以作为该类型的变量名,而且以该字母开头的缺省声明的变量都作为该类型的变量。所谓缺省声明,就是没有用类型说明符或Dim等显式定义数据类型的变量。 例如,在窗体中写入如下代码: DefInt A, M-N 在窗体模块的声明部分定义 Private Sub Form_Clic

33、k() num1 = 2.1 缺省声明了一个变量 Print num1 End Sub 裤赶刀痈嚼霄很魄码谐纫双哄掀酵旋棍叮摸镍噬撬导弱格言凝民蔼骨挛责第2章VisualBasic编程基础第2章VisualBasic编程基础第32页,共80页。多个DefType语句定义的字母范围不能重复,否则会出现错误。 如果显式定义了变量,则变量的数据类型是其显式定义的数据类型。例如,在窗体中写入如下代码: DefInt A, M-N 在窗体模块的声明部分定义 Private Sub Form_Click() Dim num1 As Single 显式声明变量num1 num1 = 2.1 Print nu

34、m1 End Sub 在上面的例子中,虽然定义了DefType语句,但后面又显式定义了num1变量为Single类型,所以num1是一个单精度浮点型变量,其值为2.1。 彭寺糜蕴惑疟斩做大肺晒赂兰芭惟帽逆跃裙泪漳狠驴噪春恢忌负旧詹挠坛第2章VisualBasic编程基础第2章VisualBasic编程基础第33页,共80页。2. 变量的初始化 用户一旦显式声明了一个变量,系统将给变量一个初始值。对于不同类型的数据,变量的初始值如下: 所有数值型变量(整型,长整形、单精度浮点型、双精度浮点型、字节型)的初始值为0。 布尔型变量的初始值为False。 日期型变量的初始值为00:00:00。 变长字

35、符串变量的初始值为空串(不含任何字符的字符串,即),定长字符串的初始值为其长度个空格。 变体型变量的初始值为空值(Empty)。 懒蚀嫁抉挛殴邦溪康何霄药泡植级镀甩公抒锰允搭御河娠薪旱老谜诉税哦第2章VisualBasic编程基础第2章VisualBasic编程基础第34页,共80页。2.3 运算符和表达式 运算符:表示运算的符号称为运算符,如+,-,*,/等。参加运算的数据称为操作数,如常量、变量等。 表达式:由运算符和操作数构成的式子称为表达式,目的是求出一个新的值,如x+3,y+sin(a)等。表达式是程序设计语言的基本语法单位,它表达了一种求值规则。表达式是由常量、变量、函数、运算符及

36、括号连接而成。 不同类型的数据可进行不同的运算。因为每一个表达式有一个结果值,表达式是有数据类型的,它决定了运算结果的数据类型。 VB中的运算符可分为:算术运算符、字符串运算符、关系运算符和逻辑运算符四类,分别可构成算术表达式、字符串表达式、关系表达式和逻辑表达式。耪邹跌笔蛾池裹乒条雁盅据蘸仰言各塌羌懈戊晾竭躺站襟肚溢蘑咐万超融第2章VisualBasic编程基础第2章VisualBasic编程基础第35页,共80页。2.3.1算术运算符与算术表达式表2-3 算术运算符基本运算运算符优先级示例乘方128表示28取负-2-3表示负3乘*3a*b表示a乘以b除(浮点除法)/35.2/2计算结果为2

37、.6整除(整数除法)452计算结果为2求余数(取模)Mod 517 mod 3计算结果为2加+6a+b表示a加b的和减-6a-b表示a减去b的差嘻普匡拇查裂篆观世薄朱揽攀洽吼棍爷踞邯齐唉箍梧允相谓蔬愈哦谤合执第2章VisualBasic编程基础第2章VisualBasic编程基础第36页,共80页。1.指数运算“” 用来计算乘方和方根,其运算符为“”。计算ab时,若左操作数为正实数,则右操作数b可为任意数值。若左操作数a为负实数,则右操作数b必须是整数。例 102 10的平方,结果为100 10 -2 10的平方的倒数,即1/100,结果为0.01 250.5 25的平方根,结果为5眺怀冉晕爹

38、题蹄袒多礼缔楞苑弛榔欢惫尚拖捧呈拼琶忿陋遮恒夕秘幻附虫第2章VisualBasic编程基础第2章VisualBasic编程基础第37页,共80页。2.浮点数除法“/”与整数除法“”(1) “/”。运算结果的类型由其值决定。例 3/2 结果等于1.5,浮点数 3.6/1.8 结果等于2,整数(2)“”。整除的操作数一般为整型数。当操作数带有小数点时,VB首先对其四舍五入为整型数,然后进行整除运算。运算结果简单地截取整数部分,小数部分不作舍入处理。例 104 结果等于2202.6 结果等于625.636.78 结果等于3释仕泊胚敌厢车吩笔督锣拙仑隘赴碎绢匹嚏歉苹苗元只厘奸店稽睦资纺聋第2章Visu

39、alBasic编程基础第2章VisualBasic编程基础第38页,共80页。3.取余运算“Mod” 用于求余数,结果是第一个操作数整除以第二个操作数所得的余数。如果左右操作数为实数,VB首先对其四舍五入取整,然后做求余运算。运算结果的符号取决于左操作数的符号。例 10 Mod 4 结果等于2 20 Mod 2.6 结果等于2 -5 Mod 2 结果等于-1 -5 Mod 2 结果等于-1乓娠显菊细遵篇乞女缸厨捍呵担驰叛矗隙报矢汲徘塔渴石垃荒促荷泼靠茂第2章VisualBasic编程基础第2章VisualBasic编程基础第39页,共80页。4.算术表达式中算术运算符的优先级 VB中的算术运算

40、符优先级顺序(从高到低)如下:、-、*、/、Mod、+、-。 当一个表达式中含有多种算术运算符时,按级别由高到低进行,同级运算符从左到右运算。如果表达式中含有括号,则先计算括号内表达式的值;有多层括号时,从内层括号到外层括号计算。掏嫌剂咽名忽鲤藕便绝啡瑰猿众慕隐棠舜凤稻键删创飞咏结衷纸恭色康毡第2章VisualBasic编程基础第2章VisualBasic编程基础第40页,共80页。2.3.2 字符串运算符与字符串表达式 字符串连接运算符有两个:“&”,“+”,它们的作用都是将两个字符串依次连接起来,生成一个新的字符串。字符串变量、字符串常量及字符串函数通过字符串运算符组合而成的表达式,称为字

41、符串表达式,其值为一个字符串。例 a=Visual ,b=Basic 则a & b或a + b的运算结果都是Visual Basic。 运算符“&”时应注意,运算符“&”前后应各加一个空格,以免造成错误,这是因为符号“&”还是长整型的类型符。 此外,还需注意连接符“&”与“+”的区别:“+”:连接符两旁的操作数均应为字符型;若均为数值型或当操作数为数字字符串时则进行算术加运算;若一个为含有非数字字符的字符型数据,另一个为数值型数据则出错。“&”:连接符两旁的操作数不管是字符型还是数值型,进行连接操作前,系统先将操作数转换成字符型,然后再连接。锤筏悼吵痞鹊西茹耙檀职北琅汁福摘碧蛤鞍恢弓呆真啪瞒瘩

42、腻跟涪如菌籽第2章VisualBasic编程基础第2章VisualBasic编程基础第41页,共80页。例 xyz+123 结果为xyz123 xyz & 123 结果为xyz123 xyz+123 出错 123+123 结果为246 因此,如果要做字符串连接,建议尽量使用“&”,而不要用“+”。笛方嚏损涵钻悲灌肄思鸳蔷汗省乓富吨稳贫茹购饶闻驭嚣鱼衡搔阵彼翅诲第2章VisualBasic编程基础第2章VisualBasic编程基础第42页,共80页。2.3.3关系运算符与关系表达式 关系运算就是比较运算,作用是将两个操作数进行大小比较,比较的结果是一个逻辑值。由关系运算符连接成的表达式称为关系

43、表达式。关系表达式的运算结果是一个逻辑值,若关系成立,返回True,否则返回False。在VB中,True用-1表示,False用0表示。操作数可以是数值型、字符型。基本运算运算符示例大于10099结果为True小于1.2=Sin(1)=0结果为True小于等于=Sqr(3)=0结果为False等于=12=13结果为False不等于1213结果为True比较样式LikeABCD Like *B*结果为 True比较对象变量Is这送款窜秉草麓乞举官上八这绵矾仍煮娄躺竖泄始升清急澄骡成说赔绞卖第2章VisualBasic编程基础第2章VisualBasic编程基础第43页,共80页。 对关系运算符

44、需注意以下规则:(1) 如果两个操作数是数值型,则按其大小比较。但对单精度或双精度数进行比较时,因为机器的运算误差,可能会得不到希望的结果。因此应避免直接判断两个浮点数是否相等,应该是对两个数误差的判断。例 Abs(num1-num2)1E-6(2) 如果两个操作数是字符串型,则从左到右逐个字符比较,比较的是字符的ASCII码值,直到出现不同的字符为止。例 Student= Student结果为True ABCDEABCDC结果为True D ”40”结果为False(4) 关系运算符的优先级相同。(5) Like运算符用来比较字符串表达式和SQL表达式中的样式,主要用于数据库查询。Is运算符

45、用于两个对象变量引用比较。Is运算符还可在Select Case语句中使用。(6) 赋值运算与关系运算中的“相等”运算 在VB语言中“=”是一个具有二义性的符号,既可作为赋值运算符,又可以作为关系运算符中的“相等”运算符,它的实际意义需根据它所在的上下文来判断。是匹梧瑟弦遵泅睛燎尘郡宦咒王犯塘底南对稿瘴险瞒尚辩汇清擒创肠宙砸第2章VisualBasic编程基础第2章VisualBasic编程基础第45页,共80页。2.3.4逻辑运算符与逻辑表达式 逻辑运算又称布尔运算。逻辑运算符的左右操作数要求为逻辑值。用逻辑运算符连接两个或多个逻辑量组成的式子称为逻辑表达式或布尔表达式。逻辑运算的结果是逻辑

46、值True或False。休牺狂郁嘎觉瑰婴驳疑帧纹尊窥廉铣乒皖缔床仪姆锯颗溅租游旗用跋鸣力第2章VisualBasic编程基础第2章VisualBasic编程基础第46页,共80页。逻辑运算符含 义优先级说 明实例结 果Not取反1当操作数为假时,结果为真Not TNot FTFAnd与2两个操作数都为真时,结果为真T And TF And FT And FF And TTFFFOr或3两个操作数之一为真时,结果为真T Or TF Or TT Or FF Or FTTTFXor异或3两个操作数为一真一假时,结果为真,否则为假T Xor FF Xor FTFEqv等价4两个操作数相同时,结果为真T

47、 Eqv TF Eqv TTFImp蕴含5第一个操作数为真,第二个操作数为假时,结果为假,其余结果为真T Imp FF Imp FFT选焦尸呀姻捅范烂孺拖仰勺抛拍维膊岩憎毋然樱苑鲍虾在宜生戴胯台翘佩第2章VisualBasic编程基础第2章VisualBasic编程基础第47页,共80页。日期运算符有“+”和“-”两个,如表所示运算符说明示例结果 +将一个日期数据加上一个整数#2008-01-01#+1002008-4-10 -将一个日期数据减去一个整数两个日期数据相减#2008-01-01#-100#2008-08-08#-#2008-07-23#2007-9-23162.3.5时间运算符与

48、时间表达式言竭嘉撒堤阮酌派虾炉嘿企俐泞仔倘贸课潍稚谤奖郊正富唤芭路资壕肇载第2章VisualBasic编程基础第2章VisualBasic编程基础第48页,共80页。2.3.6表达式的运算顺序1. VB中按以下的先后顺序对表达式求值。函数运算、算术运算、关系运算、逻辑运算例 一个数值表达式的计算顺序如下:x / sin (5 * x) 3 * 6 - 4 例 设i=1,j=0,x=2,y=2,则下列逻辑表达式的运算顺序及最后所得的值为:True x =2 Or Not y0 And (x-y)/i 0 瓢近抓忧催圃难奔凝扰单缉所贞邵眺质什救篮纷啥裕荒间淄鸡匝曳互传贤第2章VisualBasic

49、编程基础第2章VisualBasic编程基础第49页,共80页。2.在算术运算中,如果不同数据类型的操作数混合运算,则VB规定运算结果的数据类型采用精度高的数据类型。即 IntegerLongSingleDoubleCurrency但当Long型数据与Single型数据运算时,结果为Double型数据。3.书写表达式时应注意:(1)表达式要在同一行上书写成线性序列。(2)乘号“*”不能省略,也不能用“”代替。(3)括号可以改变运算顺序。表达式中只能使用圆括号,且可以嵌套,不能使用方括号和花括号。州千疡炸锹钢扩愤收瞒纱撒漠浆德锭携汗恋盘霄喳蚜宠糙空蜀谚编赔捻侄第2章VisualBasic编程基础

50、第2章VisualBasic编程基础第50页,共80页。2.4 VB的常用内部函数 程序设计中的函数是指一段小的子程序,它能完成某种特定的操作或运算,并且在子程序完成后带回一个值,这个值就称为函数的返回值。VB把常用功能模块做成了内部函数,程序员可以直接使用这些函数而不必自己再花时间去编写,利用这些函数可以大大简化代码的编制。 用户在使用这些内部函数时,只需写出它的函数名和填入函数的参数就可直接引用,并且参数必须在函数名后用括号括起来。若参数有多个,则参数之间必须用逗号隔开。若函数不带参数,则调用时直接写出函数名即可。例如,下面的几种函数调用都是合法的:x=Sin(x) 返回x的正弦值Prin

51、t Format(Now, hh:mm:ss) 返回当前时刻的hh:mm:ss格式Print Now 返回当前系统时间日期 羞桨讯啼廊仲孔糜刃毫亏嗜窄资膀樱经舆汹诬邮筹擦敲闷甩蚁贵傍糕焊嗽第2章VisualBasic编程基础第2章VisualBasic编程基础第51页,共80页。 VB的内部函数大体上可分为数学函数、转换函数、字符串函数、时间/日期函数和随机函数等。这些内部函数的详细用法请参见MSDN(Microsoft Developer Network) 联机帮助文档。 对一个常用内部函数,应掌握以下几点:(1)函数的功能,即它能完成的操作。(2)参数的格式,包括函数的名字,参数的个数、位

52、置、数据类型。(3)函数返回值的意义和数据类型。 要检验各函数的功能,可在【立即】窗口中输入“Print 函数名(参数)”并回车,则可立即显示出该函数的值。砒垢填汀蛙六杨劫炮周额厄誉鼠咖枯我画沉蔬殊蕉奔辈勤盾沪夸闻锯恶绒第2章VisualBasic编程基础第2章VisualBasic编程基础第52页,共80页。1.数学函数 VB中的数学函数与数学中的定义一致,但三角函数中的参数以弧度为单位。(1) Sin()函数:计算角度的正弦值。格式:Sin(x)(2) Cos()函数:计算角度的余弦值。格式:Cos(x)(3) Tan()函数:计算角度的正切值。格式:Tan(x)(4) Atn()函数:计

53、算反正切值。格式:Atn(x)(5) Log()函数:计算自然对数值。格式:Log(x)(6) Exp()函数:计算以e为底的幂。格式:Exp(x)(7) Sqr()函数:计算平方根。格式:Sqr(x)轨肪牡牟纸滞螟汹滞缄早踞蹲俱做渺尺锥炽拭袋她出革奇外骑拖列儿央羹第2章VisualBasic编程基础第2章VisualBasic编程基础第53页,共80页。(8) Abs()函数:计算绝对值。格式:Abs(x)(9) Hex()函数:将十进制数值转换为十六进制数值或字符串。格式:Hex(x)(10) Oct()函数:将十进制数值转换为八进制数值或字符串。格式:Oct(x)(11) Sgn()函数

54、:判断参数的符号。 格式:Sgn(x)参数:x为一个数值型常量或变量或表达式。返回值:当x0,返回值+1;当x=0,返回值0;当x0,返回值-1。携款种墓轩束衬欠疽蹈闺焊晕胸陪目梧幅呐印雇于俄困憎强竖微原酝硒酞第2章VisualBasic编程基础第2章VisualBasic编程基础第54页,共80页。(12) 取整函数Cint()函数:将数值的小数部分进行四舍五入,然后返回一整型量。Fix()函数:返回数的整数部分Int()函数:返回不大于给定数的最大整数例 X=Int(6.5) Y=Int(-7.8) 结果:X的值为6,Y的值为-8坡拉绽滚罕憎桩万消窃奔吮复钵潘司桃角厕严歧欣腔忘蠕导卓换识藻

55、话卷第2章VisualBasic编程基础第2章VisualBasic编程基础第55页,共80页。尾诫抓梳饥悼荒奴舱香蛊廓彤媒艳萌版蜡之庄荣坐巩舟债号系铰畏柴坡艳第2章VisualBasic编程基础第2章VisualBasic编程基础第56页,共80页。(1)删除字符串前后空格函数 Ltrim()函数:去掉字符串左边的空格例 C=ABCD D=Ltrim(C) 结果:D的值为ABCD。 Rtrim()函数:去掉字符串右边空格 Trim()函数:去掉字符串左右边空格(2)字符串长度测试函数 Len()函数:求字符串长度(即字符串的字符个数)。例 xLen(AB高等教育) 结果:x的值为6。 Len

56、B()函数:求字符串存储时所占的字节数。例 xLenB(AB高等教育) 结果:x的值为12。2.字符串函数陪加帜饿栖侈郎沿夫锯扩伸咖夸抄裙瘟掠焉收卓寻碘掷客殊篆菏承遏浊焉第2章VisualBasic编程基础第2章VisualBasic编程基础第57页,共80页。(3)求子串函数Left()函数:取出字符左边的N个字符作为一个新的字符串。格式:Left(String,N)例 C=Left(ABCDEFG,3) 结果:C的值为“ABC”。Right()函数:取出字符串右边的N个字符Mid()函数:从字符串的中间取子串。 格式:Mid(String,N1,N2) 参数:从第N1个取起,取N2个。 例

57、 C=Mid(ABCDEFG,2,3) 结果:C的值为BCD。绊应准午奉苔和殊触节脉痕尝驴魂普呐悼絮鲸眺冒敛囤阉矽吹肢殴蛀疑们第2章VisualBasic编程基础第2章VisualBasic编程基础第58页,共80页。(4)String()函数:产生由字符串的N个首字符组成的字符串格式:String(N,String)例 C=String(3, ABCDEF) 结果:C的值为AAA。(5)大小写字母转换函数 Lcase(C)函数:返回以小写字母组成的字符串 Ucase(C)函数:返回以大写字母组成的字符串(6) Space$(N):返回由指定数目空格字符组成的字符串函企搅拥烁佑廓铬佯庙败粱坤显

58、掌辜哩院杉恍普跪缴耸钵础辙扣毯录屏患第2章VisualBasic编程基础第2章VisualBasic编程基础第59页,共80页。(7)查找字符串函数InStr()函数: 从字符串String1中的第N个字符开始找字符串String2。格式:InStr(N,String1,String2,M)参数:若省略N(注意:N省略,则不能带参数M),从头开始找;若有参数N,则从String1的左端第N个字符开始找。M=1表示查找时不区分大小写,M=0或M省略表示查找时区分大小写。返回值:若在String1中找到String2,则返回String1中第一次和String2匹配的第一个字符的顺序号;若找不到,

59、则函数返回0。例 x=InStr(2, EFEfCDEFG,EF,0) y=InStr(2, EFEfCDEFG, EF,1) 结果:x赋值为7,y赋值为3。InStrRev()函数:与InStr函数的作用相似,只是从String1的尾部开始找String2。格式:InStrRev(String1,String2,N,M)凿赚凉楼仪姥寞郁茶洁按边宣稻棚沈堤却包殃铰娥颂鸵沦竹阻糕死轿串模第2章VisualBasic编程基础第2章VisualBasic编程基础第60页,共80页。(9) StrConv()函数:将字符串转换成Unicode码字符串或 DBCS码字符串。格式:StrConv(Stri

60、ng,vbFromUnicodevbUnicode)参数:要求参数String为一字符串类型常量或变量或表达式。返回值:函数StrConv(String,vbFromUnicode)返回String的DBCS码字符串;StrConv(String,vbUnicode)则返回String的Unicode码字符串。懒镀忿厅僧扮攒倡叉售挡暑园迸们菇侮奉盛夜岗搜闸春膘溃憨椎死茫壤枚第2章VisualBasic编程基础第2章VisualBasic编程基础第61页,共80页。3.转换函数 转换函数用于数据类型或形式的转换,包括整型、浮点型、字符串型之间以及与ASCII码字符之间的转换。(1) Asc()函

温馨提示

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

评论

0/150

提交评论