VB第三章 顺序结构_第1页
VB第三章 顺序结构_第2页
VB第三章 顺序结构_第3页
VB第三章 顺序结构_第4页
VB第三章 顺序结构_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、本章内容及要求:本章内容及要求:常量、变量与数据类型运算符、表达式与函数基本语句数据输入、输出与处理;本章重点:本章重点: 变量和常量的定义及使用变量和常量的定义及使用、运算符和表达运算符和表达 式的使用及常用内部函数的使用。式的使用及常用内部函数的使用。本章难点:本章难点: 数据类型、内部函数。数据类型、内部函数。3.1 基本数据类型基本数据类型在计算机高级语言中,每一个数据都属于一个特定的数据类型。不同类型数据的表示、存储及操作的方式是不相同的。Visual Basic不但提供了一系列的基本数据类型,包括字符串型、数值型、字节型、货币型、日期型、布尔字符串型、数值型、字节型、货币型、日期型

2、、布尔型、对象型和变体型型、对象型和变体型等,而且允许用户根据需要自定义数据类型。1.1.字符串型数据字符串型数据字符串是一个由ASCII字符组成的字符序列,在Visual Basic程序中需要用双引号把组成字符串的字符包括起来例:“南华大学” “Visual Basic”在Visual Basic中使用字符串数据应注意:(1)每个字符串都有长度,其大小由包含在字符串定界符中字符个数决定的,每个ASCII字符(包括空格字符)的长度为1(2)长度为0的字符串称为空字符串,其形式为不含任何字符。 串与 串不同,前者不包含任何字符,长度为0,后者包含一个空格字符,长度为1。(3)字符串按存储方式不同

3、可分为两种,即变长字符串和定长字符串。2.2.数值型数据数值型数据数值型数据分为整型数和浮点数(实数)两类。其中整型数又分为整数和长整数,浮点数分为单精度浮点数和双精度浮点数。在Visual Basic中,整型数不仅可以用十进制表示,还可以用十六进制和八进制表示,如:100(十进制方法,表示数量100),&H64&(十六进制方法,表示数量100)、&O144&(八进制方法,表示数量100)。3.3.货币型数据货币型数据 货币数据类型是为表示钱款而设置的,精确到十数点后4位(小数点前有15位),在小数点后4位以后的数字将被舍去。它与浮点数的区别是:浮点数中的小数点

4、是“浮动”的,即小数点可以出现在数的任何位置,而货币类型数据的小数点是固定的。 日期型数据是用来表示日期的,它由年月日及时间(可缺省)按照一定的排列组成,由一对#号作为定界符。如:#8/24/2001 1:20 PM# 表示2001年8月24日下午1时20分。4.4.日期型数据日期型数据布尔型数据类型只有两个数据True和False,分别表示逻辑真和逻辑假。 5.5.布尔型数据布尔型数据标准数据类型一览表标准数据类型一览表3.2.1 常常 量量 在程序运行过程中,其值在程序运行过程中,其值不能被改变不能被改变的量称为常量。在的量称为常量。在VB中有三类常量:中有三类常量: 普通常量普通常量 符

5、号常量符号常量 系统常量系统常量 一、普通常量一、普通常量 1 整型常量整型常量 (1)整型()整型(Integer):表示):表示-32768至至32767之间的整数之间的整数 例如:例如:10 110 20 (2)长整型()长整型(Long):): 表示表示-2,147,483,648至至2,147,483,647之间的整数之间的整数 例如:长整型常数的书写:例如:长整型常数的书写: 23& 通常我们说的整型常量指的是十进制整数,但通常我们说的整型常量指的是十进制整数,但VB中可中可以使用八进制和十六进制形式的整型常数,因此整型常数以使用八进制和十六进制形式的整型常数,因此整型常数

6、有如下三种形式:有如下三种形式: 1)十进制整数。如)十进制整数。如125,0,-89。202)八进制整数。以)八进制整数。以&或或&O(字母(字母O)开头的整数是八)开头的整数是八进制整数,如进制整数,如&O25表示八进制整数表示八进制整数25,即,即(25)8 ,等于十,等于十进制数进制数21。 3)十六进制。以)十六进制。以&H开头的整数是十六进制整数,如开头的整数是十六进制整数,如&H25表示十六进制整数表示十六进制整数25,即,即(25)16 ,等于十进制数,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。中的颜色数据常常用十六进制整

