VB第2章VisualBasic语言基础.ppt

上传人:za****8 文档编号:14486795 上传时间:2020-07-21 格式:PPT 页数:56 大小:799.51KB
返回 下载 相关 举报
VB第2章VisualBasic语言基础.ppt_第1页
第1页 / 共56页
VB第2章VisualBasic语言基础.ppt_第2页
第2页 / 共56页
VB第2章VisualBasic语言基础.ppt_第3页
第3页 / 共56页
点击查看更多>>
资源描述
Visual Basic程序设计 第2章 Visual Basic语言基础知识,计算机 科学学院,教师:张翼凌,2.1 数据类型,提 要,2.2 常量和变量,2.3 运算符与表达式,2.4 常用内部函数简介,本章目标,熟练掌握Visual Basic基本数据类型 掌握变量定义、表达式运算和常用内部函数的使用 重点:数据类型、表达式运算(整除法、 模运算、字符串运算) 难点:数据类型,数据:是程序的必要组成部分,也是程序处理的对象。,2.1 数据类型,1.1.1 BASIC语言 1. 字符串型(String) 字符串是一个字符序列,是放在“.”内的若干个字符,长度为0的字符串称为空字符串 例如:”Hello” ” (1)变长字符串:变长字符串的长度为0231(约21亿)个字符。 (2)定长字符串:定长字符串含有确定个数的字符,最大长度不超过216(即65535)个字符。 例如:Dim stuName As String * 10,2.1 数据类型,2.1 数据类型,2. 数值型 (1)整型数 :整型数是指不带小数点和指数符号的数。整数(Integer)的存储长度为2个字节(16位)。长整数(Long)为4个字节(32位)存储长度 。 (2)浮点数 :又称为“实数”,是带有小数部分的数,浮点数由三部分组成:符号、指数以及尾数。单精度浮点数(Single)以4个字节存储(32位)。双精度浮点数(Double)以8个字节存储(64位)。,2.1 数据类型,3. 货币型(Currency) 货币数据类型是为表示货币金额而设置的。该类型数据以8个字节存储(64位),精确到小数点后4位,小数点前有15位。 4. 变体型(Variant) 变体数据类型是一种类型可变的数据类型,它可以表示任何类型的数据,在不同的场合代表不同的数据类型。在没有说明数据类型时,系统视为变体数据类型。,2.1 数据类型,5. 字节型(Byte) 一种数值类型,以1个字节存储无符号整数,取值范围是:0255。 6. 布尔型(Boolean) 布尔型数据是一个逻辑值,用2个字节存储。 7. 日期型(Date) 日期数据类型以8个字节浮点数形式存储,日期文字必须以#括起来 。例:#May 1,2009# 8. 对象型(Object) 对象型数据可以表示任何类型的对象,如图形等,用4个字节存储。,在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。 使用形式: Type 自定义类型名 元素名 (下标) As 类型名 元素名 (下标) As 类型名 . . . End Type,用户定义的数据类型,Type Student Xh As Sting Xm As String Xb As String Nl As Integer Score As Single End Type,例如: 对于一个学生的“学号”、“姓名”、“性别”、 “年龄”、“入学成绩”等数据,为了处理数据 的方便,常常需要把这些数据定义成一个新的数 据类型(如Student类型)。,2.2 常量和变量,2.2.1 常量 1. 文字常量 (1)字符串常量 字符串常量的内容常用双引号括起来。 (2)数值常量 数值常量共有四种表示方式,即整型数、长整型数、货币型数及浮点数。,常量是程序运行中其值保持不变的量,而变量的值可以改变,它代表内存中指定的存储单元。,2.2 常量和变量,2. 符号常量 Visual Basic中定义的符号常量,可用来代替数值或字符串。 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。 VB中使用关键字Const 声明符号常量。其格式如下: Const 常量名 As 类型|类型符号=常数表达式 例如: Const PI#=3.1415926535 等价于: Const PI As Double=3.1415926535,2.2 常量和变量,3.系统常量 例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句: Text1.ForeColor=vbRed 这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。 又如,窗口状态属性WindowsState可取0,1,2三个值,对应三种不同状态. 在程序中使用语句 Myform.WindowsState=vbMaxmized,将窗口极大化, 显然要比使用语句Myform.WindowsState=2 易于阅读和理解。,2.2 常量和变量,2.2.2 变量 一个有名称的内存位置称为变量,它是用来存储程序中可以变化的量. 1. 变量名,变量名最好做到“见名知意”,1、只能由字母、汉字、数字和下划线组成,长度不 能多于255个字符. 例如: abc_12 2、必须以字母开头,最后一个字符可以是类型说明符. 例如: abc$ 3、变量名不能使用VB中的保留字 ,也不能是末尾带有类型说明符的保留字。 例如: Sub、Print、Print$ 不合法 4、VB中不区分变量名中字母的大小写 例如:Hello、HELLO等,(1)a123 (2)a12_3(3)123_a (4)a 123 (5)Integer(6)XYZ (7)False (8)sin(x)(9)sinx (10)变量名 (11)abcdefg(12),2.2 常量和变量,2. 变量的类型 (1)用类型说明符来标识 在变量的尾部加上类型说明符可以标识不同的变量类型.,例如: Num%和Str1$均是合法 的变量名,2.2 常量和变量,(2)定义变量时申明其类型 Declare (Dim、Static、Redim、Public、Private) 变量名 As 类型,注意:VB中不允许在定义变量的同时对其赋值 如:Dim a% = 100(错误),1)用Dim语句显式声明变量 形式:Dim 变量名 AS 类型 Dim 变量名类型说明符 一条dim语句可以同时声明多个变量,通过“,”分隔。 例如: DimXAsInteger DimNameAsString DimCountAsInteger,SumAsSingle 等价于 Dim Count%, sum!,2)用static语句声明变量 格式如下: Static变量名As数据类型 使用static声明的变量称为静态变量,它与dim语句声明的变量区别:执行一个过程结束时,用static声明的变量值会保留,用dim语句声明的变量值不保留,每次调用时重新初始化。,3)用public语句声明变量 格式如下: Public 变量名 As 数据类型 Public语句声明变量只能在全局模块中使用,它 声明的变量,工程中的所有模块都可以引用。如果一 个过程或函数使它的值发生了改变,那么使用它的其 它过程和函数也会受到相应的影响.,真题以下声明语句中错误的是( ),A)Const var1=123 B)Dim var2 = ABC C)Dim s D)Static var3 As Integer,B,说明:定义一变量后,系统自动为该变量赋初始值。数值型的初值为0;字符型变量的初值为空字符串(其中变长字符串的初值是长度为0的空字符串,定长字符串的初值是长度等于定义值的空字符串)。,2.2 常量和变量,(3)用DefType语句定义 格式: DefType 字母范围 ,字母范围 说明: Def是保留字,Type是类型标志,可以是 常用数据类型 成批定义:字母或以该字母开头的变量 名都被定义为同一类型 例: DefInt C-F,2.2 常量和变量,3. 变量的命名规范 一般采用“类型缩写+变量实名”的匈牙利命名法 ,作为前缀的类型缩写全部为小写.变量实名的单词首字母须大写.临时变量尽量使用简单字符.如字母i用来表示循环变量. 详见书上表2-2. 例如:strAbc:字符串变量 i、iCount :整型临时变量 dblResult:双精度变量,2.2 常量和变量,4. 变体类型变量 变量未定义(或声明时不指定类型)直接使用, VB默认该变量为变体类型(Variant) 。 Dim 变量名 As Variant 例如:,Dim M_Variant As Variant M_Variant = 123 M_Variant = 123 M_Variant = True,2.2 常量和变量,5. 变量类型的转换 常用数据类型转换函数。,例: CInt(2345),2.2 常量和变量,2.2.3 强制变量声明 良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:Option Explicit 在窗体或模块部分添加强制变量声明。格式 Option Explicit,下面是一个很简单的程序,其使用的变量a, b, Sum都没有事先定义。 Private Sub Form_Click() Sum = 0 a = 10: b = 20 Sum = a + b Print Sum=; Sum End Sub 工具-选项-编辑器-要求变量声明,2.3 运算符与表达式,2.3.1 算术运算符与算术表达式 1. 算术运算 算术运算符的种类、优先顺序 。,例如表达式:PI*r*r,1)指数运算,指数运算是用来计算乘方和方根。,注意:当指数和负号相邻时,负号优先。当指数是个表达式时,必须加上括号。例如:x的y+z次方,应写为:x(y+z),“”:指数运算符。 例如: 102=100 10-2=0.01 8(1/3)=2,2)浮点数除法与整除运算,例 3/2 =1.5 例 18.5 3.9=4,“”:整除运算符,当除数或被除数带有小数时,首先被四舍五入为整数或长整数,然后进行整除运算,其运算结果被截断为整数(Integer、Long),不进行舍入处理。,“/”:浮点数除法运算符。,19 4=4,3) 取模运算,例 8 Mod 5=3 37.45 mod 5.68=1,取模运算的结果为一个整型数值,这个值是第1个操作数整除第2个操作数所得的余数,当操作数为浮点数时先进行四舍五入为整数,再取模。,37 mod 6=1,“mod”:取模运算符。,VB提供了“&”和“+”两个字符串运算符,功能是字 符串连接 说明: +(连接运算):1、既可以用作加法运算,如果1个 操作数为数值,1个为字符串 ,先将 字符串转换为数值,再想加 2、也可用于字符串连接; &(连接运算):专门用作字符串连接。,2.3 运算符与表达式,2.3.2 字符串运算符与字符串表达式,例: 100 + 123 结果为 223 100 + 123 结果为 100123 Abc + 123 结果为 Abc123 100 & 123 结果为 100123 100 & 123 结果为 100123 Abc & 123 结果为 Abc123 Abc & 123 结果为 Abc123,注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。,关系运算符也称为比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值。即真(True)或假(false。,2.3.3关系运算符与关系表达式,2.3 运算符与表达式,VB提供了如下8种关系运算符。,关系运算的规则如下: (1)当两个操作式均为数值型,按数值大小比较。 (2)字符串比较,则按字符的ASCII码值从左到右一一比较, 直到出现不同的字符为止.。 例: ABCDE ABRA 结果为 False (3)数值型与可转换为数值型的数据比较, 如:29189 ,按数值比较,结果为False。 (4)数值型与不能转换成数值型的字符型比较, 如:77 sdcd ,不能比较,系统出错。 (5)“Like”运算符是VB6.0新增加的。 其使用格式为:str1 Like str2 (6) “Is”:用于比较两个对象,2.3.4 逻辑运算符与逻辑表达式 逻辑运算也称为布尔运算,主要有以下几种。,2.3 运算符与表达式,说明: (1)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于关系运算,Imp(逻辑蕴含)最低。 (2)VB中常用的逻辑运算符是Not、And和Or。它们用于将多个关系表达式进行逻辑判断。 例如,数学上表示某个数在某个区域时用表达式: 10X=10 And X20 (3)参与逻辑运算的量一般都应是逻辑型数据,如果参与逻辑运算的两操作数是数值量,则以数值的二进制值逐位进行逻辑运算(0当False,1当True)。 关系表达式与逻辑表达式常常用在条件语句与循环语句中,作为条件控制程序的流程走向。,2.3.5 日期型表达式 日期型数据是一种特殊的数值型数据,只能有下面3种情况: 1一个日期型数据可以相减: DateB-DateA, 结果是一个数值型整数(两个日期相差的天数)。 例如:#05/08/2002# - #05/01/2002# 其结果为数值:7 2一个日期型数据(DateA)与一数值数据(N)可作加法运算:DateA+N, 其结果仍是一个日期型数据。 例如:#05/01/2002# +7 其结果为日期型数据: #05/08/2002#,2.3 运算符与表达式,3一个日期型数据(DateA)与一数值数据(N)可作减 法运算: DateA-N, 其结果仍是一个日期型数据。 例如:#05/08/2002# - 7 其结果为日期型数据:#05/01/2002#,2.3.6 运算符的执行顺序,表达式中出现了多种不同类型的运算符时,其运算符优先级如下: 算术运算符=字符运算符关系运算符逻辑运算,说明: 1当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。 2可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。,2.3 运算符与表达式,. 表达式的书写中需注意的问题 (1)运算符不能相邻。例a+-b是错误的。 (2)乘号不能省略。例x 乘以y 应写成:x*y (3)括号必须成对出现,均使用圆括号。 (4)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。 如: (b-sqr(b*b-4*a*c)/(2*a) (a+b)/(a-b),2.4 常用内部函数简介,VB提供了上百种内部函数(库函数), 要求掌握这些常用函数的功能及使用。 内部函数又称为公共函数,每一个内部函数都具有某个特定的功能,可以在任何程序中直接调用。 这些函数大致可分为数学函数、转换函数、字符串函数、日期/时间函数等四类。 函数具有返回值,一般带有一个或几个自变量。,调用方法: 函数名(参数列表) 有参函数 函数名 无参函数 说明: (1)使用库函数要注意参数的个数及其参数的数据类型 sin(x):x是以弧度为单位 (2)要注意函数的定义域(自变量或参数的取值范围) 例如: sqr(x) 要求: x=0 (3)要注意函数的值域。 如:exp(23773) 的值就超出实数在计算机中的表示范围。,Sin(x) Cos(x) Tan(x) Atn(x) Abs(x) Sgn(x) Sqr(x) Exp(x) Int(x) Fix(x) Rnd(x) 说明: (1)在三角函数中的自变量是以弧度为单位。 如:sin300 sin(3.14159/180*30),1、数学函数 数学函数主要用于各种数学计算.,常用的数学函数如下:,(2)Fix(x)为截断取整,直接去掉小数点和小数部分. Int(x)不大于x的最大整数。区别: 当x0时, int(x) :返回小于或等于x的第1个负整数,而fix(x):返回大于或等于x的第1个负整数”。 例如: Fix(9.59)=9, Int(9.59) =9 Fix(-9.59)=-9, Int(-9.59) =-10,(3)Rnd函数返回0 1之间的随机数。 若要产生1-100的随机整数: Int(Rnd *100+1),2.4 常用内部函数简介,2、字符串函数 用来处理字符串,表2-5列出的是常用字 符串函数。 说明: 如果返回是字符型,则函数后有“$”字符。当然一般也可以不写,习惯都写上。,常见的字符串函数如下:,1、求字符串大小函数 Len(str)、LenB(str) 2、取子串函数 LTrim$ (str)、RTrim $ (str)、Trim $ (str) Left$ (str,n)、Right $ (str,n)、Mid $ (str,p,n) 3、找子串函数 InStr(str1, str2),4、字符串转换函数 Str $ (num)、Val(str)、Lcase (str)、Ucase (str) 5、空格函数: Space$(n) 6、String$(n,str):返回n个由str首字母组成的字符串,2.4 常用内部函数简介,例如: len(“VB程序设计) 6 lenB(“VB程序设计) 12 a$=“abcdef” Left$(a,4) “abcd Mid$(a,2,3) “bcd“ Mid$(a,2) “bcdef“ Right$(a,4) “cdef“ String$(4,65) “AAAA“ String$(3,”abc”) “aaa” Val(“abc123”) 0 Val(1.2sa10) 1.2 注意: Val( )函数只将最前面的数字字符转换为数值。,2.4 常用内部函数简介,3、转换函数 常用转换函数见表2-6。 (1)Asc(“Abcd”) : 65 (只取首字母的 Ascii值) (2)Chr$(65) :”A”, (3)Oct$(29):”35” (4)Hex$(29):”1D”,2.4 常用内部函数简介,4、日期/时间函数 常用日期/时间函数见表2-7。 Time( ) Date( ) Now() Day( ) WeekDay( ) Month( ) Year( ) Hour( ) Minute( ) Second( ),欢迎提问!,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!