第4章 Visual Basic程序设计基础.ppt_第1页
第4章 Visual Basic程序设计基础.ppt_第2页
第4章 Visual Basic程序设计基础.ppt_第3页
第4章 Visual Basic程序设计基础.ppt_第4页
第4章 Visual Basic程序设计基础.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

VisualBasic语言程序设计 第4章VisualBasic程序设计基础 2 第4章VisualBasic程序设计基础 4 1数据类型 4 2常量和变量 4 3变量的作用域 4 4常用内部函数 4 5字符处理与字符串函数 4 6运算符与表达式 3 4 1数据类型 VisualBasic6 0提供的基本数据类型主要有字符串型数据和数值型数据 此外还提供了字节 货币 对象 日期 布尔和变体数据类型 4 1 1基本数据类型4 1 2用户定义的数据类型 4 4 1 1基本数据类型 1字符串 String 在VisualBasic中 字符串是放在双引号内的若干个字符 例如 Hello Wearestudents VisualBasic6 0程序设计 空字符串 VisualBasic中的字符串分为两种 即变长字符串和定长字符串 其中变长字符串的长度是不确定的 而定长字符串含有确定个数的字符 最大长度不超过65535个字符 5 4 1 1基本数据类型 2 数值VisualBasic的数值型数据分为整型数和浮点数两类 其中整型数又分为整数和长整数 浮点数分为单精度浮点数和双精度浮点数 1 整型数整型数是不带小数点和指数符号的数 整数 Integer 整数以两个字节 16位二进制 表示和参加运算 其取值范围为 32768 32767 长整数 Long 四个字节 32位二进制 长整数取值范围约为正负20亿 6 4 1 1基本数据类型 2 浮点数浮点数也称实型数或实数 是带有小数部分的数值 单精度浮点数 指数用 E 或 e 表示双精度浮点数 指数用 D 或 d 来表示 例如 123 45E3或123 45e 3单精度数 相当于123 45乘以10的3次幂123 45678D3或123 45678d 3双精度数 相当于123 45678乘以10的3次幂 注意 单精度数字的有效数字只有7个 如果整数位较多 那小数位相对较少 运算精度降低 7 4 1 1基本数据类型 3 货币 Currency 货币数据类型是为表示钱款而设置的 该类型数据以8个字节存储 精确到小数点后4位 4 变体 Variant 变体数据类型是一种可变的数据类型 可以表示任何值 包括数值 字符串 日期 时间等 5 其他数据类型包括字节型 布尔型 日期型 对象型等 8 4 1 2用户定义的数据类型 当处理一组相关的 类型不同的数据时 用Type语句自定义数据类型 类似这个表 每一行数据都是不可分割的 用来描述一个对象的 这样最好不用单独的没有关联的变量来保存数据 此时 需要用自定义类型 9 4 1 2用户定义的数据类型 格式 Type数据类型名EndType 数据类型元素名as数据类型名数据类型元素名as数据类型名 10 4 1 2用户定义的数据类型 例 TypestudentNoasinteger 定义No为整型NameasString 定义不定长字符串SexasString 1 定义为1个字符的定长字符串phoneasstring 11Endtype 11 4 1 2用户定义的数据类型 在使用Type语句时 应注意以下几点 1 记录类型中的元素可以是变长字符串 也可以是定长字符串 当在随机文件中使用时 必须使用定长字符串 其长度用类型名称加上一个星号和常数指明 一般格式为 String 常数这里的 常数 是字符个数 它指定定长字符串的长度 2 记录类型的定义必须放在模块 包括标准模块和窗体模块 的声明部分 在使用记录类型之前 必须用Type语句加以定义 在一般情况下 记录类型在标准模块中定义 其变量可以出现在工程的任何地方 当在标准模块中定义时 关键字Type前可以有Public 默认 或Private 而如果在窗体模块中定义 则必须在前面加上关键字Private 3 在记录类型中不能使用动态数组 4 在随机文件操作中 记录类型数据有着重要的作用 12 4 2常量和变量 前一节介绍了VisualBasic中使用的数据类型 在程序中 不同类型的数据既可以以常量的形式出现 也可以以变量的形式出现 常量在程序执行期间其值是不发生变化的 而变量的值是可变的 它代表内存中指定的存储单元 4 2 1常量4 2 2变量 13 4 2 1常量 VisualBasic中的常量分为两种 一种是文字常量 一种是符号常量 1 文字常量VisualBasic的文字常量分为两种 即字符串和数值 1 字符串常量字符串常量由字符组成 可以是除双引号和回车符之外的任何字符 例如 25 000 00 NumberofEmployees 2 数值常量数值常量共有4种表示方式 即整型数 长整型数 货币型数和浮点数 14 4 2 1常量 VisualBasic在判断常量类型时有时存在多义性 例如 值3 01可能是单精度类型 也可能是双精度类型或货币类型 在默认情况下 VB将选择需要内存容量最小的表示方法 值3 01通常被作为单精度数处理 为了显式地指明常数的类型 可以在常数后面加上类型说明符 分别为 整型 长整型 单精度浮点数 双精度浮点数 货币型 字符串型字节 布尔 日期 对象及变体类型没有类型说明符 15 4 2 1常量 2符号常量有时需要用一些有意义的字符代替直接常量 一般格式为 Const常量名 表达式其中 常量名 是一个名字 后面可加类型说明符 表达式 由文字常量 算术运算符 指数运算符 除外 逻辑运算符组成 也可以使用诸如 Erroroninput 之类的字符串 但不能使用字符串连接运算符 变量及用户定义的函数或内部函数 例如 ConstPi 3 1415926符号变量定以后不可以在程序中更改值 16 4 2 2变量 数值存入内存后 必须用某种方式访问它 才能执行指定的操作 在VB中 可以用名字表示内存位置 这样就能访问内存中的数据 一个有名称的内存位置称为变量 Variable 每个变量都有一个名字和相应的数据类型 通过名字来引用一个变量 而数据类型则决定了该变量的储存方式 17 4 2 2变量 1 命名规则变量是一个名字 给变量命名时应遵循以下规则 1 名字只能由字母 数字和下划线组成 2 名字的第一个字符必须是英文字母 最后一个字符可以是类型说明符 3 名字的有效字符为255个 4 不能用VisualBasic的保留字作变量名 但可以把保留字嵌入变量名中 同时 变量名也不能是末尾带有类型说明符的保留字 例如 变量Print和Print 是非法的 而变量Print Number是合法的 VB不区分变量名和其他名字中字母的大小写 Hello HELLO hello指的是同一个名字 18 4 2 2变量 2 变量的类型和定义任何变量都属于一定的数据类型 包括基本数据类型和用户定义的数据类型 在VisualBasic中 可以用下面几种方式来规定一个变量的类型 19 4 2 2变量 1 用类型说明符来标识把类型说明符放在变量名的尾部 可以标识不同的变量类型 其中 表示整型 表示长整型 表示单精度型 表示双精度型 表示货币型 表示字符串型 例如 Total Amount Lname 20 4 2 2变量 2 在定义变量时指定其类型可以用下面的格式定义变量 Declare变量名As类型这里的 Declare 可以是Dim Static Redim Public或Private As 是关键字 类型 可以是基本数据类型或用户定义的类型 21 4 2 2变量 Dim 用于在标准模块 Module 窗体模块 Form 或过程 Procedure 中定义变量或数组 当定义的变量要用于窗体时 程序代码窗口中的 对象 框应为 通用 过程 框应为 声明 Static 用于在过程中定义静态变量及数组变量 Public 用来在标准模块中定义全局变量或数组 22 4 2 2变量 3记录类型变量记录类型变量的定义与基本数据类型变量的定义没有什么区别 但在引用时有所不同 例如 假定有如下的记录类型 TypeTypeDemoNum1AsDoubleNum2AsIntegerVar1AsString 8EndType则可用下面的语句定义TypeDemo的变量 StaticGenvarAsTypeDemo以后就可以用 变量 元素 的格式引用记录中的各个成员 例如 Genvar Num1Genvar Num2Genvar Var1 23 4 3变量的作用域 变量的作用域指的是变量的有效范围 即变量的 可见性 定义了一个变量后 为了能正确地使用变量的值 应当明确可以在程序的什么地方访问该变量 4 3 1局部变量与全局变量4 3 2默认声明 24 4 3 1局部变量与全局变量 1局部变量在过程 事件过程或通用过程 内定义的变量叫做局部变量 其作用域是它所在的过程 某一过程的执行只对该过程内的变量产生作用 对其他过程中相同名字的局部变量没有任何影响 因此 在不同的过程中可以定义相同名字的局部变量 它们之间没有任何关系 如果需要 则可以通过 过程名 变量名 的形式分别引用不同过程中相同名字的变量 25 4 3 1局部变量与全局变量 2模块变量 窗体变量和标准模块变量 模块变量可用于该窗体或者标准模块内的所有过程 模块级变量在模块的声明部分用Private或Dim声明 没有区别 26 4 3 1局部变量与全局变量 3全局变量全局变量也称全程变量 可以在工程的每个模块 每个过程中使用 和模块级变量类似 全局变量也在标准模块的声明部分中声明 所不同的是 全局变量必须用Public或Global语句声明 同时 全局变量只能在标准模块中声明 不能在过程或窗体模块中声明 27 4 3 1局部变量与全局变量 3种变量的作用域见下表 28 4 3 2默认声明 对于局部变量来说 也可以不用Dim 或Static 定义 而在需要时直接给出变量名 变量的类型可以用类型说明符 来标识 如果没有类型说明符 VisualBasic把该变量指定为变体数据类型 变量未经定义直接使用 都看做是局部变量 如果需要变量在使用前都要经过声明才可以使用 可以在通用声明处加上OptionExplicit语句 29 4 4常用内部函数 VisualBasic提供了大量的内部函数 在这些函数中 有些是通用的 有些则与某种操作有关 大体上可分为5类 在这一节中 将介绍其中的转换函数 数学函数 日期函数 时间函数和随机数函数 下一节介绍字符串函数 30 4 4常用内部函数 转换函数函数功能Int x 求不大于自变量x的最大整数Fix x 去掉一个浮点数的小数部分 保留其整数部分Hex x 把一个十进制数转换为十六进制数Oct x 把一个十进制数转换为八进制数Asc x 返回字符串x 中第一个字符的ASCII码Chr x 把x的值转换为相应的ASCII字符Str x 把x的值转换为一个字符串Cint x 把x的小数部分四舍五入 转换为整数Ccur x 把x的值转换为货币类型值 小数部分最多保留4位且自动四舍五入CDbl x 把x值转换为双精度数CLng x 把x的小数部分四舍五入转换为长整型数CSng x 把x值转换为单精度数CVar x 把x值转换为变体类型值Val x 把字符串转换为数值数学Sin x 31 4 4常用内部函数 数学函数函数功能Sin x 返回自变量x的正弦值Cos x 返回自变量x的余弦值Tan x 返回自变量x的正切值Atn x 返回自变量x的反正切值Abs x 返回自变量x的绝对值Sgn x 返回自变量x的符号 即 当x为负数时 函数返回 1当x为0时 函数返回0当x为正数时 函数返回1Sqr x 返回自变量x的平方根 x必须大于或等于0Exp x 返回以e为底 以x为指数的值 即求e的x次方日期 32 4 4常用内部函数 日期时间函数函数功能Day Now 返回当前的日期WeekDay Now 返回当前的星期Month Now 返回当前的月份Year Now 返回当前的年份时间Hour Now 返回小时 0 23 Minute Now 返回分钟 0 59 Second Now 返回秒 0 59 Rnd x 产生一个0 1之间的单精度随机数 33 4 5字符处理与字符串函数 VisualBasic具有十分丰富的字符处理能力 它提供了字符串变量 字符串数组以及大量的字符串函数 使用十分方便灵活 在这一节中 将介绍VisualBasic的字符处理机制和字符串函数 4 5 1VisualBasic的字符处理机制4 5 2字符串函数 34 4 5 1VisualBasic的字符处理机制 VB6 0中采用UniCode编码方式来表示和存储字符串 即无论中文西文还是数字 字符长度都为1 例 PrintLen 中国 结果 2PrintLen abcde 结果 5PrintLen VB知识123 结果 7 35 4 5 2字符串函数 1删除空白字符函数 1 LTrim 字符串 去掉 字符串 左边的空白字符 2 RTrim 字符串 去掉 字符串 右边的空白字符 3 Trim 字符串 去掉 字符串 两边的空白字符 空白字符包括空格 Tab键等 36 4 5 2字符串函数 2 字符串截取函数 1 左部截取格式 Left 字符串 n 返回 字符串 的前n个字符 这里的 字符串 可以是字符串常量 字符串变量 字符串函数或字符串连接表达式 2 中部截取格式 Mid 字符串 p n 从第p个字符开始 向后截取n个字符 字符串 的含义同前 p和n都是算术表达式 3 右部截取格式 Right 字符串 n 返回 字符串 的最后n个字符 字符串 和n的含义同前 37 4 5 2字符串函数 2 字符串长度测试函数格式 Len 字符串 Len 变量名 用Len函数可以测试字符串的长度 也可以测试变量的存储空间 它的自变量可以是字符串 也可以是变量名 例如 a ABCDEFGHIJK len a 结果 11a len testvar b len testvar c len testvar printa b c结果 842 38 4 5 2字符串函数 4 String 函数格式 String n ASCII码 String n 字符串 返回由n个指定字符组成的字符串 第二个自变量可以是ASCII码 也可以是字符串 当为ASCII码时 返回由该ASCII码对应的n个字符 当为字符串时 返回由该字符串第一个字符组成的n个字符的字符串 例如 A string 5 65 b string 5 c string 5 abcde printa b c 结果 AAAAA aaaaa 39 4 5 2字符串函数 5 空格函数格式 Space n 返回n个空格 例如 a a Space 4 b printa 结果 ab 40 4 5 2字符串函数 6 字符串匹配函数格式 InStr 首字符位置 字符串1 字符串2 n 该函数在 字符串1 中查找 字符串2 如果找到了 则返回 字符串2 的第一个字符在 字符串1 中的位置 字符串1 的第一个字符的位置为1 例如 a MicrosoftVisualBasic x InStr a Visual printx结果 11因为 字符串2 的第一个字符 V 位于 字符串1 的第11个字符处 41 4 5 2字符串函数 7 字母大小写转换格式 Ucase 字符串 Lcase 字符串 Ucase把 字符串 中的小写字母转换为大写字母 Lcase函数把 字符串 中的大写字母转换为小写字母 例如 a MicrosoftVisualBasic b Ucase a c Lcase a printb printc 结果 MICROSOFTVISUALBASICmicrosoftvisualbasic 42 4 5 2字符串函数 8 插入字符串语句Mid 格式 Mid 字符串 位置 L 子字符串该语句把从 字符串 的 位置 开始的字符用 子字符串 代替 如果含有L自变量 则替换的内容是 子字符串 左部的L个字符 位置 和L均为长整型数 43 4 6运算符与表达式 运算 即操作 是对数据的加工 最基本的运算形式常常可以用一些简洁的符号来描述 这些符号称为运算符或操作符 被运算的对象 即数据 称为运算量或操作数 由

温馨提示

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

评论

0/150

提交评论