7、数表示。 2、实型常量、实型常量1) 单精度实型(单精度实型(Single):有效数为):有效数为7位位 表示表示-3.37E+38至至3.37E+38之间的实数之间的实数 2)双精度实型()双精度实型(Double):有效数为):有效数为15位位实型常量的表示:实型常量的表示:1)十进制小数形式。它是由正负号()十进制小数形式。它是由正负号(+,-)、数字)、数字(09)和小数点()和小数点(.)或类型符号(!、)或类型符号(!、#)组成,即)组成,即n.n,n!或!或n#,其中,其中n是是09的数字。的数字。例如例如0.123、.123、123.0、123!、!、123#等都是十进制小等都

8、是十进制小数形式。数形式。2)指数形式。)指数形式。nEm 或或 n.nEm, nDm 或或 n.nDm 例:例:1.25E+3 和和 1.25D+3相当于相当于1250.0 或者或者1.25103。 3、字符串常量字符串常量在在VB中字符串常量是用双引号中字符串常量是用双引号“”括起的一串字符,例括起的一串字符,例如如ABC,abcdefg,123,0,VB程序设计程序设计等。等。说明:说明:(1)字符串中的字符可以是所有西文字符和汉字、标)字符串中的字符可以是所有西文字符和汉字、标点符号等;点符号等;(2)表示空字符串,而表示空字符串,而 表示有一个空格的字符串;表示有一个空格的字符串;(

9、3)若字符串中有双引号,例如)若字符串中有双引号,例如ABDXYZ,则用连续,则用连续两个双引号表示,即:两个双引号表示,即: ABDXYZ“4、逻辑(、逻辑(Boolean)数据类型)数据类型 只有两个值只有两个值True,或,或False。将逻辑数据转换成整型时:。将逻辑数据转换成整型时:True为为-1,False为为0;其它数据转换成逻辑数据时:;其它数据转换成逻辑数据时:非非0为为True, 0为为False。 5、日期常量、日期常量 日期(日期(Date)型数据按)型数据按8字节的浮点数来存储,表示日字节的浮点数来存储,表示日期范围从公元期范围从公元100年年1月月1日日9999年

10、年12月月31日,而时间范围从日,而时间范围从0:00:0023:59:59。 一种在字面上可被认作日期和时间的字符,只要用号码符一种在字面上可被认作日期和时间的字符,只要用号码符“ “#”括起来,都可以作为日期型数值常量。括起来,都可以作为日期型数值常量。 例:例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 PM#都是合法的日期型常量。都是合法的日期型常量。 二、符号常量二、符号常量 在程序中,某个常量多次被使用,则可以使用一个符在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进号来代替该常量,

11、这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。了程序的可读性和可维护性。 VB中使用关键字中使用关键字Const 声明符号常量。其格式如下:声明符号常量。其格式如下:Const 常量名常量名 As 类型类型|类型符号类型符号=常数表达式常数表达式例如:例如: Const PI#=3.1415926535 等价于:等价于: Const PI As Double=3.1415926535 三、系统常量三、系统常量 VB系统提供了应用程序和控件的系统定义常数。它们系统提供了应用程序和控件的系统定义常数。它们存放于系统的对象库中,在存放于系统的对象库中,在“对象浏览器对象浏览器”中的中

12、的 Visual Basic(VB) 和和 Visual Basic for applications(VBA)对象)对象库中列举了库中列举了 Visual Basic 的常数的常数 例如,要将文本框例如,要将文本框Text1的前景颜色设置为红色,可以的前景颜色设置为红色,可以使用下面的语句:使用下面的语句: Text1.ForeColor=vbRed 这里的这里的vbRed就是系统常量。这比直接使用就是系统常量。这比直接使用16进制数来进制数来设置要直观得多。设置要直观得多。 又如,窗口状态属性又如,窗口状态属性WindowsState可取可取0,1,2三个值,对应三个值,对应三种不同状态(

13、参见第二章表三种不同状态(参见第二章表2-2所示)。所示)。 在程序中使用语句在程序中使用语句 Myform.WindowsState=vbMaxmized,将窗口极大化,显然要比使用语句将窗口极大化,显然要比使用语句Myform.WindowsState=2 易于阅读和理解。易于阅读和理解。 一一. .变量和常量的命名规则变量和常量的命名规则 1. 1. 以字母或汉字开头以字母或汉字开头,后可跟字母、数字或下划线组成,后可跟字母、数字或下划线组成,长度小于等于长度小于等于4040个字符;个字符; 2. 2. 不能使用不能使用VBVB中的关键字;中的关键字; 3. VB3. VB中中不区分不区

14、分变量名的大小写变量名的大小写. . 4. 4. 为了增加程序的可读性,可在变量名前加一个缩写的前为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。缀来表明该变量的数据类型。 例如:例如:strAbc, strAbc, (字符串变量)字符串变量) iCount, iCount, (整型(整型变量)变量) dblx, dblx, (双精度变量)(双精度变量) sYz sYz (单精度变量)(单精度变量)3.2.2 变变 量量 1 1以下变量名中合法的是以下变量名中合法的是( () )。 A Acase Bcase Bname10name10 C Ct-name Dt-na

