《第05章语法基础精.ppt》由会员分享,可在线阅读,更多相关《第05章语法基础精.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第05章语法基础第1页,本讲稿共32页第五章第五章 语法基础语法基础1数据类型数据类型2常量常量3变量变量4运算符运算符第2页,本讲稿共32页一、数据类型一、数据类型现实生活中信息可以用不同的数据类型来表示,信息的类型有好多种的,在编程中就是不同的数据类型。第3页,本讲稿共32页1.我叫“张三”2.今年21岁了3.我的身高是1.804.问我是男子么,我是的(True)5.我生日是88年10月1日第4页,本讲稿共32页数据类型(数据类型(1)一用于保存数字的几种数字类型(一用于保存数字的几种数字类型(括弧里面为括弧里面为相应类型的类型符)相应类型的类型符)Interger16位整型位整型 (%)
2、Long32位整型位整型 (&)Single32位单精度浮点位单精度浮点 (!)Double64位双精度浮点位双精度浮点(#)Currency64位精确定点位精确定点(整数整数15位小数位小数4位位)()Byte8位位1字节型字节型 如果数值超过相应数的上限或下限,将会报如果数值超过相应数的上限或下限,将会报“溢溢出出”错误哦。错误哦。第5页,本讲稿共32页数据类型(数据类型(2)二用于进行逻辑判断的二用于进行逻辑判断的Boolean类型类型16位位/2个字节个字节,取值只有取值只有True和和False从其它数据类型转换为从其它数据类型转换为Boolean时时0转成转成False,其它值为其
3、它值为True从从Boolean转换为其它数据类型时转换为其它数据类型时False转成转成0,True为为-1第6页,本讲稿共32页数据类型(数据类型(3)三用于保存字符串的三用于保存字符串的String类型(类型符类型(类型符$)双引号括起,例如:双引号括起,例如:“张三张三”,“黄帝祭祖大典黄帝祭祖大典”,“My Computer”变长变长String,最多,最多231个字符个字符如如:Dim temp As string定长定长String,最多最多216,不足字符以空格填充不足字符以空格填充如如:Dim temp As string *5 长度为长度为5的字符串值的字符串值第7页,本讲
4、稿共32页数据类型(数据类型(4)四用于保存日期的四用于保存日期的Date类型类型64位位,识别多种日期格式识别多种日期格式,除汉字日期以外除汉字日期以外两种格式:两种格式:#mm/dd/yyyy#mm-dd-yyyy#如如:Dim birthday As Datebirthday=#12/5/78#birthday=#1990-12-5 12:00:00 AM#birthday=#January 1,1993#取值范围为:取值范围为:100年年1月月1日日9999年年12月月31日日第8页,本讲稿共32页数据类型(数据类型(5)五用于保存对象引用的五用于保存对象引用的Object类型类型32
5、位位,保存对对象的引用(地址),只能用保存对对象的引用(地址),只能用Set语语句赋值句赋值,未赋值前的值为未赋值前的值为Nothing六六.万能的万能的Variant类型(变体型)类型(变体型)一种万能的数据类型,除定长字符串以外,他可以一种万能的数据类型,除定长字符串以外,他可以表示任何数据类型的数据,根据值得不同可以变表示任何数据类型的数据,根据值得不同可以变化数据类型。化数据类型。Dim temp as Variant 声明的代码声明的代码 声明为声明为temp的变量的初始值为的变量的初始值为Empty第9页,本讲稿共32页数据类型(数据类型(6)七自定义数据类型七自定义数据类型Typ
6、e 自定义类型名自定义类型名元素名元素名 As 数据类型数据类型元素名元素名 As 数据类型数据类型元素名元素名 As 数据类型数据类型.End Type类似于类似于C语言中的结构类型语言中的结构类型如:如:Type Student ID as long Name as string*10End TypeDim Stu1 As StudentStu1.Name=“zhang”第10页,本讲稿共32页数据类型间转换数据类型间转换数据类型间常常会相互进行转换数据类型间常常会相互进行转换1.隐性的转换隐性的转换 例如:例如:text1.text=123 (此处此处VB会把会把123转换为转换为字符串
7、型字符串型)变体(变体(variant)类型根据上下文的转换。)类型根据上下文的转换。2.显性的转换显性的转换 例如:例如:val(text1.text)这时把文本域中的字符串这时把文本域中的字符串显性转为数值。显性转为数值。例如:例如:cdate(exp)cint,clong,cstr 函数都可以强制将一个表达式转换成某种特定数据类型函数都可以强制将一个表达式转换成某种特定数据类型,如果传递给函数的expression 超过转换目标数据类型的范围,将发生错误第11页,本讲稿共32页数据类型的其他相关数据类型的其他相关通过通过TypeName(varName)来判断变量当前的数据类型来判断变量
8、当前的数据类型几个特殊的变量的值:几个特殊的变量的值:Empty值:在赋值前,表示未初始化的变量值值:在赋值前,表示未初始化的变量值,Variant型变量具型变量具有该值。有该值。Nothing值:在声明对象值:在声明对象object变量后,变量后,object变量没有拿到任何对变量没有拿到任何对象引用时的值。象引用时的值。“”(空字符串值)(空字符串值):在声明一个:在声明一个String变量后,未初始化变量后,未初始化赋赋值时值时的值。的值。第12页,本讲稿共32页二、常量第13页,本讲稿共32页常量(Constants)有些在程序中不变的数据,会固定取某一个值,我们称这样的数据为常数。两
9、种常量:系统常量和用户定义常量系统常量在编程中随处可见,如颜色值:vbRed,vbBlue,vbYellow,vbResizable,vbModal,vbModeless,等等用户定义常量是通过Const语句自己定义的。第14页,本讲稿共32页Public|Private Const 常量名常量名=表达式表达式如:如:Const conPi=3.1415926 Const unitName=“郑大西亚斯国际学院郑大西亚斯国际学院”const BuildDate=1949-10-1常量常量常量有什么好处呢?避免值的不统一时的冲突情况,如pi值取”3.14”和”3.1415926”的情况。可简化常
10、量值变化后,代码需要更改的工作量。因此养成好习惯,需要时使用常量。第15页,本讲稿共32页三、变量(Variables)第16页,本讲稿共32页所谓变量,就是相对于常量来说没有固定的值。所谓变量,就是相对于常量来说没有固定的值。想一下:现实生活中那些值常变哦。想一下:现实生活中那些值常变哦。变量名称变量名称如何声明如何声明使用使用变量的作用域变量的作用域变量变量第17页,本讲稿共32页一合法变量名一合法变量名以中英文字符开头以中英文字符开头,可以包含英文字母、中文、数字、,可以包含英文字母、中文、数字、下划线;下划线;不能是系统已有的关键字不能是系统已有的关键字,如,如Date、if、End;
11、不能超过不能超过255个字符个字符;在同一作用范围区域中必须唯一在同一作用范围区域中必须唯一,比如同一个事件,比如同一个事件过程中不能有两个同名的变量。过程中不能有两个同名的变量。变量的命名变量的命名第18页,本讲稿共32页Public|Private|Static Dim 变量名变量名 As 类型类型如:如:前面部分为前面部分为变量作用域变量作用域,英文含义分别为共有,私有,静态,英文含义分别为共有,私有,静态,和声明和声明变量名要按照变量名要按照上述命名要求上述命名要求*如果如果不写不写As 类型类型部分部分,表示声明了一个,表示声明了一个Variant变体类型变体类型例子:例子:dim
12、c dim c as String dim a,b as Integer 声明后给变量通过声明后给变量通过“=”符号送入值的过程,符号送入值的过程,称为赋值称为赋值 c=“你好,我是字符串你好,我是字符串”a=1:b=2变量的声明变量的声明第19页,本讲稿共32页变量的简易声明方式变量的简易声明方式VB还提供了一还提供了一种简易的声明方式种简易的声明方式,只要变量,只要变量名后带有某个特定符号,就代表该变量是某名后带有某个特定符号,就代表该变量是某种数据类型,如种数据类型,如Dim StudentName$数据类型声明字符:数据类型声明字符:Integer%Long&Single!Double
13、#String$第20页,本讲稿共32页显示声明和隐式声明思考:为什么程序中有时没有声明,而是直思考:为什么程序中有时没有声明,而是直接赋值呢?接赋值呢?VB允许我们未做任何声明就使用一个变量,称为隐式声明;VB如果先声明变量然后给变量赋值并使用如果先声明变量然后给变量赋值并使用它,称为它,称为显式声明显式声明第21页,本讲稿共32页推荐使用显式声明方式。原因为:推荐使用显式声明方式。原因为:1.1.变变量量不不声声明明而而直直接接使使用用,这这些些未未声声明明的的变变量量都都是是VariantVariant类类型型,当当需需要要指明数据为具体类型形式时需要额外的处理,也缺乏必要的类型检测;指
14、明数据为具体类型形式时需要额外的处理,也缺乏必要的类型检测;2.2.在在使使用用已已有有变变量量时时可可能能会会错错误误地地拼拼写写了了该该变变量量,而而系系统统会会认认为为它它是是隐隐式式声声明明的的另另一一个个变变量量,而而检检查查不不出出错错误误;反反之之若若采采用用显显式式声声明明方方式式,系系统统强强制制所所有有变变量量必必须须先先声声明明,在在编编译译时时一一旦旦发发现现使使用用了了未未经经声声明明的的变变量量名(如写错),就会报告错误。名(如写错),就会报告错误。在每个文件代码的通用段在每个文件代码的通用段(首行首行)增加一条设置语句:增加一条设置语句:Option Explic
15、itDim MyVar声明变量。声明变量。MyInt=10未声明变量产生错误。未声明变量产生错误。MyVar=10声明变量不产生错误。声明变量不产生错误。使用使用Option Explicit第22页,本讲稿共32页对对于于窗窗体体或或标标准准模模块块中中多多个个过过程程或或函函数数共共用用一一个个变变量量时时,可可以把这些以把这些变量定义为模块级变量变量定义为模块级变量。我我们们常常常常在在窗窗体体加加载载(Form_loadForm_load)事事件件中中做做系系统统的的初初始始化化工工作作,常常常常包包含含有有变变量量的的声声明明和和赋赋值值,以以及及控控件件属属性性的初始化的初始化。使
16、用变量使用变量第23页,本讲稿共32页变量的作用域变量的作用域局部变量局部变量:定义在:定义在一个函数或过程内部一个函数或过程内部,使用,使用Dim关键字,关键字,仅限该过程使用仅限该过程使用Dim temp As Interger模块级变量模块级变量:定义在:定义在BAS模块、窗体或类模块模块、窗体或类模块通用声明部通用声明部分分中,使用中,使用Private或或Dim关键字,整个模块内共享关键字,整个模块内共享如在如在frmMain.frm中:中:Private intVar As Interger 在在Module1.bas中中:Dim strName As String全局变量:全局变
17、量:定义在定义在BAS模块中,模块中,使用使用public关键字关键字,工程中,工程中所有文件所有过程共享所有文件所有过程共享如在如在Module1.bas中:中:Public stuNo As Long第24页,本讲稿共32页第25页,本讲稿共32页变量和常量小结常量和变量是作用是用于存储数据的,我们使用它们时要先在合适的位置上*(位置不同作用域也可能不同)声明它们DimstrAasString,intAasInteger内存中会开辟一块存储区域,通过strA,intA来访问然后再给他们赋值。strA=“阿弥陀佛!”intA=123*注意变量的命名同样符合匈牙利原则,”str”,”int”即
18、为缩写。第26页,本讲稿共32页四、运算符第27页,本讲稿共32页赋值运算符赋值运算符frmMain.Width=300 给对象属性赋值给对象属性赋值(数值数值)frmTest.Caption=“Hello”给对象属性赋值给对象属性赋值(字符串字符串)temp=temp+1 给普通变量赋值给普通变量赋值flag1=true给普通变量赋值(布尔)给普通变量赋值(布尔)orderDate=#2002-12-20#给普通变量赋值(日期)给普通变量赋值(日期)Dim a As FormSet a=New Form1给对象变量赋值给对象变量赋值VB在进行赋值运算时,在进行赋值运算时,会自动进行类型转换会
19、自动进行类型转换 注释语句注释语句以下循环计算总成绩以下循环计算总成绩第28页,本讲稿共32页VB中进行运算中进行运算一、算术运算一、算术运算+加法加法-减法减法*乘法乘法/浮点数除法浮点数除法整数除法整数除法指数指数如如 temp=32MOD求余数求余数二、比较运算二、比较运算 =Like Is第29页,本讲稿共32页三、连接运算三、连接运算&强制两个表达式作字符串连接强制两个表达式作字符串连接+如果有数字,则作相加运算,否则作字符串连接如果有数字,则作相加运算,否则作字符串连接比较:比较:ABA&BA+B“123”“3”“1233”“1233”1233“1233”126“123”3“1233”126“123a”3“123a3”报错报错VB中进行运算中进行运算第30页,本讲稿共32页课后作业课后2,3题,上一章课后题5第31页,本讲稿共32页教你几招:Windows按键的功用WIN显示或隐藏开始菜单。WIN+BREAK显示系统属性对话框。WIN+D显示桌面。WIN+M最小化所有窗口。WIN+Shift+M还原最小化的窗口。WIN+E打开我的电脑。WIN+F搜索文件或文件夹。WIN+L如果连接到网络域,则锁定您的计算机,或者如果没有连接到网络域,则切换用户。WIN+R打开运行对话框。WIN+U打开工具管理器。我的功能及其强大哦我的功能及其强大哦第32页,本讲稿共32页
限制150内