内蒙古科技大学教案课程名称:VisualBasic程序设计编写时间:2006年7月16日授课章节第三章visualbasic语言基础$3.1$3.2$3.3$3.4目的要求熟练掌握VB数据类型;常量与变量、运算符与表达式的概念重点难点重点:VB数据类型;常量与变量、运算符与表达式的概念难点:VB数据类型;一、教学内容3.1字符集1.基本字符集:包括:数字:0~9;大小写英文字母:a~z;A~Z;特殊字符等2.VB不区分大小写(建议不要)3.2数据类型数据是程序处理的对象。在VB中,对不同类型的数据有不同的操作方式和不同的取值范围。在程序设计中,要随时注意所用数据的类型。下表列出了VB中的标准数据类型。(1)字符串型字符串包括除双引号和回车以外可打印的所有字符,双引号作为字符串的定界符号。例如:1234和张三都是字符型。注意字符串中空格是有效字符。(2)数值型VB中的数值型数据分为整型和实型两大类。(1)整型整型数是不带小数点和指数符号的数。包括整型、长整型和字节型整数。①)整型(Integer,类型符%)整型数用两个字节存储,取值范围是-32768到+32767。例如:15,-345,654%都是整数型。而45678%则会发生溢出错误。②长整型(Long,类型符&)长整型用4个字节存储,取值范围是-2147483648到+2147483647。例如:123456,45678&都是长整数型。整型和长整型数可以用十进制数、八进制数、十六进制数表示。八进制数由0~7的序列组成,前面冠以&或&O,可以带正负号。十六进制数由0~9、A~F(或a~f)的序列组成,前面冠以&H,可以带正负号。③字节型(Byte)用一个字节存储,取值范围是0到255。(2)实型实型数据分为单精度、双精度和货币型。①单精度浮点数(Single,类型符!)单精度数用4个字节存储,有7位有效数字,取值范围1.401298E-45|x|3.402823E+38。例如:3.14!,2.718282。②双精度浮点数(Double,类型符#)双精度数用8个字节存储,有16位有效数字,取值范围1.797693134862316E-324|x|4.94065645841247E+308。引入时利用词、名词、动词等的概念进行类比、说明。例如:3.14#,2.718282。((3)货币型(Currency,类型符@)货币型数据主要用来表示货币值,用8个字节存储,货币型是定点数,精确到小数点后面第4位,第五位四舍五入。整数部分最多15位。例如:3.56@、65.123456@都是货币型。(4)逻辑型(Boolean)逻辑型数据只有两个:逻辑真True和逻辑假False,用2个字节存储。当把逻辑值转化为数值型时,False为0,True为-1。(5)日期型(Date)日期型数据用8个字节来存储,日期范围从公元100年1月1日到9999年12月31日,可以用#括起来放置日期和时间,允许用各种表示日期和时间的格式。日期可以用“/”、“,”、“-”分隔开,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。例如:#1999-08-1110:25:00pm#、#08/23/99#、#03-25-7520:30:00#、#98,7,18#等都是有效的日期型数据。在VB中会自动转换成mm/dd/yy(月/日/年)的形式。(6)对象型(Object)对象型数据用来表示图形或OLE对象或其它对象,用4个字节来存储。(7)变体型(Variant)变体型也称为可变类型,它是一种特殊的数据类型。它的类型可以是前面叙述的数值型、日期型、字符型等,完全取决于程序的需要。从而增加了VB数据处理的灵活性。3.3常量与变量常量是在程序运行期间不能改变的量。;而变量占据内存单元,在程序运行期间,其内存单元中存放的数据可以随时改变,新的数据存入后,原来的数据即被清除。3.3.1、变量的命名规则(1)以字母或汉字开头,后跟字母、汉字、数字、或下划线组成的字符序列。长度不能超过255个字符。(2)不区分字母的大小写。(3)不能使用VB中的关键字。变量起名应该见名知意,培养良好的习惯。第4次第2页内蒙古科技大学教案(续页)33..33..22.常量VB的常量分为两类:一类是用户声明的常量,另一类是系统定义的常量。(1)用户声明的常量例如:我们把3.14定义为pi,在程序代码中,我们就可以在使用圆周率的地方使用pi。使用符号常量的好处主要在于,当我们要修改该常量时,只需要修改定义该常量的一个语句即可。定义常量的格式:const常量名[as类型]=表达式命名规则与变量相同。(2)系统定义常量例如:form1.Windowstate=vbMinimized意义为将窗口最小化。其中vbMinimized就是一个系统定义的常量,值为1。和form1.Windowstate=1相比较,form1.Windowstate=vbMinimized更明确地表达了语句的功能。系统定义的常量在对象库中,可以在对象浏览器中通过不同的对象库查找它们的符号及取值。3.3.3变量使用变量前,应先定义(包括变量名和类型),系统根据定义为其分配相应的内存空间,并确定该空间可存储的数据类型。(1)显式声明格式:说明符变量名[As类型]说明符是说明语句的关键字,它可以是Dim,Private,Public,Static。例如:DimaasintegerDimbaslongDimcassingle上面的3个语句可以写为:Dimaasinteger,baslong,cassingle也可以用类型符来定义变量,例如上面语句写成:Dima%,b&,c!作用是一样的。缺省[As类型]为可变类型。另外,若把多个变量都定义成同一类型,例如:把X,Y,Z都定义成双精度型,必须写成:DimXasdouble,Yasdouble,Zsdouble如果写成:Dimx,y,zasdouble则x,y定义成变体类型,z定义成双精度型。对于字符型变量,VB中分为定长和变长两种。例如:DDiimmNNaammeeaassssttrriinngg,,IIddaassssttrriinngg**1100第4次第3页内蒙古科技大学教案(续页)((22))隐隐式式说说明明VVBB可可以以使使用用未未加加说说明明的的变变量量,,这这种种方方式式称称为为隐隐式式说说明明,,系系统统默默认认为为可可变变类类型型((VVaarriiaanntt))。。建建议议初初学学者者养养成成对对变变量量显显示示说说明明的的习习惯惯,,以以避避免免一一些些不不必必要要的的错错误误。。3.4运算符与表达式3.4.1算术运算符算术运算符用来连接数值型数据进行算术运算,VB提供了7种算术运算符,如表所示。字字符符串串运运算算符符字字符符串串连连接接运运算算,,““++””或或““&&””。。注注意意::使使用用““&&””运运算算符符时时应应前前后后加加空空格格,,否否则则VVBB会会当当作作长长整整数数型型的的类类型型符符来来处处理理。。““++””和和““&&””的的区区别别::当当两两个个被被连连接接的的数数据据都都是是字字符符型型时时,,它它们们的的作作用用相相同同。。当当数数字字型型和和字字符符型型连连接接时时,,““&&””把把数数据据都都转转化化成成字字符符型型然然后后连连接接;;““++””把把数数据据都都转转化化成成数数字字型型然然后后连连接接。。例例如如。。AABBCC++DDEEFF其其值值为为AABBCCDDEEFF。。姓姓名名::&&张张三三其其值值为为::姓姓名名::张张三三。。2233&&77其其值值为为::223377。。2233++77其其值值为为::3300。。而而2233++77aabbcc则则会会出出现现类类型型不不匹匹配配的的错错误误。。33..44..33关关系系运运算算符符关关系系运运算算符符用用作作两两个个数数值值或或字字符符串串的的比比较较,,返返回回值值是是逻逻辑辑值值TTrruuee或或FFaallssee。。表表列列出出了了VVBB中中的的关关系系运运算算符符及及使使用用示示例例。。举例说明优先级。需要强调mod的使用。第4次第4页内蒙古科技大学教案(续页)3.4.4逻辑运算符与逻辑表达式44..44..44逻逻辑辑运运算算符符逻逻辑辑运运算算符符对对逻逻辑辑量量进进行行逻逻辑辑运运算算,,除除NNoott外外都都是是对对两两个个逻逻辑辑量量运运算算。。结结果果为为逻逻辑辑值值。。表表22--44列列出出了了VVBB中中的的逻逻辑辑运运算算符符。。逻逻辑辑运运算算符符的的左左右右操操作作数数要要求求为为逻逻辑辑值值。。33..44..55表表达达式式的的运运算算顺顺序序表表达达式式的的运运算算顺顺序序::函函数数运运算算--算算术术运运算算--关关系系运运算算--逻逻辑辑运运算算11..表表达达式式的的组组成成表表达达式式由由常常量量、、变变量量、、函函数数、、运运算算符符以以及及圆圆括括号号、、(()),,按按照照一一定定的的规规则则组组成成,,不不管管表表达达式式的的形形式式如如何何,,都都会会计计算算出出一一个个结结果果,,该该结结果果的的类类型型由由参参与与运运算算的的数数据据和和运运算算符符决决定定。。22..表表达达式式的的书书写写规规则则((11))表表达达式式中中的的每每个个字字符符没没有有高高低低、、大大小小的的区区别别。。((22))只只能能使使用用圆圆括括号号,,可可以以多多重重使使用用,,圆圆括括号号必必须须成成对对出出现现。。((33))VVBB表表达达式式中中的的乘乘号号““**””不不能能省省略略。。((44))能能用用内内部部函函数数的的地地方方尽尽量量使使用用内内部部函函数数。。例例如如::数数学学式式写写成成VVBB表表达达式式为为::((--bb++ssqqrr((bb^^22--44**aa**cc))))//((22**aa))第4次第5页aacbb242内蒙古科技大学教案(续页)33..关关系系表表达达式式和和逻逻辑辑表表达达式式当当使使用用关关系系运运算算符符或或逻逻辑辑运运算算符符时时,,表表达达式式又又称称为为关关系系表表达达式式或或逻逻辑辑表表达达式式。。关关系系运运算算一一般般表表示示一一个个简简单单的的条条件件。。例例如如::aaggee2200、、ssccoorree8800、、xx++yyzz等等。。逻逻辑辑表表达达式式表表示示较较复复杂杂的的条条件件。。例例如如::数数学学中中的的00xx55,,写写成成VVBB表表达达式式应应为为00xxAAnnddxx55。。44..结结果果类类型型算算术术表表达达式式中中,,不不同同类类型型的的数数据据计计算算时时结结果果转转化化成成精精度度高高的的类类型型。。关关系系表表达达式式和和逻逻辑辑表表达达式式的的结结果果是是逻逻辑辑值值::TTrruuee、、FFaallssee。。55..优优先先级级圆圆括括号号算算术术运运算算符符关关系系运运算算符符逻逻辑辑运运算算符符。。课堂教学小结:这节课内容知识点较为分散,学生容易分心。因此在课堂教学时,需要时时举例,并且可以故意制造错误,让学生找错,以起到集中学生注意力的目的。并且,需要在以后的授课中,复习这节课的内容。作业:课后59页三解答题1~8第4次第6页