15、me Dx x* *y y2 2以下变量名中合法的是以下变量名中合法的是( () )。 A Ax2-1 Bx2-1 Bprint print C Cstr_n Dstr_n D2x2x二二. .变量声明变量声明 1.1.用用DimDim语句显式声明变量语句显式声明变量 形式:形式:Dim Dim 变量名变量名 AS AS 类型类型 Dim Dim 变量名变量名 类型符类型符 例例 Dim iCount As integer , sum As Dim iCount As integer , sum As singlesingle 等价于等价于 Dim iCount%, sum!Dim iCoun

16、t%, sum!2.2.隐式声明隐式声明 Visual BasicVisual Basic允许用户在编写应用程序时,不允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新变量分配存储空间声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是并使用,这就是隐式声明。所有隐式声明的变量都是VariantVariant数据类型。数据类型。Visual BasicVisual Basic根据程序中赋予变量的根据程序中赋予变量的值来自动调整变量的类型。值来自动调整变量的类型。 例如:例如: 下面是一个很简单的程序,其使用的变量下面是一个很简单的程序,其使用

17、的变量a, b, Suma, b, Sum都没有事先定都没有事先定义。义。Private Sub Form_Click()Sum = 0a = 10: b = 20Sum = a + bPrint Sum=; SumEnd Sub另外,可在变量名后加特定的后缀字符,通过后缀字符来隐式另外,可在变量名后加特定的后缀字符,通过后缀字符来隐式说明变量的类型。具体如下:说明变量的类型。具体如下:后缀字符为后缀字符为“$ $”时:隐含表示变量类型为字符串型。时:隐含表示变量类型为字符串型。后缀字符为后缀字符为“% %”时:隐含表示变量类型为整型。时:隐含表示变量类型为整型。后缀字符为后缀字符为“&

18、; &”时:隐含表示变量类型为长整型。时:隐含表示变量类型为长整型。后缀字符为后缀字符为“! !”时:隐含表示变量类型为单精度型。时:隐含表示变量类型为单精度型。后缀字符为后缀字符为“# #”时:隐含表示变量类型为双精度型。时:隐含表示变量类型为双精度型。3强制显式声明强制显式声明Option Explicit语句语句 良好的编程习惯都应该是良好的编程习惯都应该是“先声明变量,后使用变量先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准中可以强制显式

19、声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:模块和类模块的通用声明段中加入语句:Option Explicit1.1.下面可以正确定义下面可以正确定义2 2个整型变量和个整型变量和1 1个字符个字符串变量的语句是串变量的语句是( () )。 A ADim nDim n,m As Integerm As Integer,s As String s As String B BDim a%Dim a%,b$b$,c As Stringc As String C CDim a As IntegerDim a As Integer,b b,c As String c As String

20、 D DDim x%Dim x%,y As Integery As Integer,z As Stringz As String2.2.执行语句执行语句Dim XDim X,Y as IntegerY as Integer后,后,( () )。 A AX X和和Y Y均被定义为整型变量均被定义为整型变量 B BX X和和Y Y被定义为变体类型变量被定义为变体类型变量 C CX X为整型变量,为整型变量,Y Y为变体类型变量为变体类型变量 D DX X为变体类型变量,为变体类型变量,Y Y为整型变量为整型变量 3 3在程序中分别将变量在程序中分别将变量IntaInta、BlBl、StSt、D D

21、定义为整型、布尔型、字符串型定义为整型、布尔型、字符串型和日期型,下列赋值语句在执行时会出和日期型,下列赋值语句在执行时会出错的是错的是( () )。 A AInta=4.6 BInta=4.6 BBl=#True#Bl=#True# C CSt=123.5 DSt=123.5 DD=#10/05/01#D=#10/05/01#3.3.1 . 3.3.1 . 算术表达式算术表达式 1. 1. 算术运算符算术运算符(均是双目运算,(均是双目运算,iaia=3=3)例:例:5+10 mod 10 9 / 3 +2 2 5+10 mod 10 9 / 3 +2 2 结果是:结果是:10算术表达式由算

22、术运算符、数值型常量、数值型变量和函数组成。算术运算符是最常用的运算符算术运算算术运算类函数类函数输入参数输入参数x和函和函数返回值类型数返回值类型功能说明功能说明例子例子Sin(x)均为数值类型返回x的正弦值Sin(30*3.14/180)=0.499770102643102Cos(x)均为数值类型返回x的余弦值Cos(45*3.14/180)=0.7073882691672Tan(x)均为数值类型返回x的正切值Tan(30*3.14/180)=0.576996400392873Atn(x)均为数值类型返回x的反正切值Atn(0.5773502691896)=0.52359877559829

