




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 VisualBasic程序设计第三章常量与变量 2 主要内容 3 1基本数据类型 3 2常量 3 3变量作业 3 3 1基本数据类型 数据是程序处理的对象 为了更好地处理各种各样的数据 VB定义了多种数据类型 整型长整型字节型单精度浮点型双精度浮点型货币型 字符串型逻辑型日期型对象型变体型 数值型 数据类型 4 1 数值型数据类型 5 2 String 字符串型 字符串是指连续的字符序列 专门用来存放文字信息的 分为 定长字符串型 和 变长字符串型 两大类 字符串类型所占的内存空间与字符串长度有关 最多64K个字符 3 Boolean 逻辑型 布尔型 只有两个值True 逻辑 真 和False 逻辑 假 占2个字节存储空间 4 Date 日期时间型 又称日期型 存放日期时间 占8个字节 范围公元100年1月1日 9999年12月31日 5 Object 对象型 和Variant 变体类型 将分别在后面节中讲解 6 3 2常量 常量 在程序运行时值不能改变的量为常量 分为直接常量和符号常量 直接常量 程序中直接使用的数据常量符号常量 用一个符号名来代替数值或字符串 称为符号常量 7 3 2 1直接常量的数据表示方法 整型后加 可省 123 123 123 123 长整型后加 1234 7890 八进制 O开头 O136 字母O 十六进制 H开头 H3A H6B4 单精度后加 11 2 11 2 0 112E 2双精度后可加 123 45 0 12345E 3 货币型后加 123 45 8 字符型常量 使用双引号 VisualBasic 你好 特殊的字符串 表示一个双引号字符串 表示空字符串 字符串常量中的双引号必须成对出现 逻辑型常量 只有True和False两个值 日期型常量 使用 号作界定符 1 1 2005 April1 2005 1 00 00PM 9 3 2 2符号常量及命名规则 符号常量的使用增加了代码的可读性 因为我们看到的是具有含义的名字而不是数字 如Pi表示常量3 1415926535 特点 一个常量一经声明 就不能在以后的语句中改变它的数值 命名规则 1 以字母开头 其后可以是字母 数字或下划线字符 不能包含英文标点符号 空格 2 VB不区分名字中字母的大小写 符号常量一般用大写字母定义 3 不得超过255个字符 4 不能使用VB的保留字 5 同一作用域 不能重名 10 3 2 3常量的声明 常量的声明符及其定义的位置不同 有效作用范围不同 分如下三种情况 三个作用域 1 过程级常量 LOCAL局部 在过程中声明的常量 只能在该过程中使用 即有效作用范围是该过程 语法 Constconstantname AsType expressionconstantname是常量名 Astype常量类型 如省略由所赋值确定常量类型 expression由数值常数或字符串常数以及运算符组成 但不能使用函数调用 过程内部直接用Const声明过程级常量 11 2 模块级常量 MOUDULE FORM 在模块 窗体的 通用 声明的常量或过程中用 Private 声明的常量 在声明它的模块或窗体中的所有过程中可用 语法 Private Constconstantname AsType expression在通用中用Private或直接用Const声明窗体级常量3 全局级 工程级 常量 PUBLIC 在标准模块声明的常量 在工程的所有模块或窗体中都可用 语法 PublicConstconstantname AsType expression声明全局级常量必须在标准模块中声明 不能在窗体模块中声明 Const关键字可定义多个符号常量 用逗号分隔 ConstconX 1 conY 50 01 12 常量的声明举例 Const语句定义数字 ConstconPi 3 14159265358979ConstconX 1 conY 50 01 13 3 3变量 定义 在程序运行时用来保存临时数据的空间 所以也称内存变量 程序通过变量名来操作变量 变量具有名字 用来引用变量所包含的值的词 和数据类型 确定变量能够存储的数据的种类 3 3 1变量命名规则3 3 2变量的声明3 3 3变量的赋值3 3 4变量重名问题3 3 5字符串长度问题3 3 6Object对象型变量3 3 7变体类型 Variant 3 3 8变量数据类型转换 14 3 3 1变量命名规则 VB的命名约定在编写VB代码时 要声明和命名许多元素 Sub和Function过程 变量 常数等等 声明的过程 变量和常量的名字 必须遵循一定规则 变量命名规则同常量 1 以字母开头 其后可以是字母 数字或下划线字符 不能包含英文标点符号 空格 2 VB不区分名字中字母的大小写 符号常量一般用大定字母定义 3 不得超过255个字符 4 不能使用VB的保留字 5 同一作用域 不能重名 15 变量的作用域决定了一个变量在什么代码范围内可以被访问 定义变量时使用的关键字以及定义变量的位置决定了变量的作用域 3 3 2变量的声明 16 定义变量的声明符及变量定义的位置不同 其有效作用范围也不同 分为工程级 模块级 过程级三个作用域 过程级变量 局部变量 其作用范围最小 只限于本过程 用Dim或Static在过程内声明 Dim StaticTempAsInteger过程中的变量值对过程来说是局部的 也就是说 无法在一个过程中访问另一个过程中的变量 在不同过程中可使用相同的变量名 而不必担心有什么冲突和意想不到的变故 17 2 模块级 在模块的 通用 声明 中声明Private DimTempAsInteger在本模块的各过程中都可以使用 3 工程级 全局 变量 在 通用 声明 中声明 PublicTempAsInteger整个工程内都可以使用 Dim和Static的区别 Dim定义的是动态过程变量 只在程序运行期间存在 不保留值 Static定义的是静态变量 程序模块运行结束仍存在 并保留值 Dim即可用于模块级变量的定义 也可用于过程级变量的定义 而Static只能定义过程级变量 打开 例3 1 使用过程级变量 18 变量作用域举例 DimabcAsIntergerPrivateSubCommand1 Click DimabcAsIntergerabc abc 1PrintabcEndSubPrivateSubCommand2 Click PrintabcEndSub StaticabcAsInterger PrivateabcAsInterger 19 变量的默认初值 定义了一个变量 如果没为它赋初值 则数值型的默认初值为0逻辑型为False 值为0 非0为Ture 变长字符型的默认初值是 空串固定长字符型的默认值是固定长的 空格串日期时间型 0 00 00 对象型Nothing变体Empty 20 强制变量定义 VB默认情况下 所有未出现过的标识符 都被VB当成变体类型的变量 这样 使得程序不容易调试 可以在模块的声明段中加上 OptionExplicit在 工具 菜单中选取 选项 单击 编辑器 选项卡 再复选 要求变量声明 选项 这样就在任何新模块中自动插入OptionExplicit语句 但不会在已经建立起来的模块中自动插入 21 3 3 3变量的赋值 在VB中赋值语句 Let 变量名 表达式Let旧版BASIC保留下来的 一般省略不写 例 DimAAsIntegerA 100 20 打开 例3 2 使用模块级变量 打开 例3 3 为模块级变量赋初值 22 3 3 4变量重名问题 1 不允许同名的情况 一般情况下 在同一作用域内不能定义重名的变量 2 允许同名的情况 只要不发生冲突就可以 例 不同过程中可以定义重名的过程级变量 不同模块中可以定义重名的模块级变量 等 23 3 3 5字符串长度问题 String变量或参数是一个可变长度的字符串 随着对字符串赋予新数据 它的长度可增可减 也可以声明字符串具有固定长度 避免VB经常调整长度 以下语法声明一个定长字符串 String size例 声明一个长度为50字符的字符串DimEmpNameAsString 50 24 3 3 6Object对象型变量 对象型变量 主要是针对VB中的多种控件对来使用 程序通过对象类型变量可间接地对它所引用对象进行操作 使用对象变量与使用常规变量一样 只不过多了把对象赋予变量这一步 首先声明变量 DimvariableAsclass然后把对象赋予变量 Setvariable object在对象变量声明后 未赋值之前其默认值为Nothing 25 3 3 7变体类型 Variant 变体类型变量可以存贮几乎所有系统定义类型的数据 除定长字符串 自定义类型 把其它类型的数据赋给变体变量 变体变量的类型会随之变化 变体变量在存放数值时 占16字节的内存 存放字符串时 占用22字节的内存 字符串长度 定义变量时可以省略 AsVariant 变体变量也可以引用对象 赋值时须使用Set语句 例 DimvntFirs 定义变体变量 vntFirst 1234 为数值型1234 SetvntFirst cmdOK 对象型 对cmdOK的引用 26 3 3 8数据类型转换 VB允许不同类型的变量之间相互赋值 也允许把不同类型的值赋予某种类型的变量 VB会自动将所赋予的值转换为被赋值的变量的类型 数值型转换 浮点数转换为整型数时 小数部分 四舍五入 为整数 0 5要向最近的偶数靠拢 例 4 51 5 4 5 4 3 5 4 字符串与数值转换 数值可转为字符串 只有由纯数字 或包含合理的字母组成的字符串才可能转为数值 否则出现 类型不匹配 错误 如 1 2e3 1200 27 逻辑型值的转换 赋给数值型变量 False转换为0 True转换为 1 数值型变量的值赋给逻辑变量 0转换为False 非0转换为True 日期时间型的转换 日期时间型变量赋给数值型变量时 日期部分转换为数值的整数部分 值为此日期距1899年12月30日的天数 时间部分转换为小数部分 从零时到该时间占一整天的比例 12 00 00转为0 5 例 dtm3 3 18 19996 00 00 sng2 dtm3 sng2的值为 36237 25 日期时间型变量转换为字符串时 按照日期的短格式字符串 28 数据类型显示转换 VB自动完成某些数据转换 为提高运行速度 我们通常使用CType 函数显式的转换 VB的转换函数包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江永县2025年三下数学期末预测试题含解析
- 山东省阳谷县第二中学2024-2025学年高三3月月考调研考试物理试题含解析
- 山西管理职业学院《工程安全与环境保护》2023-2024学年第二学期期末试卷
- 郑州美术学院《植物学》2023-2024学年第二学期期末试卷
- 吉林省长春市重点名校2025届初三3月三校联考-生物试题含解析
- 天津大学《果蔬贮藏技术》2023-2024学年第二学期期末试卷
- 喉癌放疗患者护理查房
- 护理服务态度投诉零容忍
- 销售培训与提升策略
- 2025水利工程修复合同
- 罗才军两茎灯草
- 网络存储技术应用项目化教程
- 2023年安全员-A证(江苏省)历年真题附答案(难、易错点剖析)
- 全国优质课说课比赛一等奖高中化学《苯酚》说课课件
- 幼儿园废旧材料的研究 论文
- 产能分析报告模板及指标明细
- 张力放线工器具配备表
- 食品小摊贩备案卡(样式)及说明
- 沥青混凝土面板单元工程质量评定表
- 针刀操作安全区带
- THBFIA 0004-2020 红枣制品标准
评论
0/150
提交评论