您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 最新VB教程 03 第三章
计算机软件技术基础计算机软件技术基础授课教师:赵海燕2010年10--12月2第3章数据类型、常量与变量31数值型类型名中文名字节表示范围精度Integer整型2-32768~32767精确Long长整型4-2147483648~2147483647精确Single单精度浮点型4-3.402823E1038~3.40282310386-7位有效数字Double双精度浮点型8-1.7976931348623210308~1.797693134862321030815位有效数字Currency货币型8-922337203685477.5808~922337203685477.580715位整数,4位小数Byte字节型10~255精确3.1基本数据类型42String(字符串型)①字符串是指连续的字符序列。②字符串数据类型是专门用来存放文字信息的。③字符串型又分为“定长字符串型”和“变长字符串型”两大类。④字符串类型所占的内存空间大小与字符串长度有关。3Boolean(逻辑型、布尔型)①Boolean类型的数据只可能有两个值:True(逻辑“真”)和False(逻辑“假”),用来表示“是”与“否”、“开”与”关”、“对”与”错”这类只有两种取值的情况。②一个逻辑型数据却要占2个字节的存储空间。54Date(日期时间型)①Date类型又称为日期型②这种类型的数据可以存放日期信息、时间信息或者同时存放日期与时间信息。③Date类型数据用8个字节来表示日期和时间(公元100年1月1日~9999年12月31日)5Object(对象型)和Variant(变体类型)将分别在3.3.6和3.3.7节中讲解。61.整型常量:①十进制:例如1、20、500、-101、230594整型常量之后加“&”字符,成为长整型常量整型常量与长整型常量数值大小相同,占用内存不同②八进制:以“&O”(字母O)开头,后面接由0~7组成的八进制数例如&O11、&O123错误:&O813.2直接常量72.浮点型常量:①普通记法:例如1.2、-1.424.0.22注意保留小数点②科学记法:指数形式表示,用mEn表示m×10m为整数或者实数常量,n为整数常量,m和n都不可省略。③例如1.2E10、-1.23E-3错误:1.2E1.4、E4、12E③十六进制:以“&H”开头,后面接由0~9、A~F组成的十六进制数例如&H11、&HFF错误:&HFRn83.字符串型常量:①使用英文的双引号把实际文本括起来,双引号成为字符串的“界定符”。②包括汉字、中文标点、英文和英文符号③“”中间没有任何字符表示空字符串④“”“”表示一个双引号⑤字符串常量中的双引号必须成对出现。⑥例如VisualBasic、你好!4.逻辑型常量:只有两个True、False5.日期时间型常量:使用“#”号作界定符,例如#1/1/2005#、#April1,2005#、#1:00:00PM#91.变量:在程序执行过程中存储临时数据的命名内存单元,也称“内存变量”。2.变量名:程序是通过变量名来保存和访问相应内容单元中的值。3.3变量在VB中变量名有如下规则:•以字母开始,可以包括字母、数字和下划线;•不能包含标点符号;•不能多于255个字符;•不能与保留关键字重复(如:End、Private、Sub);•在同一作用域中,变量名不能重复。104.定义变量:Dim|Static|Private|Public变量名As数据类型名5.变量赋值:通过以下形式的语句为变量赋值。3.变量的数据类型:数据类型决定变量占用内存的大小、数据处理的方式、表示值的范围。11变量赋值形式一:变量名=表达式①赋值语句的作用是把一个表达式的值赋予一个变量,即保存到变量所占的内存空间。②被赋值之后变量旧值被覆盖,变为新值。③被赋的新值的类型和大小应与变量的数值类型相一致,否则会出错。④在过程、函数调用过程时,可以通过参数传递的方式为被调用过程中的变量赋值。12变量赋值形式二:引用变量的值①将变量名写到表达式中、过程函数实参表中,实际上就是对变量的值进行引用。②如下式中,是将变量b和c的值求和后赋给变量a。a的值变为新值,b和c的值被引用,并未改变。a=b+c13(1)过程级变量也称为“局部变量”,在过程中定义,作用域为所在的过程。定义过程级变量的方法有两种:①Dim变量名[AS数据类型名]'动态局部变量②Static变量名[AS数据类型名]‘静态局部变量如:DimaAsInteger6.变量的作用域变量的作用域决定了一个变量在什么代码范围内可以被访问。定义变量时使用的关键字及定义变量的位置决定变量的作用域。变量有三种作用域:过程级、模块级和全局级。14说明:①使用Dim关键字定义的局部变量,只在定义它的过程执行时存在,过程执行完变量即消失。下一执行该过程时,会重新生成变量,重新初始化。②使用Static关键字定义的局部变量称为“静态变量”,在整个程序运行过程都存在,但只能被定义它的过程所用。每次执行不重新进行初始化。可以在一个过程的多次执行之间保持其值。15(2)模块级变量在模块顶部的“通用声明段”中定义,在该模块中的所有过程中可用。定义的方法(两种方法等价):①Dim变量名[As类型名]②Private变量名[As类型名]如:PrivatedAsDatePrivateS1AsString(定义变长字符串变量)PrivateS2AsString*4(定义定长字符串变量)一个定长字符串变量所占的内存空间是一定的,当其中的字符信息没达到这个长度时,所剩的空间用户“空格“填充。如果给定长字符串变量赋一个超过其长度的字符串,会被截掉多余部分,不会出现“溢出”错误。16(3)应用程序级变量也称为“全局变量”或“公共变量”,在模块顶部的“通用声明段”中使用Public关键字定义。全局变量在程序(即同一个工程中)的所有模块中皆可用。定义方法:Public变量名[As类型名]如:PublicpAsBoolean说明:①不能在窗体模块中定义全局定长字符串变量。应在标准模块中定义全局定长字符串变量。17②访问另一个模块中定义的全局变量,应在变量名前加模块名修饰。如Form2.int1=2③在没有重名的情况下,访问标准模块中的全局变量,不必加模块名。187一条语句定义多个变量Public|Private|Dim|Static变量1[As类型1][,变量2[As类型2]……]①每个变量都要指明类型,否则被定义为变体类型。例如,下面语句定义了三个模块级变量,其中a和b是变体类型,c是整型:Privatea,b,cAsInteger下面的语句定义的三个变量都是整型全局变量:PublicaAsInteger,bAsInteger,cAsInteger19变量被定义之后,在第一次赋值之前,并不是没有值的,而是具有默认值。(1)数值型变量的默认值为0;(2)逻辑型变量的默认值为False;(3)日期时间型变量的默认值为#0:00:00#;(4)变长字符串变量的默认值为空字符串;(5)定长字符串变量的默认值是全部由空格组成的字符串,空格个数等于定长字符串的字符个数;(6)对象型变量的特殊值为Nothing;(7)变体类型变量的默认值为Empty。②变量的默认值208强制变量定义默认情况下,所有未出现过程的标识符,都被VB当成变体类型的变量。这样,使得程序不容易调试,可以在模块声明段中加上:OptionExplicit使得所有的变量必须定义才能使用。21(1)变量的值除非被赋以新值,否则其值不会自动变化;赋以新值之后,旧值自动消失。(2)使用如下语句为变量赋值:[Let]变量名=新值(3)对于数值类型变量,如果被赋的新值超出其可表示的范围,会出现“溢出”错误;(4)将变量名写在表达式中,或给其他变量或属性赋值,或用作过程或函数的参数,表示使用变量的值;9变量的赋值与取值【例3.1】使用过程级变量【例3.2】使用模块级变量【例3.3】为模块级变量赋初值22(1)不允许同名的情况①一般情况下,在同一作用域内不能定义重名的变量。②同一个过程中不能定义两个或更多的同名过程级变量,既使类型不相同也不能同名。③同一个模块中不能定义同名的模块级变量。④同一个模块中不能定义同名的全局变量。⑤同一个模块中的模块级变量和全局变量不能同名。10变量重名问题23(2)允许同名的情况①不同的过程中可以定义同名的过程级变量。②不同的模块中可以定义同名的模块级变量。③过程中可以定义与模块级变量同名的过程级变量。④过程中可以定义与全局变量同名的过程级变量。⑤模块中可以定义与其他模块定义的全局变量同名的模块级变量。⑥不同的模块中可以定义同名的全局变量。24(3)变量同名时的情况①不同作用域的变量同名时,作用域小的变量会屏蔽作用域大的变量,即过程级变量屏蔽模块级和全局变量,模块级变量屏蔽全局变量。例如,在例3.2中,按钮事件过程中的变量i屏蔽模块级变量i,过程中被访问的i实际上是过程级变量。②如果不同模块中全局变量同名,访问其他模块中定义的全局变量时应添加模块名进行限定(形式为“模块名.变量名”)。访问本模块或标准模块中定义的全局变量时不必进行限定。如果本模块与标准模块中的全局变量同名,访问标准模块中的全局变量时也应加模块名进行限定。25③当全局变量与过程级变量同名时,在过程中直接使用这个变量名时,指的是过程级变量。如果使用定义全局变量的模块名来限定变量名,则可访问该全局变量。④如果本模块中的模块级变量与其他模块中的全局变量同名,可以在变量名前加模块名来访问全局变量。26①对象型变量占用4个字节共32位的内存空间;②对象型变量保存的是某一个对象的引用(即内存中的地址);③程序对对象型变量的操作等于对它所引用对象的操作;④对象型变量在被定义但未被赋值时的值是一个特殊值:Nothing。⑤对象型变量没有默认值,定义之后未赋值之前不能使用。例:DimobjFirstAsObject(定义)SetobjFirst=cmdOKobjFirst.Caption=OK:objFirst.Move120,234,345SetobjFirst=txtEdit:objFirst.Text=Hello11对象型数据类型(Object)定义对象型变量:Public|Private|Dim|Static变量名AsObject|Control|对象类型名给对象型变量赋值:Set对象型变量名=对象型表达式27⑥Object类型的变量可以引用任何一种类型的对象。⑦如果在使用中,一个变量只引用一种特定类型的对象时,就可以将该变量定义为此特定类的对象型变量。定义特定类型对象型变量,要使用对象的类型名,如已学习过的:Form、Textbox、CommandButton、Line、Shape等。特定类型对象型变量只能引用同一类型的对象。例:DimobjSecondAsCommandButtonSetobjSecond=cmdOK:objSecond.Caption=Hello!例:DimobjThirdAsFormSetobjThird=cmdOK(错误!)28①变体类型变量可以存贮几乎所有系统定义类型的数据(除定长字符串和用户自定义类型)。②把其它类型的数据赋给变体变量,变体变量的类型会随之变化,适应新的值。③变体变量在存放数值时,占16字节的内存;存放字符串时,占用22个字节加字符串长度的内存。例:DimvntFirstAsVariant(定义)vntFirst=“17”(数据类型为字符串型,值“17”)vntFirst=15(数据类型为数值型,值为15)12变体类型(Variant)变体类型变量定义:Public|Private|Dim|Static变量名[AsVariant]29④变体变量类型是默认类型,在定义变量时可以省略“AsVariant”。⑤变体变量也可以引用对象,赋值时须使用Set语句。例:DimvntSecond(定义)vntFirst=1234(为数值型1234)Setv
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:最新VB教程 03 第三章
链接地址:https://www.777doc.com/doc-3793789 .html