23、Abs(x)均为数值类型返回x的绝对值Abs(-51.3)=51.3Exp(x)均为数值类型返回以e为底,x为指数的幂。 Exp(1)=2.71828182845905Log(x)均为数值类型返回x的自然对数Log(1024)/log(10)=3.01029995663981Sgn(x)均为数值类型求出x的符号Sgn(-3.5)=-1 ;Sgn(3.5)= 1Sqr(x)均为数值类型返回x的平方根Sqr(5)=2.23606797749979Int(x)均为数值类型返回不超过x的最大整数Int(3.5)=3;Int(-3.5)=-4Fix(x)均为数值类型若x为正数,返回整数部分;若x为负,返

24、回数大于或等于x的第一个负整数。Fix (3.5)=3;Fix (-3.5)=-3Round(x)均为数值类型返回x经过四舍五入以后的结果。Round(3.5)=4;Round(-3.5)= -4Rnd(x)均为数值类型1.缺省参数时,随机返回一个0到1之间的小数(包含0不包含1);2.x0,产生下一个随机数;4.x=0,产生最近生成的随机数; 在使用Rnd之前,最好先使用Randomize语句初始化随机数生成器以避免使用相同种子产生相同随机数列。算术运算类函数算术运算类函数aacbb242baba例:将下列算术表达式转为例:将下列算术表达式转为VBVB表达式:表达式:下列表述中不能判断下列表

25、述中不能判断x x是否为偶数的是是否为偶数的是( () )。 A)x/2A)x/2Int(x/2) B)x Mod 2Int(x/2) B)x Mod 20 0 C)Fix(x/2) C)Fix(x/2)x/2 D)x2x/2 D)x20 0可以产生可以产生30,5030,50之间的整数的表达式之间的整数的表达式( )( )。 A)Int(RndA)Int(Rnd* *21+30) B)Int(Rnd21+30) B)Int(Rnd* *20+30)20+30) C)Int(Rnd C)Int(Rnd* *50-Rnd50-Rnd* *30)D)Int(Rnd30)D)Int(Rnd* *30

26、+50)30+50)3.3.2. 3.3.2. 字符串运算符与字符串表达式字符串运算符与字符串表达式 字符串运算符有:字符串运算符有: 、+ + 。 功能是字符串连接功能是字符串连接例如:例如: ABCD + EFGHI ABCD + EFGHI 结果为:结果为:ABCDEFGHIABCDEFGHI“ VB ” & “ VB ” & “程序设计教程程序设计教程” ” 结果为:结果为:VBVB程序设计教程序设计教程程说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:它们区别是: + +(连接运算)(

27、连接运算):两个操作数均应为字符串类型;:两个操作数均应为字符串类型; & &(连接运算)(连接运算):两个操作数既可为字符型也可为数值型,:两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。接操作。 例:例:100 + 123 100 + 123 结果为结果为 223223100 + 123 100 + 123 结果为结果为 100123100123 AbcAbc + 123 + 123 出错出错 100 & 123 100 & 123 结果为结果为 1001

28、23100123 100 & 123 100 & 123 结果为结果为 100123100123 AbcAbc & 123 & 123 结果为结果为 Abc123Abc123 AbcAbc & 123 & 123 结果为结果为 Abc123Abc123 注意:使用运算符注意:使用运算符“&”时,变量与运算符时,变量与运算符“&”之间应之间应加一个加一个空格空格。这是因为符号。这是因为符号“&”还是长整型的类型定义符,还是长整型的类型定义符,如果变量与符号如果变量与符号“&”接在一起,接在一起,VB系统先把它作为类型

29、定系统先把它作为类型定义符处理,因而就会出现语法错误。义符处理,因而就会出现语法错误。 见教材P34 表3.4字符串处理类函数字符串处理类函数功能说明例子Left( x, n )Left( x, n )返回字符串x最左边的n个字符Left(123456789,4)=1234Right(x, n)Right(x, n)返回字符串x最右边的n个字符Right(123456789,4)=6789Mid(x, n1,n2)Mid(x, n1,n2)返回字符串x中的n2个字符,返回的字符从x的第n1个字符开始Mid(123456789,6)=6789Mid(123456789,6,2)=67InStrI

30、nStr(n,x1,x2)(n,x1,x2)返回在x1中,x2最先出现的位置。如果加上参数n,则表示由x1的第n个字符开始找起。Instr(1234567891234,5)=5 Instr(1234567891234, 2341)=0Len(x)Len(x)返回x的长度Len(ABC一二)=5Len(12345)=5LTrimLTrim(x)(x)返回去除字符串x前面空格的字符串Ltrim( Visual Basic )=Visual Basic RTrimRTrim(x)(x)返回去除字符串x后面空格的字符串Rtrim( Visual Basic )= Visual BasicTrim(x)

