程序设计第三章.ppt_第1页
程序设计第三章.ppt_第2页
程序设计第三章.ppt_第3页
程序设计第三章.ppt_第4页
程序设计第三章.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第三章数据类型 常量 变量及表达式 本章内容及要求 1 熟悉VB程序中代码和语句书写规则 2 掌握VB的数据类型 3 掌握VB的运算符和表达式的使用 4 掌握常用内部函数的使用 本章重点 变量和常量的定义及使用 运算符和表达式的使用及常用内部函数的使用 本章难点 数据类型 内部函数 3 1数据类型 3 1 1标准数据类型 例子 整型 123 123 123 123 范围 长整型 123 123678 范围 通常我们说的整型常量指的是十进制整数 但VB中可以使用八进制和十六进制形式的整型常数 因此整数有如下三种形式 这几种表示法仍然可以区分为整型和长整型 1 十进制整数 如125 0 892 八进制整数 以 或 O 字母O 开头的整数是八进制整数 如 O25 表示八进制整数 25 8 等于十进制数21 3 十六进制 以 H开头的整数是十六进制整数 如 H25表示十六进制整数25 即 25 16 等于十进制数37 VB中的颜色数据常常用十六进制整数表示 H63AE 整型和长整型都是整型常量 例子 单精度型 123 45 123 45 123 45E 3 有效数为7位范围 表示 1 十进制小数形式 由正负号 数字 0 9 和小数点 或类型符号 组成2 指数形式 nE m或 n nE m双精度型 123 45 123 45E 3 123 45D 3 有效数为15位范围 表示 1 十进制小数形式 最后加 2 指数形式 nD m或 n nD m或 n nE m 单精度和双精度数都是实型常量 货币型 1233344 4532 范围 日期型 January1 2000 10 12 2000 2000 10 1211 30 36AM 1 1 5范围 日期范围从公元100年1月1日 9999年12月31日 而时间范围从0 00 00 23 59 59 表示 1 在字面上可被认作日期和时间的字符 只要用号码符 括起来 都可以作为日期型数值常量 2 当以数值表示日期数据时 整数部分代表日期 而小数部分代表时间 例如1表示1899年12月31日 大于1的整数表示该日期以后的日期 0和小于0的整数表示该日期以前的日期 例子 字符型 123ab 3456 VB程序设计 范围 0 65535个字符 1 字符串中的字符可以是所有西文字符和汉字 标点符号等 2 表示空字符串 而 表示有一个空格的字符串 3 若字符串中有双引号 例如ABD XYZ 则用连续两个双引号表示 即 ABD XYZ 逻辑型 只有两个值True 或False 将逻辑数据转换成整型时 True为 1 False为0 其它数据转换成逻辑数据时 非0为True 0为False 变体型 按需分配 一 变量和常量的命名规则1 以字母或汉字开头 后可跟字母 数字或下划线组成 长度小于等于40个字符 2 不能使用VB中的关键字 3 VB中不区分变量名的大小写 4 为了增加程序的可读性 可在变量名前加一个缩写的前缀来表明该变量的数据类型 例如 strAbc 字符串变量 intCount 整型变量 dblx 双精度变量 sngYz 单精度变量 3 2 1变量 3 2常量和变量 二 变量声明1 用Dim语句显式声明变量形式 Dim变量名 AS类型 Dim变量名 类型符 例DimintCountAsinteger sumAssingle等价于DimintCount sum 2 隐式声明VisualBasic允许用户在编写应用程序时 不声明变量而直接使用 系统临时为新变量分配存储空间并使用 这就是隐式声明 所有隐式声明的变量都是Variant数据类型 VisualBasic根据程序中赋予变量的值来自动调整变量的类型 例如 下面是一个很简单的程序 其使用的变量a b Sum都没有事先定义 PrivateSubForm Click Sum 0a 10 b 20Sum a bPrint Sum SumEndSub 3 强制显式声明 OptionExplicit语句 良好的编程习惯都应该是 先声明变量 后使用变量 这样做可以提高程序的效率 同时也使程序易于调试 VisualBasic中可以强制显式声明 可以在窗体模块 标准模块和类模块的通用声明段中加入语句 OptionExplicit 3 2 2常量在程序运行过程中 其值不能被改变的量称为常量 在VB中有三类常量 普通常量符号常量系统常量一 普通常量其值不能改变的常数 略 二 符号常量在程序中 某个常量多次被使用 则可以使用一个符号来代替该常量 这样不仅在书写上方便 而且有效地改进了程序的可读性和可维护性 除非重新声明 否则不能改变 VB中使用关键字Const声明符号常量 其格式如下 Const常量名 As类型 类型符号 常数表达式例如 ConstPI 3 1415926535等价于 ConstPIAsDouble 3 1415926535如果没有类型声明 默认为变体类型 三 系统常量VB系统提供了应用程序和控件的系统定义常数 它们存放于系统的对象库中 在 对象浏览器 中的 VBRUN 和VisualBasicforapplications VBA 对象库中列举了VisualBasic的常数 例如 要将文本框Text1的前景颜色设置为红色 可以使用下面的语句 Text1 ForeColor vbRedLabel1 Alignment vbCenter这里的vbRed就是系统常量 这比直接使用16进制数来设置要直观得多 又如 窗口状态属性WindowsState可取0 1 2三个值 对应三种不同状态 表3 3 在程序中使用语句Form1 WindowState vbMaxmized 将窗口极大化 显然要比使用语句Form1 WindowState 2易于阅读和理解 3 3运算符和表达式 一 运算符1 算术运算符 均是双目运算 ia 3 例 5 10mod10 9 3 2 2结果是 10 说明 如果是算数运算 其他类型的数据自动转换为数值型数据 如果操作数有不同的数据精度 类型 计算时自动调整精度 运算结果采用精度相对高的数据类型 Integer Long Single Double Currency30 True 结果为31False 10 4 结果为14t text1 text2 结果为text1中的数值和text2中的数值相加a 3Print10 a 结果为3 333333 2 字符串运算符与字符串表达式字符串运算符有 功能是字符串连接例如 ABCD EFGHI 结果为 ABCDEFGHI VB 程序设计教程 结果为 VB程序设计教程说明 当连接符两旁的操作量都为字符串时 上述两个连接符等价 它们区别是 连接运算 两个操作数均应为字符串类型 如果有数值型 则会先转换成数值型数据计算 连接运算 两个操作数既可为字符型也可为数值型 当是数值型时 系统自动先将其转换为数字字符 然后进行连接操作 例 100 123 结果为223 100 123 结果为100123 Abc 123 结果为Abc123 Abc 123 出错 100 123 结果为100123100 123 结果为100123 Abc 123 结果为Abc123 Abc 123 结果为Abc123 注意 使用运算符 时 变量与运算符 之间应加一个空格 这是因为符号 还是长整型的类型定义符 如果变量与符号 接在一起 VB系统先把它作为类型定义符处理 因而就会出现语法错误 3 3 3关系运算符与关系表达式 关系运算符都是双目运算 是用来比较两个运算量之间的关系 关系表达式的运算结果为逻辑量 若关系成立 结果为True 若关系不成立 结果为False VB中的关系运算符如下表所示 关系运算的规则如下 1 当两个操作式均为数值型 按数值大小比较 23 ABRA 结果为False 23 3 结果为False汉字以拼音为序比较 国家 安全 结果为True 3 数值型与可转换为数值型的数据比较 如 29 189 按数值比较 结果为False 4 数值型与不能转换成数值型的字符型比较 如 77 sdcd 不能比较 系统出错 5 Like 运算符是VB6 0新增加的 其使用格式为 str1Likestr2 This Like is 3 3 4逻辑运算符与逻辑表达式Not逻辑非为单目运算符 要求一个操作数 其它为双目运算符 条件表达式1And条件表达式2条件表达式均为T结果为T条件表达式1Or条件表达式2条件表达式有一个T结果为T 说明 1 逻辑运算符的优先级不相同 Not 逻辑非 最高 但它低于关系运算 Imp 逻辑蕴含 最低 2 VB中常用的逻辑运算符是Not And和Or 它们用于将多个关系表达式进行逻辑判断 例如 数学上表示某个数在某个区域时用表达式 10 X 10AndX 20 3 参与逻辑运算的量一般都应是逻辑型数据 如果参与逻辑运算的两操作数是数值量 则以数值的二进制值逐位进行逻辑运算 0当False 1当True 如6Or3 7关系表达式与逻辑表达式常常用在条件语句与循环语句中 作为条件控制程序的流程走向 3 3 5日期型表达式日期型数据是一种特殊的数值型数据 只能有下面3种情况 1 一个日期型数据可以相减 DateB DateA结果是一个数值型整数 两个日期相差的天数 例如 05 08 2002 05 01 2002 其结果为数值 72 一个日期型数据 DateA 与一数值数据 N 可作加法运算 DateA N其结果仍是一个日期型数据 例如 05 01 2002 7其结果为日期型数据 05 08 2002 3 一个日期型数据 DateA 与一数值数据 N 可作减法运算 DateA N其结果仍是一个日期型数据 例如 05 08 2002 7其结果为日期型数据 05 01 2002 3 3 6表达式 一 运算符的执行顺序 表达式中出现了多种不同类型的运算符时 其运算符优先级如下 算术运算符 字符运算符 关系运算符 逻辑运算 说明 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 三 不同数据类型的转换如果操作数有不同的数据精度 类型 则运算结果采用精度相对高的数据类型 Integer Long Single Double Currency VB提供了上百种内部函数 库函数 要求掌握这些常用函数的功能及使用 调用方法 函数名 参数列表 有参函数函数名无参函数说明 1 使用库函数要注意参数的个数及其参数的数据类型 2 要注意函数的定义域 自变量或参数的取值范围 例如 sqrt x 要求 x 0 3 要注意函数的值域 如 exp 23773 的值就超出实数在计算机中的表示范围 3 4常用内部函数 1 数学函数常用的数学函数见p50表3 7所示Abs N Cos N Sin N Exp N Log N Sqr N Rnd N Sgn N 说明 1 在三角函数中的自变量是以弧度为单位 如 sin300sin 3 14159 180 30 2 Rnd函数返回0 1 包括0和不包括1 之间的双精度随机数 Int Rnd 范围 基数 若要产生20 50的随机整数 Int Rnd 31 20 提问 怎样产生 N M 区间的随机数 表3 8转换函数 2 转换函数 说明 1 Asc Abcd 值为 65 只取首字母的Ascii值 2 Val abc123 值为 0 Val 1 2sa10 值为1 2注意 Val 函数只将最前面的数字字符转换为数值 3 Chr N 和Asc C 互为反函数Chr Asc B B AscChr 65 65 4 Str N 将非负数值转换为字符型后在字符串左边加上空格Str 34 34 5 注意区分Int Fix Round异同 表1 3 8字符串函数 3 字符串操作函数 常用的字符串函数见p52表3 9说明 如果返回是字符型 则函数后有 字符 当然一般也可以不写 习惯都写上 例如 len VB高级技术 7Left ABCDEFG 3 ABC Mid ABCDEFG 2 3 BCD InStr 2 ABCDEFGEF EF 5 第一次出现的位置 String 3 ader aaa 4 日期 时间函数常用的日期时间函数见p53页表3 10 掌握 TimeDateNowYear C N Month C N Day C N DateAdd DateDiff 如 DateAdd m 2 now DateDiff d Now 2009 6 30 日期形式p53页表3 11 5 Shell函数调用应用程序函数 除上面常用的四类函数 VB中还有测试函数 与文件操作有关的函数及其它函数 用法 函数Shell 命令字符串 窗口类型 过程Shell命令字符串 窗口类型 注意 1 命令字符串为要执行的应用程序名 包括路径 必须是可执行文件 com exe bat 2 窗口类型表示执行应用程序的窗口状态 0 4 6的整型数值 1表示正常窗口状态 3 函数调用成功返回一个任务标识ID 不成功 则返回0 5 Shell函数例Shel

温馨提示

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

评论

0/150

提交评论