vb语法详解PPT课件_第1页
vb语法详解PPT课件_第2页
vb语法详解PPT课件_第3页
vb语法详解PPT课件_第4页
vb语法详解PPT课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

.,第五章VB语法基础,本章内容及要求:1.熟悉VB程序中代码和语句书写规则;2.掌握VB的数据类型;3.掌握VB的运算符和表达式的使用;,本章重点:变量和常量的定义及使用、运算符和表达式的使用。,本章难点:数据类型。,.,5.1VB语言字符集及编码规则,5.1.1VB的字符集,l字母:大写英文字母AZ;小写英文字母az。l数字:0一9;l专用字符:共27个,P48表。,5.1.2编码规则与约定,(一)编码规则1VB代码中不区分字母的大小写。2同一行上可以书写多条语句,但语句间要用冒号“:”分隔。3若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,1个空格加下划线“_”。,.,4一行最多允许255个字符。5注释以Rem开头,也可以使用单引号“”,注释内容可直接出现在语句的后面。6在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。,(二)约定,1为了提高程序的可读性,对于VB中的关键字其首字母大写,其余字母小写2.注释有利于程序的维护和调试Rem开始或单撇。例如:ThisisaVBREMThisisaVB在6.0中新增了“块注释/取消块注释”(视图/工具栏/编辑),.,3通常不使用行号4对象名命名约定:每个对象的名字由3个小写字母组成的前缀(指明对象的类型)和表示该对象作用的缩写字母组成。如命令按钮前缀:cmd,.,5.2数据类型,5.2.1标准数据类型,.,5.2.2自定义类型,在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。使用形式:Type自定义类型名元素名(下标)As类型名元素名(下标)As类型名.EndType见下例,.,TypeStudentXhAsStingXmAsStringXbAsStringNlAsIntegerScoreAsSingleEndType,例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。,.,5.3常量和变量,5.3.1常量在程序运行过程中,其值不能被改变的量称为常量。在VB中有三类常量:普通常量符号常量系统常量一、普通常量1整型常量(1)整型(Integer):表示-32768至32767之间的整数例如:1011020(2)长整型(Long):表示-2,147,483,648至2,147,483,647之间的整数例如:长整型常数的书写:23SumEndSub,3强制显式声明OptionExplicit语句,良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。VisualBasic中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:OptionExplicit,.,5.4变量的作用域,概述:,在VB中,由于可以在过程中和模块中声明变量,根据定义变量的位置和定义变量的语句不同,变量可以分为:局部变量(过程级变量)窗体/模块级变量(私有的模块级变量,能被本模块的所有过程和函数使用)全局级变量(公有的模块级变量)。,.,5.4.1过程级变量局部变量,局部变量:在过程内用声明的变量,只能在本过程中使用。,在过程内部使用Dim或者Static关键字来声明的变量,只在声明它们的过程中才能被访问或改变该变量的值,别的过程不可访问。所以可以在不同的过程中声明相同名字的局部变量而互不影响。,.,例:PrivateSubForm_Load()Dimn%n=10EndSubPrivateSubFrom_Click()Dimn%Print“n=“;nEndSub,程序运行后单击窗体,其输出结果是什么?,.,5.4.2窗体/模块级变量,窗体/模块级变量:在“通用声明”段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任何过程访问。但其他模块却不能访问该变量。例如:在“通用声明”段声明如下变量PrivatesAsStringDimaAsInteger,bAsSingle,.,5.4.3全局变量,全局变量也称公有的模块级变量,在窗体模块或标准模块的顶部的“通用”声明段用Public关键字声明,它的作用范围是整个应用程序,即可被本应用程序的任何过程或函数访问。例如:PublicaAsInteger,bAssingle,.,3种变量声明及使用规则如下表:,.,一、公用变量与局部变量同名在不同过程中定义同名变量,它们互不影响,但若在一过程中定义使用了与全局变量同名的变量,则就应注意。,5.4.4关于多个变量同名,注意:在过程中,如果定义了与模块级变量(在通用部分使用Private或Dim声明的变量),则在该过程内不能引用同名的模块级变量。例如,上面的例子中,如果将定义全局变量的语句PublicTempAsInteger改为PrivateTempAsInteger则在Command1的单击事件中就不使用模块级的Temp变量。,.,PublicTempAsInteger定义全局变量PrivateSubForm_Load()Temp=1将全局变量Temp的值设置成1EndSubPrivateSubCommand1_Click()DimTempAsInteger定义局部变量Temp=2将局部变量Temp的值设置成2Printtemp=;TempPrinttemp=;Form1.TempEndSubPrivateSubCommand2_Click()Printtemp=;TempEndSub,.,二、全局变量同名如果不同模块中的全局变量使用同一名字,则通过同时引用模块名和变量名就可以在代码中区分它们。例如,如果有一个在Form1和Module1中都声明了公用的Integer变量intX,则把它们作为MX和FX来引用便得到正确值。也就是说如果不同模块中的全局变量使用同一名字,引用时就需要使用“模块名.变量名”的形式来区分它们。,.,5.4.5静态变量,除作用域之外,变量还有存活期,在这一期间变量能够保持它们的值。在应用程序的存活期内一直保持模块级变量和全局变量的值。但是,对于Dim声明的局部变量仅当过程执行期间存在,当一个过程执行完毕,它的局部变量的值就已经不存在,而且变量所占据的内存也被释放。当下一次执行该过程时,它的所有局部变量将重新初始化。,概念,局部变量的存活期由其定义的关键词来决定。,.,局部变量声明:Dim声明:随过程的调用而分配存贮单元,变量的初始化;过程体结束,变量的内容自动消失,存贮单元释放。Static声明,每次调用过程,变量保持上次调用结束时的值。声明形式:Static变量名AS类型StaticFunction函数过程名(参数列表)As类型StaticSub子过程名(参数列表)注意:过程名前加Static,表示该过程内的局部变量都是静态变量。,.,例5.2有一个人编了下面一段程序,想用变量n记录单击窗体的次数。PrivateSubForm_Click()DimnAsIntegern=n+1Print已单击次数:;n&次EndSub,分析程序运行后多次单击窗体的输出结果:,要记录单击窗体次数,如何实现?并比较使用模块变量和静态变量的差别。,.,PrivateSubForm_Click()Dimi%,isum%Fori=1To5isum=sum(i)Printisum,NextiEndSub,PrivateFunctionsum(nAsInteger)DimjAsIntegerj=j+nsum=jEndFunction,12345,StaticjAsInteger结果如何?,补充例题:,.,5.5运算符和表达式,一.运算符5.5.1.算术运算符(均是双目运算,ia=3)例:5+10mod109/3+22结果是:,10,.,说明:计算时自动调整精度5.5.2.字符串运算符与字符串表达式字符串运算符有:、+。功能是字符串连接例如:ABCD+EFGHI结果为:ABCDEFGHI“VB”&“程序设计教程”结果为:VB程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:+(连接运算):两个操作数均应为字符串类型;&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。,.,例:100+123结果为223100+123结果为100123Abc+123出错100&123结果为100123100&123结果为100123Abc&123结果为Abc123Abc&123结果为Abc123,注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。,.,5.5.3关系运算符与关系表达式,关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。VB中的关系运算符如下表所示。,.,关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。(2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。例:ABCDEABRA结果为False,(3)数值型与可转换为数值型的数据比较,如:29189,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,如:77sdcd,不能比较,系统出错。(5)“Like”运算符是VB6.0新增加的。其使用格式为:str1Likestr2,.,5.5.4逻辑运算符与逻辑表达式Not逻辑非为单目运算符(要求一个操作数),其它为双目运算符。条件表达式1And条件表达式2条件表达式均为T结果为T条件表达式1Or条件表达式2条件表达式有一个T结果为T,.,说明:(1)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于关系运算,Imp(逻辑蕴含)最低。(2)VB中常用的逻辑运算符是Not、And和Or。它们用于将多个关系表达式进行逻辑判断。例如,数学上表示某个数在某个区域时用表达式:10X=10AndX=字符运算符关系运算符逻辑运算,说明:1当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。2可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号

温馨提示

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

评论

0/150

提交评论