31、Trim(x)返回去除字符串x前后空格的字符串Trim( Visual Basic )=Visual BasicSpace(x)Space(x)返回由指定数量x个空格组成的字符串Space(5)= String(String(n,sn,s) )返回由指定数量n个s串的首字符组成的字符串String(5, abcd)= aaaaaLcaseLcase( x)( x)返回转换成小写的字符串Lcase(Visual BASIC)=visual basicUcaseUcase(x)(x)返回转换成大写的字符串Ucase(Visual BASIC)=VISUAL BASIC字符串处理类函数字符串处理类函

32、数执行以下程序后输出的是执行以下程序后输出的是( () )。Private Sub Command1_Click()Private Sub Command1_Click()chch=AABCDEFGH=AABCDEFGHPrint Mid(Right(ch,6),Len(Left(ch,4),2)Print Mid(Right(ch,6),Len(Left(ch,4),2)End SubEnd Sub A)CDEFGH B)ABCD C)FG D)AB A)CDEFGH B)ABCD C)FG D)AB3.3.3 日期型表达式日期型表达式日期型数据是一种特殊的数值型数据,只能有下面日期型数据是

33、一种特殊的数值型数据,只能有下面3种情况:种情况:1一个日期型数据可以相减:一个日期型数据可以相减: DateB-DateA结果是一个数值型整数结果是一个数值型整数(两个日期相差的天数两个日期相差的天数)。例如:例如:#05/08/2002# - #05/01/2002# 其结果为数值:其结果为数值:72一个日期型数据(一个日期型数据(DateA)与一数值数据()与一数值数据(n)可作加法)可作加法运算:运算:DateA+n其结果仍是一个日期型数据。其结果仍是一个日期型数据。例如:例如:#05/01/2002# +7 其结果为日期型数据:其结果为日期型数据:#05/08/2002#3一个日期型

34、数据(一个日期型数据(DateA)与一数值数据()与一数值数据(n)可作减法)可作减法运算:运算: DateA-n其结果仍是一个日期型数据。其结果仍是一个日期型数据。例如:例如:#05/08/2002# - 7其结果为日期型数据:其结果为日期型数据:#05/01/2002#日期时间类日期时间类函数函数功能说明功能说明例子例子Now( )返回一个当前系统日期及时间的 值N o w ( ) = # 2 0 0 3 - 1 0 - 1 6 11:13:09#Time()返回一个当前系统时间Time()=#11:13:09#Date()返回当前系统日期Date()=#Day(D)返回一个范围在 1 到

35、 31 之间的值,表示月中的一天。D=#Day(D)=1Month(D)返回一个范围为 1 到 12的值,表示一年中的 12 个月。Month(D)=10Year(D)返回一个表示年的范围为 1 到 9999的值。Year(D)=2003Hour(D)返回一个范围为 0 到 23的 值,表示一天中的 24 小时。T=#2003/10/01 13:15:18#Hour(T)=13Minute(D)返回一个范围为 0 到 59的 值,表示一小时中的 60 分钟。Minute(T)=15Second(D)返回一个范围为 0 到 59的值,表示一分钟的 60 秒。Second(T)=18日期处理类函数

36、日期处理类函数3.3.4 3.3.4 关系运算符与关系表达式关系运算符与关系表达式 关系运算符都是双目运算,是用来比较两个运算量之间关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为果为True,若关系不成立,结果为,若关系不成立,结果为False。 VB中的关系运算符如下表所示。中的关系运算符如下表所示。 运算符运算符含义含义优先级优先级实例实例结果结果小于小于所有关系运算所有关系运算优先级相同。优先级相同。低于算术运算低于算术运算的加的加“+”,减,减“-”运算,高运算,高于逻辑非于逻

37、辑非“Not”运算。运算。15+1020False=小于或等于小于或等于10大于大于1020False=大于或等于大于或等于This= ThatTrue=等于等于This= ThatFalse不等于不等于This ThatTrueLike字符串匹配字符串匹配This Like *isTrueIs对象比较对象比较 关系运算的规则如下:关系运算的规则如下: (1 1)当两个操作式均为数值型,按数值大小比较。)当两个操作式均为数值型,按数值大小比较。 (2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右一一比较码值从左到右一一比较,直到出现不同的字符为止直到出现不同的字符为止.。

38、 例:例: ABCDE ABRA 结果为结果为 False (3)数值型与可转换为数值型的数据比较,)数值型与可转换为数值型的数据比较, 如:如:29189 ,按数值比较,结果为,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较, 如:如:77 sdcd ,不能比较,系统出错。,不能比较,系统出错。(5)“Like”运算符是运算符是VB6.0新增加的。新增加的。 其使用格式为:其使用格式为:str1 Like str2 3.3.5 3.3.5 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 Not Not 逻辑非为单目运算符(要求一

39、个操作数),其它为逻辑非为单目运算符(要求一个操作数),其它为双目运算符。双目运算符。 条件表达式条件表达式1 And 1 And 条件表达式条件表达式2 2 条件表达式均为条件表达式均为T T 结果为结果为T T 条件表达式条件表达式1 Or 1 Or 条件表达式条件表达式2 2 条件表达式有一个条件表达式有一个T T 结果结果为为T T说明:说明:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻辑非)最高,(逻辑非)最高,但它低于关系运算,但它低于关系运算,Imp(逻辑蕴含)最低。(逻辑蕴含)最低。(2)VB中常用的逻辑运算符是中常用的逻辑运算符是Not、And和和O

