《vb语法详解》PPT课件.ppt

上传人:xt****7 文档编号:16591877 上传时间:2020-10-17 格式:PPT 页数:40 大小:291KB
返回 下载 相关 举报
《vb语法详解》PPT课件.ppt_第1页
第1页 / 共40页
《vb语法详解》PPT课件.ppt_第2页
第2页 / 共40页
《vb语法详解》PPT课件.ppt_第3页
第3页 / 共40页
点击查看更多>>
资源描述
第五章 VB语法基础 本章内容及要求: 1. 熟悉 VB程序中代码和语句书写规则; 2. 掌握 VB的数据类型; 3. 掌握 VB的 运算符和表达式的使用; 本章重点: 变量和常量的定义及使用 、 运算符和表达 式的使用。 本章难点: 数据类型。 5.1 VB语言字符集及编码规则 5.1.1 VB的字符集 l 字母:大写英文字母 AZ;小写英文字母 az。 l 数字: 0一 9; l 专用字符:共 27个 , P48表 。 5.1.2 编码规则与约定 ( 一 ) 编码规则 1 VB代码中不区分字母的大小写 。 2 同一行上可以书写多条语句 , 但语句间要用冒号 “ :”分 隔 。 3 若一个语句行不能写下全部语句 , 或在特别需要时 , 可 以换行 。 换行时需在本行后加入续行符 , 1个空格加下划线 “ _”。 4一行最多允许 255个字符。 5注释以 Rem开头,也可以使用单引号“ ”,注释内容可 直接出现在语句的后面。 6在程序转向时需用到标号,标号是以字母开始而以冒号 结束的字符串。 ( 二 ) 约定 1为了提高程序的可读性,对于 VB中的关键字其首字 母大写,其余字母小写 2. 注释有利于程序的维护和调试 Rem开始 或 单撇 。 例如: This is a VB REM This is a VB 在 6.0中新增了“块注释 /取消块注释” (视图 /工具栏 /编 辑 ) 3通常不使用行号 4对象名命名约定:每个对象的名字由 3个小写字母组 成的前缀(指明对象的类型)和表示该对象作用的缩写字 母组成 。如命令按钮前缀: cmd 5.2 数据类型 5.2.1 标准数据类型 5.2.2 自定义类型 在模块级别中使用,用于定义包含一个或多个元素的用 户自定义的数据类型。 使用形式: Type 自定义类型名 元素名 (下标 ) As 类型名 元素名 (下标 ) As 类型名 . . . End Type 见下例 Type Student Xh As Sting Xm As String Xb As String Nl As Integer Score As Single End Type 例如 : 对于一个学生的“学号”、“姓名”、“性 别”、“年龄”、“入学成绩”等数据,为了处理数据的 方便,常常需要把这些数据定义成一个新的数据类型(如 Student类型)。 5.3 常量和变量 5.3.1 常 量 在程序运行过程中,其值 不能被改变 的量称为常量。在 VB中有三类常量: 普通常量 符号常量 系统常量 一、普通常量 1 整型常量 ( 1)整型( Integer):表示 -32768至 32767之间的整数 例如: 10 110 20 ( 2) 长整型 ( Long) : 表示 -2,147,483,648至 2,147,483,647之间的整数 例如:长整型常数的书写: 23 Sum End Sub 3 强制显式声明 Option Explicit语句 良好的编程习惯都应该是 “ 先声明变量 , 后使用变量 ” , 这样做可以提高程序的效率 , 同时也使程序易于调试 。 Visual Basic 中可以强制显式声明 , 可以在窗体模块 、 标准 模块和类模块的通用声明段中加入语句: Option Explicit 5.4 变量的作用域 概述: 在 VB中 , 由于可以在过程中和模块中声明变 量 , 根据定义变量的位置和定义变量的语句不同 , 变量可以分为: 局部变量 ( 过程级变量 ) 窗体 /模块级变量 ( 私有的模块级变量 , 能被本 模块的所有过程和函数使用 ) 全局级变量 ( 公有的模块级变量 ) 。 5.4.1 过程级变量 局部变量 局部变量: 在过程内用声明的变量,只能在本过程中使用。 在过程内部使用 Dim 或者 Static 关键字来 声明的变量,只在声明它们的过程中才能被访问 或改变该变量的值,别的过程不可访问。所以可 以在不同的过程中声明相同名字的局部变量而互 不影响。 例: Private Sub Form_Load() Dim n% n= 10 End Sub Private Sub From_Click() Dim n% Print “n=“;n End Sub 程序运行后单击窗体,其输出结果是什么? 5.4.2 窗体 /模块级变量 窗体 /模块级变量: 在 “通用声明 ”段中用 Dim语句或用 Private语句声明的 变量 , 可被本窗体 /模块的任何过程访问 。 但其他模块却 不能访问该变量 。 例如:在 “通用声明 ”段声明如下变量 Private s As String Dim a As Integer, b As Single 5.4.3 全局变量 全局变量 也称公有的模块级变量 , 在窗体模块 或标准模块的顶部的 “ 通用 ” 声明段用 Public关键 字声明 , 它的作用范围是整个应用程序 , 即可被 本应用程序的任何过程或函数访问 。 例如: Public a As Integer, b As single 3种变量声明及使用规则如下表: 一 、 公用变量与局部变量同名 在不同过程中定义同名变量,它们互不影响,但若在一 过程中定义使用了与全局变量同名的变量,则就应注意。 5.4.4 关于多个变量同名 注意:在过程中,如果定义了与模块级变量(在通 用部分使用 Private或 Dim声明的变量),则在该过程内 不能引用同名的模块级变量。例如,上面的例子中,如 果将定义全局变量的语句 Public Temp As Integer改为 Private Temp As Integer 则在 Command1的单击事件中就 不使用模块级的 Temp变量。 Public Temp As Integer 定义全局变量 Private Sub Form_Load() Temp = 1 将全局变量 Temp 的值设置成 1 End Sub Private Sub Command1_Click() Dim Temp As Integer 定义局部变量 Temp = 2 将局部变量 Temp 的值设置成 2 Print temp=; Temp Print temp=; Form1.Temp End Sub Private Sub Command2_Click() Print temp=; Temp End Sub 二 、 全局变量同名 如果不同模块中的全局变量使用同一名字 , 则 通过同时引用模块名和变量名就可以在代码中区分它 们 。 例如 , 如果有一个在 Form1 和 Module1 中 都声明了公用的 Integer 变量 intX, 则把它们 作为 Module1.intX 和 Form1.intX 来引用便得 到正确值 。 也就是说 如果不同模块中的全局变量使用 同一名字 , 引用时就需要使用 “ 模块名 .变量名 ” 的 形式来区分它们 。 5.4.5 静态变量 除作用域之外,变量还有存活期,在这一期间变量能 够保持它们的值。 在应用程序的存活期内一直保持 模块级变量 和 全局变 量 的值。但是,对于 Dim声明的局部变量 仅当过程执行期 间存在,当一个过程执行完毕,它的局部变量的值就已经 不存在,而且 变量所占据的内存也被释放 。当下一次执行 该过程时,它的所有局部变量将重新初始化。 概念 局部变量的存活期由其定义的关键词来决定。 局部变量声明: Dim声明: 随过程的调用而分配存贮单元,变量的初 始化;过程体结束,变量的内容自动消失,存贮单元释放。 Static声明 ,每次调用过程,变量保持上次调用结束时 的值。 声明形式: Static 变量名 AS 类型 Static Function 函数过程名 (参数列表 ) As 类型 Static Sub 子过程名 (参数列表 ) 注意:过程名前加 Static,表示该过程内 的局部变量都是静态变量。 例 5.2 有一个人编了下面一段程序 , 想用变 量 n记 录单击 窗体的次数 。 Private Sub Form_Click() Dim n As Integer n = n + 1 Print 已单击次数: ; n & 次 End Sub 分析程序运行后多次单击窗体的输出结果: 要记录单击窗体次数,如何实现?并比较使用模块 变量和静态变量的差别。 Private Sub Form_Click() Dim i% , isum% For i = 1 To 5 isum = sum(i) Print isum, Next i End Sub Private Function sum(n As Integer) Dim j As Integer j = j + n sum = j End Function 1 2 3 4 5 Static j As Integer 结果如何? 补充例题: 5.5 运算符和表达式 一 . 运 算符 5.5.1. 算术运算符 (均是双目运算, ia=3) 例: 5+10 mod 10 9 / 3 +2 2 结果是: 10 说明:计算时自动调整精度 5.5.2. 字符串运算符与字符串表达式 字符串运算符有: 、 + 。 功能是字符串连接 例如: ABCD + EFGHI 结果为: ABCDEFGHI “ VB ” & “程序设计教程 ” 结果为: VB程序设计教程 说明:当连接符两旁的操作量都为字符串时,上述两个连接 符等价。它们区别是: +(连接运算) :两个操作数均应为字符串类型; &(连接运算) :两个操作数既可为字符型也可为数值型, 当是数值型时,系统自动先将其转换为数字字符,然后进 行连接操作。 例: 100 + 123 结果为 223 100 + 123 结果为 100123 Abc + 123 出错 100 & 123 结果为 100123 100 & 123 结果为 100123 Abc & 123 结果为 Abc123 Abc & 123 结果为 Abc123 注意:使用运算符“ &”时,变量与运算符“ &”之间应 加一个 空格 。这是因为符号“ &”还是长整型的类型定义符, 如果变量与符号“ &”接在一起, VB系统先把它作为类型定 义符处理,因而就会出现语法错误。 5.5.3 关系运算符与关系表达式 关系运算符都是双目运算,是用来比较两个运算量之间 的关系,关系表达式的运算结果为逻辑量。若关系成立,结 果为 True,若关系不成立,结果为 False。 VB中的关系运算符如下表所示。 运算符 含义 优先级 实例 结果 小于 所有关系运算 优先级相同。 低于算术运算 的加“ +”,减 “ -”运算,高 于逻辑非 “ Not”运算。 15+1020 False = 小于或等于 10 大于 1020 False = 大于或等于 This= That True = 等于 This= That False 不等于 This That True Like 字符串匹配 This Like *is True Is 对象比较 关系运算的规则如下: ( 1)当两个操作式均为数值型,按数值大小比较。 ( 2)字符串比较 ,则按字符的 ASCII码值从左到右一一比较 , 直到出现不同的字符为止 .。 例: ABCDE ABRA 结果为 False ( 3) 数值型与可转换为数值型的数据比较 , 如: 29189 , 按数值比较 , 结果为 False。 ( 4) 数值型与不能转换成数值型的字符型比较 , 如: 77 sdcd , 不能比较 , 系统出错 。 ( 5) “ Like”运算符是 VB6.0新增加的 。 其使用格式为: str1 Like str2 5.5.4 逻辑运算符与逻辑表达式 Not 逻辑非为单目运算符(要求一个操作数),其它为双 目运算符。 条件表达式 1 And 条件表达式 2 条件表达式均为 T 结果为 T 条件表达式 1 Or 条件表达式 2 条件表达式有一个 T 结果为 T 说明: ( 1) 逻辑运算符的优先级不相同 , Not( 逻辑非 ) 最高 , 但它低于关系运算 , Imp( 逻辑蕴含 ) 最低 。 ( 2) VB中常用的逻辑运算符是 Not、 And和 Or。 它们用于 将多个关系表达式进行逻辑判断 。 例如 , 数学上表示某个数在某个区域时用表达式: 10X=10 And X=字符运算符 关系运算符 逻辑运算 说明: 1 当一个表达式中出现多种运算符时 , 首先进行算术运 算符 , 接着处理字符串连接运算符 , 然后处理比较运算符 , 最后处理逻辑运算符 , 在各类运算中再按照相应的优先次 序进行 。 2可以用括号改变优先顺序,强令表达式的某些部分 优先运行。括号内的运算总是优先于括号外的运算。对于 多重括号,总是由内到外。 . 表达式的书写中需注意的问题 ( 1)运算符不能相邻。例 a+-b是错误的。 ( 2)乘号不能省略。例 x 乘以 y 应写成: x*y ( 3)括号必须成对出现,均使用圆括号。 ( 4)表达式从左到右在同一基准并排书写,不能出现上下 标 ( 5)要注意各种运算符的优先级别,为保持运算顺序,在 写表达式时需要适当添加括号() ,若用到库函数必须按 库函要求书写 。 如: (b-sqr(b*b-4*a*c)/(2*a) (a+b)/(a-b) a acbb 2 42 ba ba
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!