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

下载本文档

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

文档简介

第三章VisualBasic程序设计基础 1 掌握VB的数据类型 2 掌握VB的运算符和表达式的使用 3 掌握常用内部函数的使用 本章重点 变量和常量的定义及使用 运算符和表达式的使用及常用内部函数的使用 本章难点 数据类型 运算符与表达式 本章内容及要求 3 1数据类型 一 标准数据类型 1 数值型数据 Numeric 数值型数据一般分为整型数和浮点数两类 整型数分为 整数 Integer 和长整数 Long 浮点数分为 单精度浮点数 Single 和双精度浮点数 Double 有时也把货币型数据 Currency 和字节型数据 Byte 划归数值型数据 数值型数据的默认值为 0所有数值变量都可相互赋值 在将浮点数赋予整数之前 VisualBasic将浮点数的小数部分四舍五入到整数 1 数值型数据 Numeric 1 整数 Integer 整数是不带小数点和指数符号的数 在机器内部以2字节二进制码形式表示 VB中用 n 来表示整数 其中 为整数的类型符 可以省略 如 123 123都表示整数 2 长整数 Long 整数的最大值为32767 大于此数 程序运行时就会因为溢出产生中断 此时可使用长整数 长整数用4字节二进制数存储 可以表示更大的整数 其取值范围为 2147483648 2147483647 VB中用 n 来表示长整数 其中 为长整数的类型符 如 1234 987654 都表示长整数 浮点数也称为实型数或实数 由符号 尾数和指数组成 分单精度浮点数 Single 和双精度浮点数 Double 其指数部分分别用 E 或 e 和 D 或 d 表示 1 数值型数据 Numeric 4 货币型 Currency 货币型属于定点实数或整数 用8个字节存储 小数点前有15位 小数点后有4位 其余的数字被舍去 其表示形式为在数字后加上 5 字节型 Byte 字节型数据用1个字节的无符号二进制数存储 取值范围为0 255 1 数值型数据 Numeric 2 字符型数据 string 字符型数据是指一切可打印的字符和字符串 它是用双引号括起来的一串字符 一个西文字符 汉字都是一个字符 它们在内存中都占两个字节 字符型数据的默认值为 在VB中有两种类型字符串 变长字符串和定长字符串 变长字符串的长度不确定 可以是0 231个字符 约21亿 定长字符串长度一定 最多不超过216个字符如 DimSAsString 变长字符串Dim Private Public StaticvarnameAsString 8 定长字符串 说明 1 空字符串与空格串的区别 2 在字符串中必须用两个连续的双引号来表示字符串 有一个双引号如字符串 abc 计算机 abc 在VB中表示为 abc 计算机 abc 2 字符型数据 string 3 逻辑型数据 Boolean 逻辑型数据只有两个值 真 True 和假 False 用2个字节存储 经常用来表示逻辑判断的结果 Boolean的缺省值为False 说明 当把数值型数据转换为逻辑型数据时 0 转换为False非0 转换为True 反之 当把逻辑型数据转换为数值型时 False 转换为0True 转换为1 4 日期型数据 Date 用于存储Date和Time 表示的日期从公元100年1月1日 9999年12月31日 时间范围为0 00 00 23 59 59 任何在字面上可以被认作日期的文本都可以赋值给日期变量 且日期文字必须用符号 括起来 用8个字节存储 默认值为 0 00 00 如 January15 2002 1985 10 19 45 00PM 都是合法的日期型数据 例如 DimSomeDateAsDateSomeDate 1980 03 16 SomeDate 3 6 9313 20 SomeDate March27 20041 20am 5 对象 Object 类型的数据 对象类型 占用4个字节的内存空间 存放的是对一个对象的引用 对象在内存中的地址 程序对对象型变量的操作等同于对它所引用对象的操作 用Set语句给对象型变量赋值 未赋值之前为Nothing如 DimobjFirstAsCommandButtonSetobjFirst cmdok 把按钮对象赋给此变量SetobjFirst Form 错误 类型不匹配 6 变体 Variant 数据类型 Variant数据类型又称为变体数据类型 它是一种特殊的 可以表示所有系统定义类型的数据类型 变体数据类型对数据的处理可以根据上下文的变化而变化 除了定长的string类型及用户自定义的数据类型之外 可以处理任何类型的数据而不必进行数据类型的转换 如上所述的数值型 日期型 对象型 字符型的数据都可表示 Variant数据类型是VB对所有未定义的变量的缺省数据类型 能够存储所有类型的数据 Variant型变量占用16个字节的内存 例如 DimSomeValueAsVariantSomeValue 17 SomeValue SomeValue 15SomeValue U SomeValue除了可以表示各种类型的数据外 Variant类型的变量也可以包含Empty Error及Null等特殊值 Empty值 Empty值用来标记尚未初始化 给定初值 的Variant变量 在赋值之前 Variant变量具有值Empty 值 Empty是异于0 零长度字符串 或Null值的特定值 6 变体 Variant 数据类型 Null值 Null通常用于数据库应用程序 表示未知数据或丢失的数据 注意 1 对包含Null的表达式 计算结果总是Null 2 将Null值 含Null的Variant变量或计算结果为Null的表达式作为参数传递给大多数函数 将会使函数返回Null 3 也可用Null关键字指定Null值 例如 z Null4 如果要测试Variant变量是否包含Null值 可以例用IsNull函数 即Null与本身不相等 Error值 Error是用来指示在过程中出现错误时的特殊值 6 变体 Variant 数据类型 二用户自定义数据类型 除了上述数据类型外 在VB中 用户可以根据需要利用Type语句定义自己的数据类型 其格式如下 Private Public Type自定义类型名数据类型元素As类型名 EndType 其中 数据类型元素名为自定义数据类型中的一个成员 类型名为上述基本类型名或自定义数据类型名 例题 定义一个有关职工信息的自定义类型 用户可以像使用标准数据类型一样使用自定义的数据类型 如 DimDiegoAsEmployee 在过程中PrivateDonaAsEmployee 在模块中使用自定义变量中的元素 类似于对象属性的操作 Diego Name Diego PrivateTypeEmployeeIDAsIntegerNameAsString 20SalaryAsCurrencyEndType 二用户自定义数据类型 注意 1 自定义类型必须在标准模块或窗体模块的声明段中声明 在标准模块中定义时默认为全局变量 Public 在窗体模块或类模块的声明部分定义模块级用户自定义类型时 一定要加上Private关键字 2 自定义类型的元素类型如果有字符串 则必须是定长字符串 即应该为 strNameAsString 常数 常数 指明定长字符串的长度 二用户自定义数据类型 3 2常量和变量 3 2 1常量在程序运行过程中 其值不能被改变的量称为常量 在VB中有三类常量 普通常量符号常量系统常量 一 普通常量1 字符串常量在VB中字符串常量是用双引号 括起的一串字符 可以是所有西文字符和汉字 标点符号等 例如 ABC abcdefg 123 0 VB程序设计 等 说明 1 表示空字符串 而 表示有一个空格的字符串 2 若字符串中有双引号 例如ABD XYZ 则用连续两个双引号表示 即 ABD XYZ 3 2常量和变量 2 数值型常量 1 整型 Integer 3 2常量和变量 通常我们说的整型常量指的是十进制整数 但VB中可以使用八进制和十六进制形式的整型常数 因此整型常数有如下三种形式 1 十进制整数表示 32768至32767之间的整数 如125 0 89 20 2 八进制整数以 或 O 字母O 开头的整数是八进制整数 如 O25表示八进制整数25 即 25 8 等于十进制数21 3 十六进制以 H开头的整数是十六进制整数 如 H25表示十六进制整数25 即 25 16 等于十进制数37 VB中的颜色数据常常用十六进制整数表示 3 2常量和变量 2 长整型 Long 表示 2 147 483 648至2 147 483 647之间的整数例如 长整型常数的书写 23 3 实数1 单精度实型 Single 有效数为7位2 双精度实型 Double 有效数为15位常量的表示 1 十进制小数形式 它是由正负号 数字 0 9 和小数点 或类型符号 组成 即 n n n 或 n 其中n是0 9的数字 例如0 123 123 123 0 123 123 等2 指数形式 nE m或 n nE m nD m或 n nD m例 1 25E 3和1 25D 3相当于1250 0或者1 25 103 3 2常量和变量 3 2常量和变量 3 逻辑 Boolean 数据类型只有两个值True 或False 将逻辑数据转换成整型时 True为 1 False为0 其它数据转换成逻辑数据时 非0为True 0为False 4 日期常量日期 Date 型数据按8字节的浮点数来存储 表示日期范围从公元100年1月1日 9999年12月31日 而时间范围从0 00 00 23 59 59 一种在字面上可被认作日期和时间的字符 只要用号码符 括起来 都可以作为日期型数值常量 例 09 02 99 January4 1989 2002 5 414 30 00PM 都是合法的日期型常量 3 2常量和变量 二 符号常量在程序中 某个常量多次被使用 则可以使用一个符号来代替该常量 这样不仅在书写上方便 而且有效地改进了程序的可读性和可维护性 VB中使用关键字Const声明符号常量 其格式如下 Const常量名 As类型 常数表达式或 Const常量名 类型符号 常数表达式例如 ConstPIAsDouble 3 1415926535等价于 ConstPI 3 1415926535 3 2常量和变量 例如 要将文本框Text1的前景颜色设置为红色 可以使用下面的语句 Text1 ForeColor vbRed这里的vbRed就是系统常量 这比直接使用16进制数来设置要直观得多 三 系统常量VB系统提供的应用程序和控件的系统定义常数 它们存放于系统的对象库中 在 对象浏览器 中的VisualBasic VB 和VisualBasicforapplications VBA 对象库中列举了VisualBasic的常数 3 2常量和变量 一 变量的命名规则1 以字母或汉字开头 后可跟字母 数字或下划线组成 2 变量名最长为255个字符 3 VB中不区分变量名的大小写 不能使用VB中的关键字 4 字符之间必须并排书写 不能出现上下标以下符是合法的变量名 a x x3 BOOK 1 sum5以下标识符是非法的 3s以数字开头s T出现非法字符 3x以减号开头bowy 1出现非法字符 减号 if使用了VB的关键字 3 2 2变量 二 变量声明1 显式声明显示声明变量的一般格式 Dim Private Static Public As As 形式 Dim变量名 AS类型 Dim变量名 类型符 例 DimabAsinteger sumAssingle等价于Dimab sum 3 2常量和变量 缺省数据类型的变量默认为Variant类型例 Dimx yAsDouble用AsString可以定义变长和定长字符串例 DimMyStringAsString 10 声明长度为10个字符的定长字符串MyString Maryis5 PrintMyStringMyString Maryisfiveyearsold MyString的值为PrintMyString Maryisfi 多余的部分被截断 舍弃 3 2常量和变量 例 DimintXAsIntegerDimstrYAsStringStrY 3716 将数字赋值给字符串intX strY 将字符串传递给数值变量Static主要用于在过程中定义静态变量和静态数组 该变量的值杂函数或过程执行结束后能保存下来 例 PrivateSubform Click DimA1AsIntegerStaticA2AsIntegerA1 A1 1A2 A2 1EndSub 3 2常量和变量 2 隐式声明VisualBasic允许用户在编写应用程序时 不声明变量而直接使用 系统临时为新变量分配存储空间并使用 这就是隐式声明 所有隐式声明的变量都是Variant数据类型 VisualBasic根据程序中赋予变量的值来自动调整变量的类型 例如 3 2常量和变量 3 2常量和变量 下面是一个很简单的程序 其使用的变量a b Total都没有事先定义 PrivateSubForm Click Total 0a 10 b 20Total a bPrint Total TotalEndSub 3 强制显式声明 OptionExplicit语句 良好的编程习惯都应该是 先声明变量 后使用变量 这样做可以提高程序的效率 同时也使程序易于调试 VisualBasic中可以强制显式声明 可以在窗体模块 标准模块和类模块的通用声明段中加入语句 OptionExplicit 3 2常量和变量 3 3运算符和表达式 一 运算符1 算术运算符例 5 2 10mod10 9 3 2 2结果是 11 ia 3 2 字符串运算符与字符串表达式字符串运算符有 功能是字符串连接例如 ABCD EFGHI 结果为 ABCDEFGHI VB 程序设计教程 结果为 VB程序设计教程说明 当连接符两旁的操作量都为字符串时 上述两个连接符等价 它们区别是 连接运算 两个操作数均应为字符串类型 连接运算 两个操作数既可为字符型也可为数值型 当是数值型时 系统自动先将其转换为数字字符 然后进行连接操作 3 3运算符和表达式 例 100 123 结果为223 100 123 结果为100123 Abc 123 出错 100 123 结果为100123100 123 结果为100123 Abc 123 结果为Abc123 Abc 123 结果为Abc123 注意 使用运算符 时 变量与运算符 之间应加一个空格 这是因为符号 还是长整型的类型定义符 如果变量与符号 接在一起 VB系统先把它作为类型定义符处理 因而就会出现语法错误 3 3运算符和表达式 3关系运算符与关系表达式 比较两个运算量之间的关系 关系表达式的运算结果为逻辑量 若关系成立 结果为True 若关系不成立 结果为False VB中的关系运算符如下表所示 3 3运算符和表达式 关系运算的规则如下 1 当两个操作式均为数值型 按数值大小比较 2 字符串比较 则按字符的ASCII码值从左到右一一比较 直到出现不同的字符为止 例 ABCDE ABRA 结果为False 3 数值型与可转换为数值型的数据比较 如 29 189 按数值比较 结果为False 4 数值型与不能转换成数值型的字符型比较 如 77 sdcd 不能比较 系统出错 5 Like 运算符是VB6 0新增加的 其使用格式为 str1Likestr2 3 3运算符和表达式 4逻辑运算符与逻辑表达式逻辑运算符 Not And OrXorEqvImp 3 3运算符和表达式 说明 1 逻辑运算符的优先级不相同 Not 逻辑非 最高 但它低于关系运算 Imp 逻辑蕴含 最低 2 VB中常用的逻辑运算符是Not And和Or 它们用于将多个关系表达式进行逻辑判断 例如 数学上表示某个数在某个区域时用表达式 10 X 10AndX 20如果写成如下形式将是错误的 10 x 20或10 xOrx 20 3 3运算符和表达式 例 用人单位招聘干部 年龄小于40岁 女性 学历专科或本科 写成条件VB的表达式 年龄 39性别 女 学历 专科 学历 本科 3 3运算符和表达式 And Or And 如果逻辑运算符对数值进行运算 则进行数字的二进制逐位操作 如 12And7表示对1100 12 与0111 7 进行逐位与操作 1100 0111 0100 3 3运算符和表达式 5日期型表达式日期型数据是一种特殊的数值型数据 只能有下面3种情况 1 一个日期型数据可以相减 DateB DateA结果是一个数值型整数 两个日期相差的天数 例如 05 08 2002 05 01 2002 其结果为数值 72 一个日期型数据 DateA 与一数值数据 N 可作加法运算 DateA N其结果仍是一个日期型数据 3 一个日期型数据 DateA 与一数值数据 N 可作减法运算 DateA N其结果仍是一个日期型数据 例如 05 08 2002 7 3 3运算符和表达式 6运算符的执行顺序 表达式中出现了多种不同类型的运算符时 其运算符优先级如下 算术运算符 字符运算符 关系运算符 逻辑运算 说明 1 当一个表达式中出现多种运算符时 首先进行算术运算符 接着处理字符串连接运算符 然后处理比较运算符 最后处理逻辑运算符 2 可以用括号改变优先顺序 强令表达式的某些部分优先运行 括号内的运算总是优先于括号外的运算 对于多重括号 总是由内到外 3 3运算符和表达式 7 表达式的书写中需注意的问题 1 运算符不能相邻 例a b是错误的 2 乘号不能省略 例x乘以y应写成 x y 3 括号必须成对出现 均使用圆括号 4 表达式从左到右在同一基准并排书写 不能出现上下标 5 要注意各种运算符的优先级别 为保持运算顺序 在写VB表达式时需要适当添加括号 若用到库函数必须按库函要求书写 如 3 3运算符和表达式 函数 完成特定功能的一段独立的程序代码 内部函数 系统提供预先编好的程序 用户直接调用函数名即可使用 VB提供了上百种内部函数 库函数 要求掌握这些常用函数的功能及使用 调用方法 函数名 参数列表 有参函数函数名无参函数说明 1 使用内部函数要注意参数的个数及其参数的数据类型 2 要注意函数的定义域 自变量或参数的取值范围 例如 sqr x 要求 x 0 3 要注意函数的值域 如 exp 23773 的值就超出实数在计算机中的表示范围 3 4常用内部函数 数学函数 数学函数 说明 1 在三角函数中的自变量是以弧度为单位 如 sin300sin 3 14159 180 30 2 Rnd函数返回0 1 包括0和不包括1 之间的单精度随机数 若要产生1 100的随机整数 Int Rnd 100 1 提问 怎样产生 N M 区间的随机数 Int 上限 下限 1 Rnd 下限 Randomize语句 可清除一个应用程序由于不断重复使用随机数时同一序列随机数反复出现的情况 有关数学函数的使用说明 3 要区别两个取整函数int N 和fix N Fix N 为截断取整 即去掉小数后的数 Int N 不大于N的最大整数 N 0与int N 相同 当N 0时 int N 与fix N 1相等 例如 Fix 9 59 9 Int 9 59 9Fix 9 59 9 Int 9 59 10 4 Round N1 N2 四舍五入函数 5 Asc Abcd 值为 65 只取首字母的Ascii值 有关数学函数的使用说明 字符串函数 字符串函数 字符串函数 字符串函数 1 求ASC 码值 Asc功能 用来求一个字符串首字符的ASC 码值格式 Asc string 说明 参数string可以是任何有效的字符串表达式 如果string中没有包含任何字符 则会产生运行时错误 2 求ASC 码字符 Chr功能 求一个ASC 码值所对应的ASC 码字符格式 Chr charcode 说明 参数charcode是一个用来识别某字符的Long型数 charcode的正常范围为0 255 0到31之间的数字与标准的非打印ASCII代码相同 例如 Chr 10 可以返回换行字符 字符串函数 功能 是返回包含于字符串内的数字 字符串中是一个适当类型的数值 格式 Val string Val abc123 值为 0 Val 1 2sa10 值为1 2注意 Val 函数只将最前面的数字字符转换为数值 3 字符串转换为数值 Val 上一页 下一页 返回首页 字符串函数 功能 是将一个数值表达式转换为一个字符串 格式 Str number 说明 当一数字转成字符串时 总会在前头保留一空位来表示正负 如果number为正 返回的字符串包含一前导空格暗示有一正号 使用Format函数可将数值转成必要的格式 如日期 时间 货币或其他用户自定义格式 与Str不同的是 Format函数不包含前导空格来放置number的正负号 4 数值转换为字符串 Str 上一页 下一页 返回首页 字符串函数 数据类型转换函数 日期和时间函数

温馨提示

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

最新文档

评论

0/150

提交评论