




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章VB程序设计基础 VB应用程序包括两部分 即用户界面和程序代码 其中用户界面由窗体和控件组成 而程序代码则由基本的程序元素组成 包括数据类型 常量 变量 内部函数 运算符和表达式等 3 1数据类型3 2常量和变量3 3变量的作用域3 4运算符与表达式 3 1数据类型 数据是程序的必要组成部分 也是程序处理的对象 在高级语言中广泛使用 数据类型 这一概念 VB提供了系统定义的数据类型 并允许用户根据需要定义自己的数据类型 基本数据类型 字符串型数据 数值型数据 字节 货币 对象 日期 布尔和变体数据类型 1 字符串 String 型数据字符串是一个字符序列 由ASCII字符组成 包括标准的ASCII字符和扩展ASCII字符 在VB中 字符串是放在双引号内的若干个字符 其中长度为0 即不含任何字符 的字符串称为空字符串 字符串通常放在双引号中 但输出时不显示双引号 例如 Hello vb6 0程序设计 空字符串 Vb中的字符串分为两种 即变长字符串和定长字符串 变长字符串的长度是不确定的 从0 2的31次幂定长字符串是含有确定个数的字符 最大长度不超过2的16次幂 2 数值型数据 Vb的数值型数据分为整型数和实型 浮点数 两类 整型数分为整数和长整数 浮点数分为单精度浮点数和双精度浮点数 整型数 是不带小数点和指数符号的数 在机器内部以二进制补码形式表示 整数 Integer 以两个字节 16位 的二进制码表示和参加运算 其取值范围为 32768 32767 长整型 Long 以带符号的4个字节 32位 二进制数存储 取值范围为 2147483648 2147483647 浮点数 也称实型数或实数 是带有小数部分的数值 它由三部分组成 符号 指数及尾数 单精度浮点数和双精度浮点数的指数分别用 E 和 D 来表示 例如 123 45E3或123 45e 3单精度数 相当于123 45乘以10的3次幂123 45678D3或123 45678d 3双精度数 相当于123 45678乘以10的3次幂 在上面的例子中 123 45或123 45678是尾数部分 E3 D3是指数部分 单精度浮点数 Single 以4个字节 32位 存储 其中符号占1位 指数占8位 其余23位表示尾数 此外还有一个附加的隐含位 单精度浮点数可以精确到7位十进制数 其负数的取值范围为 3 402823E 38 1 401298E 45 正数的取值范围为 1 401298E 45 3 402823E 38 双精度浮点数 Double 以8个字节 64位 存储 其中符号占1位 指数占11位 其余52位表示尾数 此外还有一个附加的隐含位 双精度浮点数可以精确到15或16位十进制数 其负数的取值范围为 1 797693134862316D 308 4 94065D 324 正数的取值范围为 4 94065D 324 1 797693862316D 308 3 货币 Currency 货币数据类型是为表示钱款而设置的 该数据类型以8个字节 64位 存储 精确到小数点后4位 小数点前有15位 在小数点后4位以后的数字将被舍去 取值范围是 922337203685477 5808 922377203685477 5807浮点数中的小数点是 浮动 的 即小数点可以出现在数的任何位置 而货币类型数据的小数点是固定的 因此称为定点数据类型 4 变体 Variant Variant数据类型又称为万用数据类型 它是一种特殊的 可以表示所有系统定义类型的数据类型 变体数据类型对数据的处理可以根据上下文的变化而变化 除了定长的string数据及用户自定义的数据类型之外 可以处理任何类型的数据而不必进行数据类型的转换 如上所述的数值型 日期型 对象型 字符型的数据类型 Variant数据类型是VB对所有未定义的变量的缺省数据类型的定义 通过VarType函数可以检测Variant型变量中保存的具体的数据类型 5 其它数据类型 字节 Byte 实际上是一种数值类型 以1个字节的无符号二进制数存储 取值范围是0 255 布尔 Boolean 布尔型数据是一个逻辑值 用两个字节存储 它只取两种值 即True或False 经常用来表示逻辑判断的结果 日期 Date 日期存储为64位浮点数值形式 表示的日期从公元100年1月1日 9999年12月31日 时间范围为0 00 00 23 59 59 任何在字面上可以被认作日期的文本都可以赋值给日期变量 且日期文字必须用符号 括起来 如 January15 2002 1985 10 19 45 00PM 都是合法的日期型数据 4 对象 Object 对象类型的数据主要是以变量形式存在的 用来表示图形 OLE对象或其它对象 Object变量通过32位 4字节 来存储 该地址可以引用应用程序中的对象 用户可根据实际需要利用vb提供的标准数据类型 通过Type语句来定义自己的数据类型 格式如下 Type自定义数据类型名元素名 下标 as类型名EndType 5 用户自定义数据类型 其中 自定义数据类型名 要定义的数据类型的名字元素名 自定义类型中的一个成员下标 表示数组类型名 vb的标准类型通常把用Type语句定义的类型称为记录类型 例如TypestuTypeintNoAsIntergerstrNameAsString 20 EndType 注意 1 自定义的数据类型必须在标准模块中定义2 自定义数据类型中的元素类型可以是字符串 但必须是定长字符串 3 2常量和变量 计算机所处理的数据 必须先存入内存单元 命名后的内存单元就是常量或者变量 常量在程序执行期间其值不发生变化 而变量的值是可变的 它们都代表内存中指定的存储单元 在程序中 不同类型的数据既可以以常量的形式出现 也可以以变量的形式出现 1 常量或变量的命名规则 VB变量或常量名只能用字母 数字 汉字和下划线组成 变量名中不能包含小数点 VB变量或常量名的第一个字符必须是字母或汉字 最后一个字符可以是类型说明符 且组成变量或常量名的字符数不得超过255个字符 不得使用VB的保留名或保留名后加上类型说明符来作为变量或常量名 例如 print print 作为变量名均是非法的 变量或常量名在同一个范围内必须是唯一的 变量或常量名不区分大小写 在定义一个变量后 只要字符相同 则不管其大小写 指的都是一个变量或常量 2 常量Vb中的常量分为两类 用户声明的常量和系统提供的常量用户声明的常量 格式 Const常量名 As类型 表达式例如 ConstaasInteger 1Constname shanxiuniversity Consta 10 basDouble 3 1415926 注意 1 常量声明格式中的 As类型 可以用类型说明符代替为了显式地说明常数的类型 可以在常数的后面加上类型说明符 以确切地说明数据类型 整型 长整型 单精度浮点数 双精度浮点数 货币型 字符串型 例如 Consta 100Constname shanxi 2 常量名不能与关键字或所在过程内的其他常量或变量同名 其有效作用范围为常量声明语句所在的程序单位 3 Vb在判断常量类型时有时候存在多义性 在默认情况下 选择系统开销最小的表示方法 4 经过声明的常量是常数值的名字 不能在程序代码中修改它的值 系统提供的常量 在vb的对象库中 提供了应用程序和控件的系统常量 例如 form1 WindowState 1form1 WindowState vbMinimized 3 变量在程序中使用变量前 一般先声明变量名及其数据类型 在VB中可以显式或隐式声明变量及其类型 变量的声明 使用Dim语句可以显式声明 格式如下 Dim变量名 As类型 例如 DimaAsStringDimbAs 隐式声明 变量未经声明直接使用 默认为变体类型 为了避免麻烦 可以强制规定每个变量必须显式声明才能使用 必须在程序模块的 通用 段加入如下强制声明语句 OptionExplicit在程序设计中 应该养成对变量声明的良好习惯 以提高程序的正确性和可读性 3 3运算符和表达式 运算形式通过一些简单的符号来描述 这些符号称为运算符 被运算的对象称为操作数或运算量 运算量可以是常量 变量 函数等 由运算符和运算量组成的表达式描述了对哪些数据 以何种顺序进行什么样的操作 算术运算符 VB算术运算符 优先级从上至下 字符串运算符 幂运算 幂运算用来计算乘方和方根 运算符为 例如 10 2表示10的2次幂25 0 5表示25的平方根8 1 3 表示8的立方根注意 当指数是一个表达式时 必须加上括号 例如 x z y 浮点数除法与整数除法 浮点数除法运算符 执行标准除法操作 其结果为浮点数 例如 表达式3 2的结果为1 5整数除法运算符 执行整除运算 结果为整型值 不舍入 例如 表达式3 2的结果为1整除的操作数一般为整型值 当操作数带有小数时 首先被四舍五入为整型数 然后进行整除运算 运算结果不舍入 例如 25 63 6 78的结果为3 取模运算 取模运算符Mod用来求余数 其结果为第一个操作数整除第二个操作数所得的余数 例如 7Mod4的结果为325 68Mod6 99的结果为5 先进行四舍五入变为26和7 再取摸 算术运算符的优先级 幂运算取负乘浮点除整除取模加减字符串连接 注意 如果表达式中有括号时 先计算括号内的值 有多层括号时 先计算内层括号 例 查看运行结果 PrivateSubCommand1 Click a 35b 12c ssss d qqq Printa b a b a b a bPrinta b aModb b 2 2 aPrintc d c dEndSub 关系运算符 也称比较运算符 用来对两个表达式的值进行比较 比较的结果是一个逻辑值 即真 True 或假 False VB提供了8个关系运算符 PrivateSubCommand1 Click c 2001181101 IfLeft c 4 2001 ThenPrint 是2001级的学生 n1 王军 Ifn1 Like 王 ThenPrint 是姓王的学生 对ElsePrint 不是姓王的学生 EndIfn2 王军红 Ifn2 Like 王 ThenPrint 是姓王的学生 ElsePrint 不是姓王的学生 对EndIfEndSub 逻辑运算符 也称布尔运算 用逻辑运算符连接两个或多个关系式 组成一个布尔表达式 有6种逻辑运算符 VB逻辑运算符 优先级从上至下 逻辑运算表 1为真 0为假 例 查看运行结果 PrivateSubCommand1 Click a 1 b 2c 3 d 4Printa bAndc dPrintadPrintNotadPrintadPrintadEndSub 表达式执行顺序 首先执行函数运算 其次算术运算 算术运算符优先顺序 幂 取负 乘和浮点除 整除 取模 加和减 连接再次关系运算 最后进行逻辑运算 优先顺序为 Not And Or Xor Eqv Imp 注意 在运算中 括号内的运算的优先于括号外的运算 字符串连接运算符不是算术运算符 它的优先级高于比较运算符 低于算术运算符 Like和比较运算符的优先顺序相同 进行模式匹配处理 应该注意 和 两个通配符 当使用幂时 符号优先 例如 4 2 表示4的负2次方 3 4常用内部函数 VB提供了大量的内部函数 大体上可分为5类 有转换函数 数学函数 日期函数 时间函数和随机函数 以及字符串函数 转换函数 注意 当小数部分恰好为0 5时 Cint和CLng函数会将它转换为最接近的偶数值 例 请编制程序 打印下列函数结果 自变量的值自己设置一个数据 程序如下 PrivateSubCommand1 Click PrintInt 7 6 Int 7 8 PrintFix 7 8 Fix 7 8 PrintHex 15 Oct 15 PrintAsc A Chr 66 PrintStr 7 8 aaaa PrintCInt 3 5 CInt 4 5 CInt 4 6 Int 5 3 PrintCCur 3 55678 CCur 5 34454 PrintCLng 3 5 CLng 4 5 CInt 4 6 CInt 5 3 EndSub 数学函数 注意 这里的三角函数中的x为弧度 PrivateSubCommand1 Click PrintSin 7 6 PrintCos 7 8 PrintTan 0 45 PrintAtn 1 3 PrintAbs 5 Abs 5 PrintSgn 5 Sgn 5 Sgn 0 PrintSqr 4 PrintExp 4 EndSub 例 请编制程序 打印下列函数结果 自变量的值自己设置一个数据 日期函数 例 请编制程序 打印下列函数结果 自变量的值自己设置一个数据 PrivateSubCommand1 Click PrintDay Now PrintWeekday Now PrintMonth Now PrintYear Now PrintNowEndSub 注意 日期和时间函数的自变量now是一个内部变量 不需要用户定义 用它作自变量 可以用日期和时间函数返回当前系统的日期和时间 时间函数 例 请编制程序 打印下列函数结果 自变量的值自己设置一个数据 PrivateSubCommand1 Click PrintHour Now PrintMinute Now PrintSecond Now PrintNowEndSub 随机函数 Rnd x 当x0时 序列中的下一个随机数 上一个产生的随机数为下一个随机数的种子 当一个应用程序不断地重复使用随机数时 同一序列的随机数会反复出现 用Randomize语句可以消除这种情况 格式 Randomize number Randomize用number将Rnd函数的随机数生成器初始化 该随机数生成器给number一个新的种子值 如果省略number 则用系统计时器返回的值作为新的种子值 例 PrivateSubCommand1 Click RandomizePrintRnd 1 Rnd 1 Rnd 0 PrintRnd 2 Rnd 3 Rnd 4 PrintRnd 1 Rnd 1 PrintRnd 2 Rnd 3 Rnd 4 PrintRnd 2 Rnd 3 Rnd 4 Print EndSub 例 使用rnd函数随机生成一个1到6的随机整数 PrivateSubCommand1 Click Dimmyvaluemyvalue Int 6 Rnd 1 PrintmyvalueEndSub 公式 Int upper lower 1 Rnd lower 字符串函数 1 VB的字符处理机制早期的VB版本的字符处理机制为ANSI方式 采用单字节处理机制 西文字符占用1个字节 汉字占用2个字节 在VB4 0以后 采用统一编码方式 即 UniCode 方式 把西文字符和中文字符作为一个整体进行编码 每个字符均占用两个字节 在字符串函数中 考虑的是字符个数 而不是字节数 为了兼容早期的软件 可使用转换函数StrConv把字符串转换为指定格式 新字符串 StrConv 待转字符串 转换格式 当在Unicode方式下 必须用加了 B 的字符串函数来处理ANSI的字符串才能得到正确的值 函数如下 例 运行下面程序 查看两种编码的使用区别 PrivateSubCommand1 Click DimtempStr newStrAsStringtempStr VB程序设计 Print tempStr tempStrnewStr StrConv tempStr vbFromUnicode Print Print 执行newStr StrConv tempStr vbFromUnicode 后 Print newStr newStrPrint LenB newStr LenB newStr Print 注 每个长度单位为1个字节 字符占1个 汉字占2个 Print Len newstr Len newStr Print 注 每个长度单位为2个字节 字符占半个 汉字占1个 Print newStr StrConv newStr vbUnicode Print 执行newStr StrConv tempStr vbUnicode 后 Print newStr newStrPrint LenB newStr LenB newStr Print 注 每个长度单位为1个字节 字符占2个 汉字占2个 Print Len newStr Len newStr Print 注 每个长度单位为2个字节 字符占1个 汉字占1个 EndSub 2 字符串函数 删除空白字符串函数去掉字符串左边空白字符 LTrim 字符串 去掉字符串右边空白字符 RTrim 字符串 去掉字符串左边空白字符 Trim 字符串 空白字符包括空格 TAB键等 例 使用函数 查看运行结果 PrivateSubCommand1 Click aaa1 aaaaa bbb1 bbbbb ccc1 ccccc Print LTrim aaa1 LTrim bbb1 LTrim ccc1 Print RTrim aaa1 RTrim bbb1 RTrim ccc1 Print Trim aaa1 Trim bbb1 Trim ccc1 EndSub 字符串截取函数 左部截取 Left 字符串 n 从左部开始取n个字符右部截取 Right 字符串 n 从右部取n个字符中部截取 Mid 字符串 p n 从左部开始的第p个字符 取连续n个字符这里的字符串可以是字符串常量 字符串变量 字符串函数或是字符串连接表达式 Mid 函数的第三个字变量可以省略 在这种情况下 将从第二个字变量指定的位置向后截取到字符串的末尾 例 使用函数 查看运行结果 PrivateSubCommand1 Click MyString MidFunctionDemo FirstWord Left MyString 3 返回 Mid LastWord Right MyString 4 返回 Demo MidWords Mid MyString 5 返回 FuncionDemo PrintFirstWord LastWord MidWordsEndSub 字符串长度测试函数 Len 字符串 字符串的长度 Lenb 变量名 变量的存储空间 例 使用函数 查看运行结果 PrivateSubCommand1 Click a ABCDEFGHIJK PrintLen a a Len var1 b Len var2 c Len var3 Printa b cEndSub String 函数String n ASCII码值 返回由该ASCII码指定的字符组成的n个字符的字符串String n 字符串 返回由该字符串的第一个字符组成n个字符的字符串 PrivateSubCommand1 Click PrintString 6 65 返回字符串 AAAAAA PrintString 3 chyufdgxd 返回字符串 ccc EndSub 例 使用函数 查看运行结果 空格函数 Space n 返回由n个空格组成的字符串例 使用函数 查看运行结果 PrivateSubCommand1 Click Print start Space 3 END 返回字符串 startEND Print start 123 END 返回字符串 start123END EndSub 字符串匹配函数 Instr 首字符位置 字符串1 字符串2 n 查找字符串2的第一个字符在字符串1中首次出现的位置 说明 字符串2的长度必须小于65535个字符 首字符位置 指的是开始查找的位置 n是可选的 是一个整型数 用来指定字符串比较方式 n为0 二进制比较 区分大小写 n为1 文本方式比较 不区分大小写 n为2 数据库信息比较 仅用于MicrosoftAccess 当变量n省略时 用区分大小写方式比较 Instr的返回值是一个长整型数 在不同的条件下 函数的返回值也不一样 PrivateSubCommand1 Click DimSearchString SearchChar MyPosSearchString XXpXXpXXPXXP 被搜索的字符串 SearchChar P 要查找字符串 P 从第四个字符开始 以文本比较的方式找起 返回值为6 小写p 小写p和大写P在文本比较下是一样的 MyPos InStr 4 SearchString SearchChar 1 PrintMyPos 从第一个字符开始 以二进制比较的方式找起 返回值为9 大写P 小写p和大写P在二进制比较下是不一样的 MyPos InStr 1 SearchString Searc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南快消品策划营销方案
- 咸宁团建活动策划方案公司
- 说明文知识总结
- 赣州税务筹划咨询方案
- 2025年营养师鉴定考试冲刺指南:实操技能强化与理论巩固试卷
- 城市智慧化发展案例分析
- 2025年度深基坑专项方案测试卷及答案
- 2024年水利设施管养人员练习题及参考答案详解(完整版)
- 2025年医师定期考核模考模拟试题及参考答案详解(突破训练)
- 2024年安全员考试通关考试题库含完整答案详解(各地真题)
- 海姆立克急救法操作考核标准
- 2025年店铺转租合同模板版
- 餐饮公司股东协议合同范本
- 2025年上海百联集团股份有限公司招聘笔试参考题库含答案解析
- 2025年浙江金华武义县国资公司招聘笔试参考题库含答案解析
- 企业员工信息安全意识培训
- Unit 1 Lesson 5 I like my school!教学实录2024-2025学年冀教版(2024)初中英语七年级上册
- 【语文试题卷】2024学年第一学期九年级12月学情调研(终)
- 设备故障分析报告范文
- 2024年国家网络安全宣传周网络安全知识培训讲座
- 2022年第十七届广东省中学生天文知识竞赛试题(含答案)
评论
0/150
提交评论