上海海事大学VB4第3章.ppt_第1页
上海海事大学VB4第3章.ppt_第2页
上海海事大学VB4第3章.ppt_第3页
上海海事大学VB4第3章.ppt_第4页
上海海事大学VB4第3章.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1,第三章 VB程序设计基础,3.1 数据类型 3.2 常量与变量 3.3 运算符和表达式 3.4 常用函数 3.5 综合应用 3.6 自主学习-程序调试,本章目录,2,3.1.1 引例圆柱体积和表面积计算,本章目录,例3.1 利用计算机来解决初等数学问题 已知半径r和圆柱高h,计算圆柱体积t和表面积s,保留三位小数 显示结果无小数. 原因是:存放计算结果的t和s的数据类型为整型,3.1 数据类型,Const PI = 3.14159 Dim r As Integer, h As Integer Dim t As Integer, s As Integer r = Val(Text1.Text) h =Val(Text2.Text) t = PI * r * r * h s = 2 * PI * r * h,Dim t As Single, s As Single,3.1.2 数据类型,整数是没有小数点和指数符号的数。按其数值范围划分成: 1.整型:关键字是Integer 类型符是% 内存中占2个字节共16位 能表示的整数范围为:-3276832767 789、-78、+56、96% 都是整型数 2.长整型:关键字是Long 类型符是& 内存中占4个字节共32位 能表示的整数范围为:-2147483648 2147483647 45&、-78914& 都是长整型数 注意:长整型数要在末尾加上&,1 整型数据类型,出错指数:,整型常量的书写形式, 十进制整数:如 0,123%,-45,32&。 八进制整数:以&、&o、&O开头,并由07组成的数字符序列。如:&O123表示八进制整数,其值等于十进制整数为1*82 + 2*81 + 3 = 83,出错指数:,整型常量的书写形式, 十六进制整数:以&h、&H开头,并由十六进制数的数字符组成的数字符序列。表示十六进制数的数字符有 16 个:09 和 A、B、C、D、E、F,其中六个字母也可以小写。 如:&H123表示十六进制整数,其值等于十进制整数为:1*162 + 2*161 + 3 = 291; &Habc,其值等于10*162 + 11*161 + 12 = 2748。,出错指数:,2 浮点数据类型,浮点型就是实数,可以写成十进制小数和指数(用e或E代表10)两种形式。按数值范围大小和精度不同分成两种: 1. 单精度型:关键字 Single ,类型符 ! 在内存中占用4个字节(32位),精度7位,能表示约为-3.410-383.41038。 78.5 689.2! 78.2E+4! 都是正确的写法,3.2.2 浮点数据类型,2. 双精度型:关键字Double , 类型符 # ,在内存中占用8个字节(64位),精度15位,能表示约为-1.710-3081.710308。 注意:对于双精度浮点数,十进制小数形式的,在末尾加#,指数形式的要用D或d代替E或e,也可以在末尾加# 254.3# 2.3D-7 3.2E+2# 都是正确的写法,3 货币数据类型和字节数据类型,货币型是定点实数或整数,最多保留小数点右边4位和小数点左边15位(版本不同有差异),用于货币计算。 关键字Currency; 类型符 ; 内存中占据8个字节 123.45 1234 都是正确的货币型数据 字节型用于存储二进制数。 关键字Byte ; 无类型符; 在内存中占据1个字节 表示范围0255; 没有负数,4 字符数据类型,字符型数据是用双引号括起来的一串字符,例 “book” 字符型数据的内部表示是字符的Unicode代码(以二进制形式) 一个英文字符和一个汉字都占2个字节。 没有放入任何字符的一对双引号“”是空字符串。,出错指数:,4 字符数据类型,空格是有效的字符。字符串中的双引号用连续两个双引号表示,如:字符串“book”name”应该写成“book” name” 字符型关键字 String ;类型符 $ ;占据的字节数要根据字符串的长度来计算。字符型数据类型有定长和变长两种,定长字符串最长不超过65535个字符。变长字符串最长不超过231个字符,出错指数:,5 逻辑数据类型,逻辑型数据只有真(True)和假(False)两个量.关键字Boolean,无类型符。 真(True)和假(False)在内存中都占2个字节。真(True)对应16位1;假(False)对应16位0. 将逻辑性数据转化为整数值时真(True)对应-1;假(False)对应0。 当将其他类型数据转换成逻辑数据时,非0为真(True);0为假(False)。,出错指数:,6 日期数据类型,日期型数据是按8个字节的浮点数存储的。关键字Date/Time,无类型符。范围从公元100年1月1日到9999年12月31日;时间范围从0:00:00到23:59:59 表示方法为以任何字面上可以被认作日期和时间的字符两端加上#,例如: #January1,2000# #1 Jan,00# #2000-6-25 12:30:00 PM#,7 对象数据类型,关键字Object; 无类型符;在内存中占据4个字节。 Object变量作为4个字节地址来存储,该地址可引用应用程序中的对象。可以用Set语句指定一个被声明为Object的变量去引用应用程序所识别的任何实际对象。,8 变体数据类型,变体数据类型关键字Variant; 无类型符;是一种特殊的数据类型,为VB的数据处理增加了智能性,是所有未定义的变量的缺省数据类型,它对数据的处理完全取决与程序上下文的需要。 要检测变体型变量中保存的数值是什么类型,可用VarType函数进行检测,根据函数的返回值(见下表)判断变体型变量中保存的数值是什么类型。 例如:VarType(123)的返回值为2,表示为整型。,16,3.标识符,标识符来给用户处理的对象起个名字; 用来命名常量、变量、函数、过程、各种控件名 遵循以下规则:,(1)字母或下划线开头,后面可跟字母、数字、下划线等字符; 可以用汉字、希腊字母等,但不常用。 (2) 不能使用VB中的关键字。例如Dim、If、For等。 (3)一般不要使用具有特定意义的标识符,如属性和方法名等。 (4)不区分变量名的大小写。例如,XYZ,xyz,xYz等都认为指的是一个相同的变量名。为了便于区分,一般变量首字母用大写字母,其余用小写字母表示;常量全部用大写字母表示。,17,下例是错误或使用不当的标识符:,3xy 数字开头 y - z 不允许出现减号运算符 Wang Ping 不允许出现空格 Dim VB的关键字,18,3.2常量与变量,变量用来存储可能变化的数据,而常量则表示固定不变的数据。 例:t=3.14159*r*r*h,19,3.2.1 常量,VB中有三种常量: 直接常量 其常数值直接反映了其类型 “字符串”、True False、123、123.0 符号常量 用户声明,便于程序阅读或修改 Const 符号常量名 As 类型 = 表达式 例 Const PI=3.14 系统常量 系统提供许多内部常量和枚举 例如:vbCrLf 回车/换行组合符,本章目录,20,本章目录,3.2.2变量,1.变量及特点 变量是在程序运行过程中其值可以变化的量。 任何变量有以下特点:,变量名 变量的标识符。 数据类型 指明变量存放的数据类型。 变量值 存放相应数据类型的数据。,21,2.变量声明,作用:指定变量命名和类型,也可以赋于初值 声明形式 Dim 变量名 As 类型 As部分缺省,创建的变量为变体类型,本章目录,注意:一条Dim语句可同时定义多个变量; 每个变量用一个As来指定,否则为变体型。 为了书写简练,可用类型符来代替 As 类型,例如:Dim m As Integer,j As Integer,x As Single,k Dim m%, j%,x!, k,变量的隐式声明 在VB中变量可以不经声明直接使用,因为系统已经自动进行了隐式声明,且数据类型为变体型。 例如:Private Sub Form_Click() A=5 A由系统隐式声明为变体型 B=4 Print A+B End Sub,变量声明后,系统根据其类型给予不同的默认初值: 整型、长整型、单精度、双精度、货币型、字节型的默认初值为0 字符型的默认初值为空字符串“” 逻辑性的默认初值为False 日期型的默认初值为0/0/0 对象型的默认初值为Nothing,变量的初值,24,3.3 运算符和表达式,本章目录,运算符和表达式 : 结果类型 算术运算符与算术表达式 数值 字符串运算符与字符串表达式 字符串 关系运算符与关系表达式 逻辑 逻辑运算符与逻辑表达式 逻辑,25,1. 算术运算符,例:5+10 mod 10 9 / 3+2 2,注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。 例如: 30-True 结果是31,逻辑量True转为数值-1,False转为数值0 False + 10 + “4“ 结果是14,本章目录,结果:10,注意: 在算术运算中,如果操作数具有不同的数据精度,则VB规定运算结果的数据类型采用精度高的数据类型。即 IntegerLongSingleDoubleCurrency 但是: 长整型与单精度型运算结果为双精度型 除和乘方的运算结果为双精度型 整除运算时,操作数是实数,先“四舍六入五取双”取整后再相除,结果为整型或长整型 例如:7.2 3.5 结果为1 72.51 结果为2,取模运算时,运算符两边必须用空格和操作数隔开,若操作数不是整数,则先“四舍六入五取双”取整再取模(求余数),结果为整数,符号与第一个操作数的符号相同。 例如: -7.2 Mod 3.5 结果为-3 7.2 Mod -3.5结果为3 3 Mod 2.5 结果为1 3 Mod 1.5 结果为1 -7.2 Mod 2.5 结果为-1,28,例 在文本框输入秒数,以小时、分、秒形式 显示。 分析:这是利用“Mod”、“”运算符可方便地解决。,29,2.字符串连接运算符,& 两旁的操作数可任意,转换成字符型后再连接 + 两旁的操作数应均为字符型; 1)数值型:则进行算术加运算; 2)一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加; 3)一个为非数字字符,另一个为数值型,出错。例如: 操作 结果 操作 结果 “ab“ & 123 “ab123 “ “ab“ + 12 出错 “12“ & 456 “ 12456 “ “12“ + 456 468 “12“ & True “12True“ “12“ + True 11 注意: 在变量后使用运算符时,变量与间应加一个空格,本章目录,30,3.关系运算符,作用是对两个操作数进行大小比较, 结果为True或False。,本章目录,注意: 如果两个操作数都是数值,直接比较大小。 如果操作数是字符型数据,则从左向右逐个比较字符的ASCII值,直至出现不同字符或所有字符比较完毕。 汉字字符按拼音字母进行比较。“大”99 结果为True “99+1”99 报错,Like运算符用于判断两个字符串之间的包含关系 格式为:Like 若包含于结果为True,反之为False 注意:在中可以使用以下通配符: ?通配一个字符,“12”Like“?23” 结果为True *通配一串字符,“123456”Like“*” 结果为True #通配一个数字,“123456”Like“#4” 结果为False 字符列表通配字符列表中的一个字符,“7”Like“1-9”结果为True,写成“7” Like “1,2,3,4,5,6,7,8,9”也可以,结果为True !字符列表通配字符列表以外的一个字符,“7”Like“!1-9”结果为False 写成“7”Like“!1,2,3,4,5,6,7,8,9”也可以,结果为False,33,4.逻辑运算符,逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。,本章目录,34,3.2.2表达式,1.组成 变量、常量、函数、运算符和圆括号 2.书写规则 运算符不能相邻 例 a+-b是错误的 乘号不能省略 例 x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小 3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 Integer字符串运算符关系运算符逻辑运算符,本章目录,35,表达式书写举例,a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g),例逻辑表达式书写,选拔优秀生的条件为: 年龄(Age)小于19岁,三门课总分(Total)高于285分, 其中有一门为100分,如果其表达式写为:,sin(45*3.14/180)+(exp(10)+log(10)/sqr (x+y+1),本章目录,思考:如果取消括号有何问题?请读者考虑。,Age285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 ),36,1.数学函数,例3.3 模拟Windows计算器.,本章目录,3.4 常用函数,37,常用数学函数,38,2.转换函数,本章目录,39,转换函数说明,Chr和Asc函数互为反函数。Chr(Asc(“r”) Chr(66) “B“ Asc (“B“) 66 Asc(Chr(66) 99 Chr(Asc(“K”) “K” Ucase$(“abcdefg“) “ABCDEFG“ (2) Str函数将非负数值转换成字符类型后,会在转换后的字符串左边增加一空格。 (3) Val将数字字符串转换为数值类型,当字符串中出现数值类型规定的字符外的字符,则停止转换,函数返回的是停止转换前的结果。例如表达式: Val(“-123.45ty3“)结果为-123.45。,本章目录,40,3. 字符串函数,字符串编码 VB中字符串长度是以字(习惯称字符)为单位,每个西文字符和每个汉字都作为一个Unicode字,占两个字节。,本章目录,41,常用字符串函数,42,常用字符串函数例,本章目录,String(5,”A”) 结果为“AAAAA“ InStr(“EFABCDEFG“,“EF“) 结果为1 Trim(“ABC“) 结果为“ABC“ Left(“ABCDE“,2) 结果为“AB“ Right(“ABCDE“,2) 结果为“DE“ Mid(“ABCDE“,2,3) 结果为“BCD“ Mid(“ABCDE“,2,6) 结果为“BCDE“,43,本章目录,Now 返回系统日期和时间 WeekDay 返回星期代号 DateAdd(要增减日期形式,增减量,要增减的日期变量) DateDiff(要间隔日期形式,日期1,日期2) 例如:计算从现在开始计算离你毕业(假定2015年6月30 日)还有多少天?表达式为: DateDiff(“d“, Now, #6/30/2015#) 日期属性 year month day hour Minute,4.日期函数,44,5.其他实用函数,(1) Rnd随机函数 形式如下: Rnd()或Rnd(N) 作用: 产生0,1)双精度随机数。 N0或缺省时,生成随机数, N0生成与上次相同的随机数。,产生某范围的整数值,其通用表达式为: Int(Rnd*(上界-下界+1)+下界),要产生1100 数:Int(Rnd*100+1),45,注意: 每次运行,产生相同序列的随机数。 要产生不同序列的随机数,可执行函数: Randomize,例3.4 随机产生10个大写字母,46,(2)IsNumeric函数,形式如下: IsNumeric(表达式) 作用:判断表达式是否是数字 一般用于对输入数据的合法性检验 例如:IsNumeric(”123a”) 结果Fasle,47,*5. Shell函数,Shell函数可调用各种应用程序。 形式如下: Shell(命令字符串,窗口类型) 命令字符串:要执行的可执行文件名(包括路径) 窗口类型:窗口状态,04,6,1表示正常窗口 例如:,本章目录,Shell(“c:windowssystem32calc.exe”,1),48,3.5 综合应用,例3.6 模仿Word中字符串替换功能和字幕滚动。 本例字符串替换功能三种方法实现: 利用查找(InStr)、取子串(Left、Mid)等函数实现 利用替换(Replace)函数实现 利用Shell函数调用winword.exe执行Word程序。,本章目录,标题栏滚动显示“查找与替换例”,可用时钟(Timer1)控件和Space函数,改变空格数达到自右向左滚动字幕效果。 Me.Text = Space(20 - j) & “查找与替换例“,49,本章要点 了解基本数据类型的使用 了解基本常量 掌握变量声明 掌握运算符和表达式的书写 了解常用函数的调用方式,50,3.6 自主学习-程序调试,随着程序的复杂性提高,程序中的错误也

温馨提示

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

评论

0/150

提交评论