第02章程序设计入门

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章程序设计入门语言和语法是VisualBasic程序设计基础,本章的主要内容有:•2.1VisualBasic中的数据类型•2.2常量与变量•2.3表达式•2.4常用内部函数•2.5语句和程序2.1VisualBasic中的数据类型2.1.1数据的分类数据的概念:用于描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合统称为数据。数据的分类:从数据的类型来分,数据可分为:数值型数据、字符型数据、逻辑型数据、日期型数据等。从数据的处理层次上分,数据又可分为:常量、变量、函数和表达式。2.1.2标准数据类型VisualBasic中的基本数据类型数据类型关键字占字节数范围字节型Byte10~255整型Integer2-32768~32767长整型Long4-2147463648~2147483647单精型Single41.4E-45绝对值3.4E38双精型Double84.94D-324绝对值1.8D308货币型Currency8-922337203685477.5808~922337203685477.5807逻辑型Boolean2True与False日期型Date801/01/100~12/31/9999变长字符串String字符串长度0~大约20亿字节定长字符串String*sizesize0~65535个字节(64KB)对象型Object4任何对象引用可变类型(数值)Variant16任何数值,最大可达Double的范围可变类型(字符)Variant字符串长度与可变长度字符串有相同的范围说明:1.其中前六个为数值型,它们的区别如下:◆Byte型:不能表达负数,只能表达0-255内的整数,不能使用小数。◆Integer与Long型:只能表达整数,数值范围达到+/-21亿,但运算速度较慢。◆Single、Double与Currency型:数据可包含小数,其中Single型的精度为7位,Double型的精度达到15位,Currency型支持小数点左边15位右边4位。Single与Double的有效范围比Currency大得多,但精度低。2.所有数值型的数据可以互相赋值,若将浮点型数赋给整型数,将对小数进行四舍五入后再赋值。3.在VisualBasic中,数值型数据都有一个有效的范围值,程序中的数据如果超出规定的范围,就会出现“溢出”信息(Overflow)。如果小于范围的下限值,系统将按“0”处理;如果大于上限值,则系统只按上限值处理,并显示出错误信息。4.String型可分为定长和变长两类,定长型可容纳65535个字符,变长型可容纳20亿个字符。5.Date型用于表示日期时间,在VB中Date型数据必须用“#”括起来,有三种标准格式:⑴#月/日/年#例如:#12/23/1998#⑵#时:分:秒AM|PM#例如:#8:05:34AM#⑶#月/日/年时:分:秒AM|PM#例如:#12/23/199821:11:00PM#VisualBasic除接受标准格式外,也接受非标准格式,例如:#1999-2-8#、#1999/2/8#、#February8,1999#、#8February,1999#它们都表示1999年2月8日,但#1999年2月8日#是错误的。建议尽量使用标准格式,因为非标准格式容易产生歧义,例如#02-3-8#就不表示2002年3月8日,而是表示2008年2月3日。在VisualBasic的“立即”窗口(如图2-1所示)(按Ctrl+G键打开)可验证上述结果。图2-1VisualBasic的“立即”窗口2.1.3构造类型除了上面介绍的基本数据类型外,在VisualBasic中还提供了构造类型,主要包括数组、用户自定义类型、以及枚举类型等。构造类型实际上是由基本类型的数据按一定的规则组合而成的,也称为“导出类型”。构造数据类型将在第六章进行详细介绍。6.Variant型是可变型(变体型),除了定长String型和自定义类型外,它可存放任何类型的数据,是一种万能的数据类型。我们在2.2节中再对变体型变量进行详细介绍。在程序中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。常量在程序执行期间是不发生变化的,而变量的值是可变的,它代表内存中指定的存储单元。2.2常量与变量常量:常量是指在程序运行过程中始终保持不变的数值、字符串等常数。在VisualBasic中,有两种形式的常量:文字常量和符号常量。1.文字常量文字常量也称为直接常量,就是在程序代码中,以直接明显的形式给出的数。根据常量的数据类型有:数值常量、字符常量、日期/时间常量、布尔常量。2.2.1常量(1)数值常量数值常量共有5种表示方式:整数、长整数、定点数、浮点数和字节数。整数、长整数、字节数的取值范围和表示方法:见前一节,在表示它们的常量时取值范围要在其所表示数的范围之内。例如,整数数值常量:10,2566,-38,0;长整数数值常量:-524698,26938,0;字节数值常量:255,128,0。定点数:定点数是带有小数点的正数或负数。定点数表示数的范围比较小。例如:3.141593,32.28,-5.6,10.0,0.0。定点数可以是单精度,也可以是双精度,也可是是货币类型。浮点数:浮点数分为浮点单精度数和浮点双精度数。浮点数由尾数、指数符号和指数三部分组成,其中尾数本身也是一个浮点数。指数符号E或D的含义为乘以10的幂次。例如:3.612E+38,-9.223D-345,0.234E-36,-0.2E8。(2)字符常量由ASCII字符、汉字所构成的字符序列,在表达时必须用双引号括起来,例如:ABC-123,”234.456”,”河北科技大学”等。(3)日期/时间常量用以表达某一天或某一具体时间,使用时必须用“#”号括起来。例如:#5/20/2000#,#2000-5-20#,#5/21/200110:20pm#等(4)布尔常量即逻辑常量,其取值只有两个:True和False。True表示逻辑值真,False表示逻辑值假。2.符号常量符号常量是指用一个符号代表常量值,该符号在程序中表示恒定值。符号常量有两种来源:用户定义的符号常量和内部的(或系统)定义的符号常量。(1)用户定义的符号常量用户可以自己定义符号常量,以便在一个程序中使用这个符号所代表的常量。符号常量的定义格式为:Const符号常量名[As数据类型]=表达式例如:ConstPI=3.14159ConstRAsInteger=100*5例题2.1使用上面定义的符号常量,计算半径(R)为100的圆周长,圆面积和球体体积。设计一个窗体Form1,在其中添加命令按钮Command1,如图2-2所示:图2-2程序运行结果在命令按钮的鼠标单击事件过程中添加如下代码:PrivateSubCommand1_Click()ConstPI=3.14159ConstRAsInteger=100*5s=2*PI*Ra=PI*R*Rv=4/3*PI*R*R*RPrints=;sPrinta=;aPrintv=;vEndSub(2)内部的(或系统)定义的符号常量内部或系统定义的常量是VB和控件提供的。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。可以在“对象浏览器”中查看内部常量。选择“视图”菜单中的“对象浏览器”,则打开“对象浏览器”窗口,。在下拉列表框中选择VB或VBA对象库,然后在“类”列表框中选择常量组,右侧的成员列表中即显示预定义的常量,窗口底端的文本区域中将显示该常量的功能。此外还有一些系统定义的符号常量。例如:“vbCrLf”回车/换行符常数,它就是系统常量,等效于Chr$(13)+Chr$(10)。2.2.2变量变量:在程序执行期间其值是可变的量,变量是存储数据的地方,每个变量均有属于自己的名字和数据类型。变量的名字称为变量名。⑴变量的定义:变量定义时必须定义其变量名和数据类型。定义变量的语句为:Dim|Static|Public|Private变量名As数据类型⑵Dim|Static|Public|Private可选四者之一,其含义是:◆Dim|Private:常用于过程或模块中定义本地变量(局部变量),当过程执行完后这些本地变量将被释放.◆Static:常用于过程中定义静态变量,当过程执行完后其值不会被释放,将继续保留以供下次调用本过程时引用.◆Public:用于定义公用变量(全局变量),该变量在整个程序中均有效,可被应用程序的所有过程引用和访问.⑶变量名的命名规则:◆变量名不得以数字开头.如:12a,5SUM等都是错误的.◆变量名的长度不得超过255个字符.◆变量名不得与关键字同名.如:CONST,Public等均为非法变量名.举例:DimStrAsString定义str为变长字符型变量.DimPasswordAsString*6定义为定长(6个字符)字符型变量.StaticNumbAsLong定义Numb为长整型的静态变量.可演示:在一个命令按钮的事件过程中添加如下代码:PrivateSubCommand1_Click()StaticNumbAsLongNumb=Numb+1Form1.ClsForm1.Print已单击的次数为:;NumbEndSubPrivateSubForm_Click()EndEndSub下面给出运行的效果:⑷在过程内部定义的变量称为“过程级变量”,其作用域仅局限于定义它的过程,因此,在不同的过程中可使用同名的过程级变量.定义的关键字一般用Dim或Static.⑸在窗体、模块的声明段声明的变量称为“模块级变量”,分为仅供本模块使用的模块级变量(用Private声明)和供所有模块使用的模块级变量.⑹变量的隐性声明:VB允许不进行数据类型声明,而直接引用,则此变量默认的数据类型为Variant.单击窗体可退出!变体型变量1.Variant变量的定义和其他基本数据类型一样,用户也可以定义变体类型的变量。Variant变量可以用普通数据类型变量的格式定义,也可以使用默认定义。例如:DimSomeValueAsVariantDimSomeValue都可以把SomeValue定义为Variant变量。如前所述,如果一个变量未经定义而直接使用,则该变量为variant类型变量。在Variant变量中可以存放任何类型的数据,包括数值、文本字符串、日期和时间。向Variant变量赋值时不必进行任何转换,VisualBasic自动执行必要的转换。(1)如果对Variant变量进行算术运算,则必须确保变量中存放的是某种形式的数值,包括整数、浮点数、定点数或可以解释为数值的字符串。如果Variant变量中的内容是XYZ90,则不能对其进行算术运算,因为XYZ90不是有效的数值。类似地,可以对“+10”或“-2E3”进行算术运算,但不能对“123EX”进行这种操作。(2)运算符“+”既可以用于数值相加,又可以用于字符串连接(见2.3.1节)。当在两个Variant变量之间使用“+”运算时,其结果可能出乎意料,具体结果取决于两个变量中的内容。为了避免出现这种情况,在进行字符串连接时,最好使用运算符“&”。Variant变量的使用十分灵活,因为在对它赋值时不必考虑类型转换的问题。但是,这种灵活性同时也带来一定的“隐患”,主要有以下两个方面:2.Variant变量值的内部表示Variant变量的内部表示与各种基本数据类型及时间/日期类型相对应,见表2-2。符号常量值内部表示V_EMPTY0EmptyV_NULL1NullV_INTEGER2IntegerV_LONG3LongV_SINGLE4SingleV_DOUBLE5DoubleV_CURRENCY6CurrencyV_DATE7Date/TimeV_STRING8StringV_OLE9OLEAutomationObjectV_ERROR10ErrorV_BOOLEAN11BooleanV_VARIANT12Variant(仅用于变体数组)V_

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功