《第3章 VB语言基础[1]课件.ppt》由会员分享,可在线阅读,更多相关《第3章 VB语言基础[1]课件.ppt(45页珍藏版)》请在三一办公上搜索。
1、第3章 常量与变量,第3章 常量与变量,第3章 常量与变量,1.理解变量与常量的概念、掌握其定义和使用;2.掌握各种常用数据类型的数据定义和使用3.掌握各种运算符、表达式的使用方法4.掌握常用内部函数的使用,教学目的和要求:,第3章 常量与变量 1.理解变量与常量的概念、掌握其定义和,3.1 数据类型,3.1.1 标准数据类型,3.1 数据类型3.1.1 标准数据类型类 型名,3.1 数据类型,3.1 数据类型类 型名 称存储空间表数范围变长字符串S,3.1.2 自定义类型,在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。使用形式:Type 自定义类型名 元素名(下标)As
2、 类型名 元素名(下标)As 类型名.End Type说明:放到文件一章讲,3.1 数据类型,3.1.2 自定义类型 在模块级别中使用,,Type Student Xh As String Xm As String Xb As String Nl As Integer Score As Single End Type,例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。,3.1 数据类型,Type Student 例如:对,3.2 常 量,在程序运行过程中,其值不能被改变的量称为常
3、量。在VB中有三类常量:普通常量 符号常量 系统常量。3.2.1 普通常量 1 整型常量(1)整型(Integer):表示-32768至32767之间的整数 例如:10 110%20(2)长整型(Long):表示-2,147,483,648至2,147,483,647之间的整数 例如:长整型常数的书写:23&,3.2 常 量 在程序运行过程中,其值不能被改变,整型常数有如下三种形式:,1)十进制整数。如125,0,-89,202)八进制整数。以&或&O(字母O)开头如&O25(25)8,等于十进制数21。3)十六进制。以&H开头,如&H25,即(25)16,等于十进制数37。VB中的颜色数据常
4、常用十六进制整数表示。,3.2 常量,下列属于Visual Basic的合法常量的是()(A)-&Haabb&(B)&O-577(C)&h-9AF(D)-&O973&,A,整型常数有如下三种形式:1)十进制,2.实数1)单精度实型(Single):有效数为7位2)双精度实型(Double):有效数为15位常量的表示:1)十进制小数形式。它是由正负号(+,-)、数字(09)和小数点(.)或类型符号(!、#)组成,即n.n,n!或n#,其中n是09的数字。例如0.123、.123、123.0、123!、123#等2)指数形式。nEm 或 n.nEm,nDm 或 n.nDm 例:1.25E+3 和
5、1.25D+3相当于1250.0 或者1.25103。,3.2 常量,下列不属于Visual Basic的合法常量的是()(A)1234&(B)98!(C)34(D)11.12%,D,下列属于Visual Basic的合法常量的是()(A)10E-2(B)E-2(C)10e(D)10*E-2,A,2.实数3.2 常量 下列不属于Visual Basic的,3.字符串常量在VB中字符串常量是用双引号“”括起的一串字符,可以是所有西文字符和汉字、标点符号等;例如ABC,abcdefg,123,0,VB程序设计等。说明:(1)表示空字符串,而 表示有一个空格的字符串;(2)若字符串中有双引号,例如A
6、BDXYZ,则用连续两个双引号表示,即:ABDXYZ4.逻辑(Boolean)数据类型 只有两个值True,或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True,0为False。,3.2 常量,3.字符串常量3.2 常量,5.日期常量 日期(Date)型数据按8字节的浮点数来存储,表示日期范围从公元100年1月1日9999年12月31日,而时间范围从0:00:0023:59:59。一种在字面上可被认作日期和时间的字符,只要用号码符“#”括起来,都可以作为日期型数值常量。例:#09/02/99#、#January 4,1989#,#200
7、2-5-4 14:30:00 PM#都是合法的日期型常量。,3.2 常量,5.日期常量3.2 常量,3.2.2 符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VB中使用关键字Const 声明符号常量。其格式如下:Const 常量名 As 类型=常数表达式 或:Const 类型符号=常数表达式例如:Const PI As Double=3.1415926535 等价于:Const PI#=3.1415926535,3.2 常量,3.2.2 符号常量3.2 常量,例如,要将文本框Text1的前景颜色设置为红色,
8、可以使用下面的语句:Text1.ForeColor=vbRed 这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。,3.2.3 系统常量 VB系统提供的应用程序和控件的系统定义常数。它们存放于系统的对象库中,在“对象浏览器”中的 Visual Basic(VB)和 Visual Basic for applications(VBA)对象库中列举了 Visual Basic 的常数,3.2 常量,例如,要将文本框Text1的前景颜色设置为红,3.3.1 变量的命名规则 1.以字母或汉字开头,后可跟字母、数字或下划线组成.2.变量名最长为255个字符;3.VB中不区分变量名的大
9、小写,不能使用VB的关键字;4.字符之间必须并排书写,不能出现上下标以下标识符是合法的变量名:a,x,x3,BOOK_1,sum5 以下标识符是非法的:3s 以数字开头 s*T 出现非法字符*-3x 以减号开头 bowy-1 出现非法字符-(减号)if 使用了VB的关键字,3.3 变 量,下列符号中能作为Visual Basic变量名的是()(A)姓名 Name1(B)123_Abc(C)Dept_Name(D)Stu.Class,C,3.3.1 变量的命名规则3.3 变 量 下列符号中能作,3.3.2 变量声明 1.用Dim语句显式声明变量 形式:Dim 变量名 AS 类型 Dim 变量名类
10、型符 例:Dim ab As integer,sum As single 等价于 Dim ab%,sum!,3.3 变量,设有语句Dim x,y As Single,z%则变量x,y和z的数据类型分别为:、,变体类型,单精度类型,整型,3.3.2 变量声明3.3 变量设有语句Dim x,例3.1 下面是一个很简单的程序,其使用的变量a,b,Total都没有事先定义。Private Sub Form_Click()Total=0 a=10:b=20 Total=a+b Print Total=;TotalEnd Sub,2.隐式声明 Visual Basic允许用户在编写应用程序时,不声明变量而
11、直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。Visual Basic根据程序中赋予变量的值来自动调整变量的类型。例如:,3.3 变量,例3.1 下面是一个很简单的程序,其使用的变量a,b,T,3强制显式声明Option Explicit语句,良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:Option Explicit,3.3 变量,3强制显式声明Option Explicit语句
12、,4变量的默认值,当执行变量的声明语句后,Visual Basic系统就给变量赋值一个默认值,在变量首次赋值之前,一直保持这个默认值。对于不同类型的变量,3.3 变量,设有语句Dim a As Double,b As Boolean,d As Date,s1 As String,s2 As String*3 则未给这些变量赋值前,它们的值分别是:、,0,False,0:00:00,4变量的默认值 当执行变量的声明语句后,V,3.4 运算符和表达式,3.4.1 算术运算符与算术表达式样 例:5+10 mod 10 9/3+2 2 结果:10,3.4 运算符和表达式3.4.1 算术运算符与算术表达
13、式,3.4 运算符和表达式,例:输入一个3位整数,分别输出其百位数字,十位数字,个位数字。(bct3-1),Private Sub Command1_Click()Dim x As Integer,one%,ten%,hundread%x=Val(Text1)one=x Mod 10 个位数 ten=(x 10)Mod 10 十位数 hundread=x 100 百位数 Print 百位数:&hundread&十位数:&ten&个位数:&oneEnd Sub,3.4 运算符和表达式例:输入一个3位整数,分别输出其百位数,3.4.2 字符串运算符与字符串表达式 字符串运算符有:、+。功能是字符串
14、连接例如:ABCD+EFGHI 结果为:ABCDEFGHI“VB”&“程序设计教程”结果为:VB程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:+(连接运算):两个操作数均应为字符串类型;&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。,3.4 运算符和表达式,3.4.2 字符串运算符与字符串表达式 3.4 运算符和表达,例:“100”+123 结果为 223“100”+“123”结果为 100123 Abc+123 出错100&123 结果为 100123 100&123 结果为 10012
15、3 Abc&123 结果为 Abc123 Abc“&123 结果为 Abc123,注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。,3.4 运算符和表达式,例:注意:使用运算符“&”时,变量与运算符,3.4.3 关系运算符与关系表达式,比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。VB中的关系运算符如下表所示。,3.4 运算符和表达式,3.4.3 关系运算符与关系表达式 比较两个运算量
16、之间的,关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。(2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。例:ABCDE ABRA 结果为 False,(3)数值型与可转换为数值型的数据比较,如:29189,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,如:77 sdcd,不能比较,系统出错。,3.4 运算符和表达式,常见的字符值的大小比较关系:“空格”“0”“9”“A”“Z”“a”“z”“所有汉字”,关系运算的规则如下:(3)数值型与可转换为数值型的数据比较,,3.4.4 逻辑运算符与逻辑表达式 逻辑运算符:N
17、ot,And,Or Xor Eqv Imp,3.4 运算符和表达式,3.4.4 逻辑运算符与逻辑表达式 3.4 运算符和表达,说 明:(1)Not,And,Or Xor Eqv Imp优先级从高到低,且都低于关系运算符(2)VB中常用的逻辑运算符是Not、And和Or。它们用于将多个关系表达式进行逻辑判断。例如:数学上表示某个数在某个区域时用表达式:10X=10 And X20 如果写成如下形式将是错误的:10=x20 或 10=x Or x20,3.4 运算符和表达式,说 明:3.4 运算符和表达式,例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科 写成条件VB的表达式:年龄=39
18、 性别=“女”学历=“专科”学历=“本科”,3.4 运算符和表达式,And,Or,And,(),例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科,3.4.5 日期型表达式日期型数据是一种特殊的数值型数据,只能有下面3种情况:1一个日期型数据可以相减:DateB-DateA结果是一个数值型整数(两个日期相差的天数)。例如:#05/08/2002#-#05/01/2002#其结果为数值:72一个日期型数据(DateA)与一数值数据(N)可作加法运算:DateA+N其结果仍是一个日期型数据。3一个日期型数据(DateA)与一数值数据(N)可作减法运算:DateA-N其结果仍是一个日期型数据
19、。例如:#05/08/2002#-7,3.4 运算符和表达式,3.4.5 日期型表达式3.4 运算符和表达式,3.4.6 运算符的执行顺序,表达式中出现了多种不同类型的运算符时,其运算符优先级如下:算术运算符=字符运算符关系运算符逻辑运算,说明:1当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符.2可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。,3.4 运算符和表达式,3.4.6 运算符的执行顺序 表达式中,3.表达式组成 变量、常量、函数、运算符和圆括号
20、 4.表达式书写规则(1)乘号不能省略。例x 乘以y 应写成:x*y(2)括号必须成对出现,均使用圆括号。(3)表达式从左到右在同一基准上书写,无高低、大小。例如:,3.4 运算符和表达式,3.表达式组成 3x+5 x2+1,5.不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠.Integer字符运算符关系运算符逻辑运算 例:设 a=1,b=3,c=3.5,求:1+b c And b 2=a b&5-a-c b)-4 Or True=a And True,True 34 False,3.4 运算符和表达式,5.不同数据类型的转换,Sqr(x*x-y*y)+Cos(3.14/180*3
21、0)/(2*3.14),(x2+5*x+26)/(x+6)3,例子:,3.4 运算符和表达式,Sqr(x*x-y*y)+Cos(3.14/180*30)/,条件“x 能被 m 整除、但不能被 n 整除”写作 VB 的表达式为。A、x Mod m=0&x Mod n0.B、xm*m=x And xn*nxC、(xm)*m=x And(xn)*nxD、x Mod m=0 And x Mod n!=0,3.4 运算符和表达式,例:,条件“x 能被 m 整除、但不能被 n 整除”写作,例:表示算术表达式:3x7 正确的VB表达式:3=x And x=7 错误的VB表达式:3=x=7 或 3=x Or
22、x=7,比a小,比b大 用 Or,a小数,b大数,a小数,b大数,比a大,比b小 用 And,3.4 运算符和表达式,例:表示算术表达式:3x7比a小,比b大 用 Orab,3.4.7 常用内部函数 VB提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。调用方法:函数名(参数列表)有参函数 函数名 无参函数说明:(1)使用内容函数要注意参数的个数及其参数的数据类型(2)要注意函数的定义域(自变量或参数的取值范围)例如:sqr(x)要求:x=0(3)要注意函数的值域。如:exp(23773)的值就超出实数在计算机中的表示 范围。,3.4 运算符和表达式,3.4.7 常用内部函数
23、3.4 运算符和表达式,1.数学函数 Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd(N)Sgn(N)(1)在三角函数中的自变量是以弧度为单位。如:sin30 sin(3.14159/180*30)(2)Rnd函数返回0 1之间的双精度随机数。若要产生1-100的随机整数:Int(Rnd*100)+1 提问:怎样产生N,M区间的随机整数?每次运行时,要产生不同序列的随机数,执行Randomize 语句。使用形式:Randomize number number 是随机数生成器的种子值,如果省略,系统将计时器返回的值作为新的种子值。,3.4 运算符和表达式,1.数学
24、函数3.4 运算符和表达式,2.转换函数(1)要区别两个取整函数int()和fix()Fix(N)为截断取整,即去掉小数后的数。Int(N)不大于N的最大整数。N0与int(N)相同,当N0时,int(N)与fix(N)-1相等。例如:Fix(9.59)=9,Fix(-9.59)=-9 Int(9.59)=9,Int(-9.59)=-10 思考:如何实现四舍五入取整?(2)Asc(“Abcd”)值为:65(只取首字母的Ascii值)(3)Val(“abc123”)值为:0,Val(“1.2sa10”)值为1.2(4)Chr(65)值为:“A”Chr(13)回车符(5)Str(65)值为:“65
25、”Str(-256.65000)值为-256.65,3.4 运算符和表达式,2.转换函数3.4 运算符和表达式,例:点击窗体,随机输出大写英文字母(bct3-2),Private Sub Form_Click()Dim ch As String Randomize 随机种子 Form1.CurrentX=Form1.ScaleWidth*Rnd 随机确定当前x坐标 Form1.CurrentY=Form1.ScaleHeight*Rnd 随机确定当前y坐标 ch=Chr(65+Int(26*Rnd)随机产生一个大写字母 Print chEnd Sub,3.4 运算符和表达式,例:点击窗体,随机
26、输出大写英文字母(bct3-2)Priva,3.日期、时间函数 常用的日期时间函数见附表 掌握:Time()Date()Now Year()Month()Day(),4.格式输出函数 使用格式:Format$(表达式,“格式字符串”)功能:按用户指定格式返回表达式,常常用在print方法中。使用形式:print Format$(表达式,“格式字符串”)表达式:可以是数值、日期型表达式。格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串是不同的。,3.4 运算符和表达式,3.日期、时间函数4.格式输出函数3.4 运算符和表达式,(1)数值型数据格式化 注意:对于符号:0与
27、#,当数值的实际位数比格式控制给定的位数多时,系统将按四舍五入返回给定的位数。如:Format(3.14159,“#.#”),其值为 3.142 Format(3.14159,“000.000”),其值为 003.142(2)日期和时间型数据格式化 缺省日期格式为:“mm/dd/yy”,缺省时间格式:“hh:mm:ss”,3.4 运算符和表达式,(1)数值型数据格式化3.4 运算符和表达式,例题分析,1 将下列数学式子写成Visual Basic表达式:(1)(2)(3)(4)2 根据下列各题的要求写出Visual Basic表达式(1)求a与b之和除以c的余数(2)求x绝对值的算术平方根(3
28、)求空间两点之的距离,(a+b)Mod cSqr(Abs(x)Sqr(x2-x1)2+(y2-y1)2),(3*x3+y)/(2*y2+1),Abs(x)*Tan(y)+Cos(x),Sin(x)*Sqr(x2-y2)+Cos(30*3.14/180),(Exp(x)+Exp(-1*x)/(Log(x)+5),例题分析1 将下列数学式子写成Visual Basic表达式,3 设a=2,b=3,c=4,d=5,求下列表达式的值(1)ab AND cc(2)32*b OR a=c AND bc OR ca+c4 把下列各条件写成Visual Basic关系或逻辑表达式(1)a和b都为正数或同为负数
29、(2)x大于5小于10(3)a+b大于等于c或a-c小于等于b(4)a和b中有且只有一个为0,FalseTrueFalse,a*b0 x5 and x=c or a-c0,例题分析,3 设a=2,b=3,c=4,d=5,求下列表,3.5.1 VB程序语句 一个程序是由一条条语句构成。每条语句都规定了系统应该执行的某些操作。语句的一般形式为:语句定义符 语句体语句定义符一般是英语单词,说明要干什么,如:Let、Print、End语句体是说明怎么干,也可省略,如:Print 123 x=567,3.5 语句,3.5.1 VB程序语句3.5 语句,3.5.2 书写规则1VB语句中不区分字母的大小写。2同一行上可以书写多条语句,但语句间要用冒号“:”分隔。例:x1=3:x2=4:x3=53若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,1个空格加下划线“_”。例:x1=x2+x3+_ x4+x54.一个语句的长度不得超过1023B。,3.5.2 书写规则,1.熟练地掌握变量的概念及其使用。2.严格区别常量和变量,尤其是符号常量和变量。3.熟练掌握算术运算符、关系运算符和布乐运算符的概念,记住它们的优先级,能够利用它们组成各种类型的表达式。4.熟练掌握VB程序语句的书写规则。,本章小结,1.熟练地掌握变量的概念及其使用。本章小结,
链接地址:https://www.31ppt.com/p-2108998.html