40、r。它们用于。它们用于将多个关系表达式进行逻辑判断。将多个关系表达式进行逻辑判断。例如,数学上表示某个数在某个区域时用表达式:例如,数学上表示某个数在某个区域时用表达式: 10X=10 And X=字符运算符字符运算符关系运算符关系运算符逻辑运算逻辑运算 说明:说明: 1当一个表达式中出现多种运算符时,首先进行算术运当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。序进行。 2可以用括号改

41、变优先顺序,强令表达式的某些部分可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。多重括号,总是由内到外。 . 表达式的书写中需注意的问题表达式的书写中需注意的问题 (1)运算符不能相邻。例)运算符不能相邻。例a+-b是错误的。是错误的。 (2)乘号不能省略。例)乘号不能省略。例x 乘以乘以y 应写成:应写成:x*y (3)括号必须成对出现,均使用圆括号。)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准并排书写,不能出现上下)表达式从左到右在同一基准并排书写,

42、不能出现上下标标 (5)要注意各种运算符的优先级别,为保持运算顺序,在)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号()写表达式时需要适当添加括号(),若用到库函数必须按若用到库函数必须按库函要求书写库函要求书写。 如:如: (b-sqr(b*b-4*a*c)/(2*a) (a+b)/(a-b) aacbb242baba3.4 基本语句基本语句3.4.1 3.4.1 赋值语句赋值语句赋值语句的一般格式为赋值语句的一般格式为 = 例:x = 5 常量赋值y = 2 * x + 2 + 3 算术运算表达式赋值strName =张三 字符串表达式赋值i = i + 1 变

43、量自加赋值注意:(1)一个赋值语句只能给一个变量赋值。a=b=c=4 【错误】(2)赋值是一个复制过程。例如,a=2 b=a 赋值后a、b结果均为2(3)赋值语句左边变量与右边表达式的数据类型必须是一致的或相容的。例如,假设a是一个单精度的变量,则下面的用法是错误的。a“123abc” 赋值类型与定义类型不匹配(4)赋值符号“”虽然与等号“”在形式上是一样的,但是它们的语义是完全不同的。例如 i=i+1 作等于运算结果为逻辑假,但是作为一条赋值语句则是完全正确可行的。它的含意是把变量i的值加1再赋给i。如果原来i的值为1,则执行该语句后变量i的值就变成了2。函数名函数名功能说明功能说明例子例子

44、Asc(s)Asc(s)返回字符串s的首字符的ASCII码值Asc(Apple)=65Chr(n)Chr(n)返回一个ASCII码为n的字符Chr(65)= ACDblCDbl(n)把n转换成双精度数CDbl(234.456784*8.2*0.01)=19.225456288CIntCInt(n)把n的小数部分四舍五入,转换成整数CInt(2345.5678)=2346CLngCLng(n)把x的小数部分四舍五入转换成长整数CLng(25427.45)=25427CSngCSng(n)把x的值舍入为单精度数CSng(75.3421115)=75.34211Str(n)Str(n)返回n的字符串

45、形式Str(100)= 100注意:Len(str(100)=4(有符号位)Val(s)Val(s)返回s中所含的数值。若遇到字母(指数符号除外)则停止转换Val(35)=1.2Val(1.2E123)=1.2E+123附:数据转换类函数3.4.2 3.4.2 注释语句注释语句Visual Basic有两个注释语句,其语法格式为:RemRem 或或 3.4.3 3.4.3 暂停语句暂停语句 Visual Basic语言使用Stop语句来暂停语句的执行,以帮助程序员调试程序。当遇到Stop语句时,程序会暂停继续执行后面的语句,进入调试状态。3.4.4 3.4.4 程序结束语句程序结束语句 调试状

46、态下可点击结束按钮终止程序执行。如果希望程序能自动结束,需要使用程序结束语句。Visual Basic的程序结束语句是End。3.4.5 3.4.5 数据输入输出语句数据输入输出语句1. 1. 数据输入函数(数据输入函数(InputBoxInputBox)InputBox在一个对话框中显示提示,等待用户输入文字或单击按钮,然后返回包含文本框内容的字符串,其标准格式如下:InputBox(Prompt,Title,DefaultResponse,Xpos,Ypos,HelpFile,Context) 该函数返回值的类型是字符串,有7个参数,除第一个参数第一个参数外,其余参数都是可选的。各参数的含

47、义如下: (1)PromptPrompt,必需的参数必需的参数,作为输入框中提示信息出现的字符串。如果Prompt包含多个行,则可在各行之间用回车符(Chr(13)、换行符(Chr(10) 来分隔。(2)TitleTitle,可选的参数,作为输入框标题栏中的字符串。若省略该参数,则在标题栏中显示应用程序名称。(3)DefaultDefault,可选的参数,作为输入框中默认的字符串,在没有其它输入时作为缺省值。若省略该参数,则文本框为空。函数InputBox(“请输入数据”,“数据输入测试”,0)2 2消息对话框(消息对话框(MsgBoxMsgBox)函数格式如下:MsgBox(PromptMs

48、gBox(Prompt, , , ,HelpFile,ContextHelpFile,Context)该函数有5个参数,除第一个参数是必选第一个参数是必选,其余参数都是可选的。各参数的含义如下:(1)Prompt:是一个字符串,其长度不能超过1024个符,如果超过,则多余的字符被截掉。该字符串的内容将在由MsgBox函数产生的对话框内显示。当字符串在一行内显示不完时将自动换行,当然也可以用“Chr$(13)+Chr$(10)”强制换行。(2)VbMsgBoxStyle:对话框类型,对话框类型的设置包括三个方面:按钮类型设置、图标类型设置和标识默认按钮,它们对应着同一个参数,可用系统提供的枚举类

49、型符号常量以“+”连接来表示.intMsg=MsgBox(你输入的学号正确吗?,vbYesNoCancel+vbExclamation ,“输入确认”)3. Print3. Print方法输出方法输出Print方法可以用于在窗体、打印机、图片框等对象上实现输出,格式为: 对象名称对象名称.Print.Print 表达式表达式,| |;表达式表达式 Print 好的开始是成功的一半! 在窗体中输出Printer.Print 打印机测试 在打印机上输出Picture1.Print 我的照片 在图片框中输出Dim a As Integera=123Print a 输出a的值6,并换行Print 输出

50、空行,并换行Print 张三 输出张三,并换行Print 1; 2; 3,Print 1; 2; 3Print 1, 2, 3;Print Over! 3.5 3.5 控件控件3.5.1 3.5.1 文本框控件文本框控件1.文本框控件的常用属性属性属性说明说明ScrollBars返回/设置一个值,指出对象是否有垂直或水平滚动条。PasswordCharPasswordChar返回/设置一个值,决定是否在控件中显示用户键入字符或保留区字符。TextText返回/设置控件中包含的文本。maxlengthmaxlength返回/设置控件中可以输入的字符的最大数。Multiline返回/设置一个值,决

51、定一个控件是否可以接受多行文本。Selstart选中文本的起始位置,返回的是选中文本的第一个字符的位置。Seltext返回或设置当前所选文本的字符串,如果没有选中的字符,那么返回值为空字符串即。Sellength选中文本的长度,返回的是选中文本的字符串个数。2 2.文本框控件的常用事件文本框的常用事件有Change、KeyPress和LostFocus3种。 3. 文本框控件的常用方法SetFocus是文本框中常用的方法。格式:对象.SetFocus功能:该方法可以把光标移到指定的文本框中,当在窗体上建立了多个文本框后,可以用该方法把光标置于所需要的文本框中。 例例 1 焦点切换(见教材例3.

52、2)例例 2 文件框属性设置(见教材例3.3)3.5.2 3.5.2 标签控件标签控件标签(Label)是最简单的输出控件。属性属性说明说明BackColorBackColor返回/设置对象中文本和图形的背景色。BackStyle指出Label或Shape的背景样式是透明的还是不透明的。BorderStyle 返回/设置对象的边框样式。CaptionCaption返回/设置对象的标题栏中或图标下面的文本。ForeColor返回/设置对象中文本和图形的前景色。Autosize决定控件是否能自动调整大小以显示所有的内容。Height返回/设置对象的高度。Left返回/设置对象的内部左边缘与容器其左

53、边缘之间的距离。Top返回/设置对象的内部左边缘与容器其顶端之间的距离。Width返回/设置对象的宽度。Enabled返回/设置一个值,决定一个对象是否响应用户生成事件。TabIndex返回/设置父窗体对象响应tab键的顺序。VisibleVisible返回/设置一个值,决定对象是否可见。Alignment返回/设置复选框或选项按钮、或一个控件的文本的对齐。FontFont返回/设置一个Font对象。WordWrap返回/设置一个值,决定控件是否扩大以显示标题文字。标签控件的标签控件的主要主要属性属性.3滚动条控件滚动条控件滚动条分为两种,即水平滚动条和垂直滚动条属性属性说明说

54、明ValueValue滚动框在滚动条中的位置,在Max与Min之间。MaxMax滚动条所能表示的最大值,位于滚动条的最右侧或最低端的值,在-3276832767之间。MinMin滚动条所能表示的最小值,位于滚动条的最左侧或最高端的值,在-3276832767之间。SmallChangeSmallChange用鼠标单击滚动框箭头时,滚动滑快每次移动的大小(Value属性改变的值)。LargeChangeLargeChange用鼠标单击滚动框区域时,滚动滑快每次移动的大小(Value属性改变的值)。1 1。滚动条属性。滚动条属性2. 2. 滚动条事件滚动条事件滚动条的常用事件有Change、Scr

55、ollg两种。(1)Change事件单击滚动条或滚动条箭头以及释放滚动框时触发,用来得到滚动条的最终位置。(2)Scroll事件拖动滚动滑块时触发,用于跟踪滚动条的动态变化。 3.5.4 3.5.4 直线控件直线控件 直线控件用来在窗口控件中划出一条直线的控件,它采用坐标方式进行标识,即起点坐标(x1,y1)终点坐标(x2,y2),其坐标值即对应该直线控件的属性。例:滚动条与直线控件例题(见教材例3.5)3.5.5 3.5.5 形状控件形状控件1. 属性(1)BorderColor:设置形状的颜色。(2)BorderStyle:确定形状的边界线的线型。(3)BorderWidth:设定边界线的

56、宽度。、(4)BackStyle:决定形状是否被指定的颜色填充,当值为0时,表示边界内区域为透明,若值为1,则区域由BackColor属性所指定的颜色来填充。(5)FillColor:定义形状的内部颜色,与BorderColor设置相同。(6)FillStyle:设置形状内部的填充图案。(7)Shape:设置所画形状的几何特性,可设置如下几种值。值值常数常数形状形状0vbShapeRectangle矩形(默认)1vbShapeSquare正方形2vbShapeOval椭圆形3vbShapeCircle圆形4vbShapeRoundedRectangle圆角的矩形5vbShapeRoundedS

57、quare圆角的正方形形3.5.6 3.5.6 图形与图像控件图形与图像控件图片框对应默认名为Picture1;图像控件对应默认名为Image1。 图片框和图像框以基本相同的方式出现在窗体上,都可以装入多种格式的图形文件。 其主要区别是:图片框对象为一个容器容器,可以在内部再添加其它控件,可能通过Print方法接收文本,而图像框对象则不能。属性属性(1)Picture属性:用来把图形放入到对应控件对象中。Visual Basic支持位图(Bitmap)、图标(Icon)、图元文件(Metafile)、JPEG、GIF图形文件。可通过设置Picture属性装入图形文件,同时也可运行时采用Load

58、Picture函数装入图形文件,注意注意:采用LoadPicture函数装入图形文件时,即指明图形文件的具体路径。(2)Stretch属性:此属性仅用于图像框(Image)对象,用来自动调整图像框中图形内容的大小。图片框PictureBox和图像框ImageBox的区别在于:1-ImageBox使用系统资源少,重新绘图的数度较快2-PictureBox能使用print方法和绘图语句绘制图形,ImageBox则不能3-ImageBox只能用于显示图片,而PictureBox除了可以显示图形外,还可以作为其他控件的容器.4-ImageBox能够延伸图形的大小,以适应控件的大小,而PictureBo

59、x则不能,但PictureBox能自动调整控件大小以全图形显示出来 3.5.7 3.5.7 时钟控件时钟控件 时钟控件又叫计时器控件,时钟控件对象用于间隔一定时间的触发事件,运行时不可见。1. 属性(1)IntervalInterval:用于设置时钟控件事件之间的时间间隔,单位为毫秒,取值在065767之间,如设置为0,则表示时钟控件对象无效。(2) Enable:用来设置时间控件对象是否有效,如有无效则表示每隔Interval毫秒毫秒的时间触发对应的timer事件 2.事件时间控件只支持Timer事件,当达到IntervalInterval属性规定的时间间隔时间间隔时,触发该事事件。例例1

60、设计一个数字计时器(见教材例3.6)例例2 汽车控件例题汽车控件例题(见教材例3.7)实 验实验教程P2P7要求:按实验教程要求命名文件名,并保存后压缩成一个文件,做为作业上交。任务2 2随机产生一个3位正整数,然后逆序输出,产生的随机数与逆序数同时显示。例如,产生375,输出573,如图2.2所示。要求:将文件保存在以学号为名建立的文件夹下,工程文件名为sjt212.vbp,窗体文件名为sjt212.frm。提示:利用“Mod”和“”将一个3位数分离出3个1位数,然后连接成一个逆序的3位数。任务3 3使用Mid、Left、Right函数。在Text1文本框中输入一字符串,在Label1、Label2和Label3中显示如图2.3所示的效果。要求:将文件保存在以学号为名建立的文件夹下,工程文件名为sjt213.vbp,窗体文件名为sjt21

温馨提示

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

评论

0/150

提交评论