《第2章数据类型常量变量及表达式优秀课件.ppt》由会员分享,可在线阅读,更多相关《第2章数据类型常量变量及表达式优秀课件.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章数据类型常量变量及表达式第1页,本讲稿共58页2.1 VB语言字符集及编码规则语言字符集及编码规则2.2 数据类型数据类型2.3 常量和变量常量和变量2.4 Print语句、赋值语句语句、赋值语句2.5 运算符和表达式运算符和表达式2.6 常用内部函数常用内部函数第2页,本讲稿共58页2.1 VB语言字符集及编码规则语言字符集及编码规则一、一、VB的字符集的字符集l字母:大写英文字母AZ;小写英文字母az。l数字:0一9;l 专用字符:共27个,二、编码规则与约定二、编码规则与约定(一)、编码规则(一)、编码规则1VB代码中不区分字母的大小写。2在同一行上可以书写多条语句,但语句间要用冒
2、号“:”分隔。3若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,1个空格加下划线“_”。第3页,本讲稿共58页4一行最多允许255个字符。5注释以Rem开头,也可以使用单引号“”,注释内容可直接出现在语句的后面。6在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。(二)、(二)、约定约定1为了提高程序的可读性,对于VB中的关键字其首字母大写,其余字母小写2.注释有利于程序的维护和调试Rem开始或单撇。例如:ThisisaVBREMThisisaVB在6.0中新增了“块注释/取消块注释”第4页,本讲稿共58页3通常不使用行号4对象名命名约定:每个对
3、象的名字由3个小写字母组成的前缀(指明对象的类型)和表示该对象作用的缩写字母组成。第5页,本讲稿共58页2.2 数据类型数据类型一一.标准数据类型标准数据类型第6页,本讲稿共58页二、自定义类型二、自定义类型在模块级别中使用,用于定义包含一个或多个元素的用在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。户自定义的数据类型。使用形式:使用形式:Type 自定义类型名自定义类型名元素名元素名(下标下标)As 类型名类型名元素名元素名(下标下标)As 类型名类型名.End Type说明说明第7页,本讲稿共58页Type Student Xh As String Xm As Str
4、ing Xb As String Nl As Integer Score As Single End Type例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。第8页,本讲稿共58页2.3 常量和变量2.3.1常常量量在程序运行过程中,其值不能被改变的量称为常量。在VB中有三类常量:普通常量符号常量系统常量。一、普通常量1整型常量整型常量(1)整型(Integer):表示-32768至32767之间的整数例如:1011020(2)长整型(Long):表示-2,147,483,64
5、8至2,147,483,647之间的整数例如:长整型常数的书写:23&第9页,本讲稿共58页通常我们说的整型常量指的是十进制整数,但VB中可以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式:1)十进制整数。如125,0,-89。202)八进制整数。以&或&O(字母O)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8,等于十进制数21。3)十六进制。以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。第10页,本讲稿共58页2、实数、实数1)单精度实型(Single):有效数为
6、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#等都是十进制小数形式。2)指数形式。nEm或n.nEm,nDm或n.nDm例:1.25E+3和1.25D+3相当于1250.0或者1.25103。第11页,本讲稿共58页3、字符串常量字符串常量在VB中字符串常量是用双引号“”括起的一串字符,例如ABC,abcdefg,123,0,
7、VB程序设计等。说明:(1)字符串中的字符可以是所有西文字符和汉字、标点符号等;(2)表示空字符串,而表示有一个空格的字符串;(3)若字符串中有双引号,例如ABDXYZ,则用连续两个双引号表示,即:ABDXYZ“4、逻辑(、逻辑(Boolean)数据类型)数据类型只有两个值True,或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True,0为False。第12页,本讲稿共58页5、日期常量、日期常量日期(Date)型数据按8字节的浮点数来存储,表示日期范围从公元100年1月1日9999年12月31日,而时间范围从0:00:0023:59:
8、59。一种在字面上可被认作日期和时间的字符,只要用号码符“#”括起来,都可以作为日期型数值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。说明:当以数值表示日期数据时,整数部分代表日期,而小数部分代表时间;例如1表示1899年12月31日。大于1的整数表示该日期以后的日期,0和小于0的整数表示该日期以前的日期。第13页,本讲稿共58页二、符号常量二、符号常量在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VB中使用关键字Const 声明符号常
9、量。其格式如下:Const 常量名常量名As 类型类型|类型符号类型符号=常数表达式常数表达式例如:Const PI#=3.1415926535 等价于:Const PI As Double=3.1415926535 三、系统常量三、系统常量VB系统提供了应用程序和控件的系统定义常数。它们存放于系统的对象库中,在“对象浏览器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)对象库中列举了VisualBasic的常数第14页,本讲稿共58页例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句:Text1.ForeColor=vbRe
10、d 这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。又如,窗口状态属性WindowsState可取0,1,2三个值,对应三种不同状态(参见第二章表2-2所示)。在程序中使用语句Myform.WindowsState=vbMaxmized,将窗口极大化,显然要比使用语句Myform.WindowsState=2 易于阅读和理解。第15页,本讲稿共58页一.变量的命名规则1.以字母或汉字开头以字母或汉字开头,后可跟字母、数字或下划线组成,后可跟字母、数字或下划线组成.2.不能使用不能使用VB中的关键字;中的关键字;3.VB中不区分变量名的大小写中不区分变量名的大小写.4.为了
11、增加程序的可读性,可在变量名前加一个缩写的前缀为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。来表明该变量的数据类型。例如:例如:strAbc,(字符串变量)(字符串变量)iCount,(整型变量)(整型变量)dblx,(双精度变量)(双精度变量)sYz(单精度变量)(单精度变量)2.3.2 变变量量第16页,本讲稿共58页二二.变量声明变量声明1.用Dim语句显式声明变量形式:Dim变量名AS类型Dim变量名类型符例 DimiCountAsinteger,sumAssingle等价于DimiCount%,sum!2.隐式声明VisualBasic允许用户在编写应用程
12、序时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。VisualBasic根据程序中赋予变量的值来自动调整变量的类型。例如:第17页,本讲稿共58页下下面面是是一一个个很很简简单单的的程程序序,其其使使用用的的变变量量a,a,b,b,SumSum都都没没有有事事先定义。先定义。Private Sub Form_Click()Sum=0a=10:b=20Sum=a+bPrint Sum=;SumEnd Sub3强制显式声明强制显式声明OptionExplicit语句语句良良好好的的编编程程习习惯惯都都应应该该是是“先先声声
13、明明变变量量,后后使使用用变变量量”,这样做可以提高程序的效率,同时也使程序易于调试。VisualBasic中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:OptionExplicit第18页,本讲稿共58页2.4Print语句、赋值语句语句、赋值语句 使用Print语句可以在窗体上输出表达式的值,并可在其他图形对象或打印机上输出信息。该语句格式为:.Print,|;.其 中,可 以 是 窗 体(Form)、图 片 框(PictureBox)或打印机(Printer)。具体说明如下:(1)输出项之间的分隔符“,”为分段格式,“;”为紧凑格式。(2)语句末尾为分隔符“
14、,”或“;”,则该语句最后的输出位置为下一条print语句输出的起始位置。(3)若省略输出项,则输出一空行。VisualBasic将一行分为若干段,每14列为1段,若两个输出项之间用逗号间隔,则第2个数据项的输出位置从下一段开始;若两个输出项之间用分号间隔,则第2个数据以“紧凑”格式输出。第19页,本讲稿共58页例例Print语句的输出格式及应用。语句的输出格式及应用。PrivateSubForm_Click()Print123,888,-456,3.14Print123;888;-456;3.14Print123;888;abc,True;Print123,888;-456;3.14Prin
15、tPrint123,888,-456,3.14EndSub运行该程序时,在窗体上的输出结果如图所示。图 输出结果第20页,本讲稿共58页 从例输出结果可知:q(1)无论是分段格式还是紧凑格式,数值数据输出后都会尾随一个空格,输出正数时正号不显示、输出一个空格。这就是为什么上图中第二行中的123和888之间有2个空格、而888与-456之间只有1个空格的原因。q(2)字符串数据原样显示引号内的内容,逻辑类型数据直接输出True或False。第21页,本讲稿共58页2赋值语句格式:=或.=功能:计算表达式值并转换为相同类型数据后为变量或控件属性赋值。说明:q(1)为数值变量赋值时,表达式的值不得超
16、过数值变量的数值范围,否则显示错误信息。q(2)值为浮点类型的表达式四舍五入后向整型变量赋值。q(3)任何类型表达式都可以向字符串变量赋值。q(4)赋值号不是数学中的等号。第22页,本讲稿共58页例例编写一个实现两个变量值交换的程序。编写一个实现两个变量值交换的程序。我们可以把两个变量A、B设想成分别装有牛奶和咖啡的两只杯子,现在要把牛奶倒到咖啡杯里,而将咖啡倒到牛奶杯里。可以这样来做:另取一只杯子(同类型变量)C,将A中的牛奶倒入杯子C,再将B中的咖啡倒入杯子A,最后将杯子C中的牛奶倒入杯子B。程序如下:PrivateSubForm_Click()DimaasInteger,basInteg
17、er,casIntegera=5:b=8Printa,b显示交换前的值c=a:a=b:b=c交换Printa,b显示交换后的值EndSub显然,将交换的过程写作“a=b:b=a”是错误的。第23页,本讲稿共58页2.5运算符和表达式运算符和表达式一一.运运算符算符1.算术运算符算术运算符例:例:5+10mod109/3+22结果是:结果是:10(ia=3)第24页,本讲稿共58页2.字符串运算符与字符串表达式字符串运算符有:、+。功能是字符串连接例如:ABCD+EFGHI结果为:ABCDEFGHI“VB”&“程序设计教程”结果为:VB程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个
18、连接符等价。它们区别是:+(连接运算):两个操作数均应为字符串类型;&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。第25页,本讲稿共58页例:例:100 +123 100 +123 结果为结果为 223223100 +123 100 +123 结果为结果为 100123100123 Abc+123 Abc+123 出错出错 100&123 100&123 结果为结果为 100123100123 100&123 100&123 结果为结果为 100123100123 Abc&123 Abc&123 结果为结果为 Abc123Ab
19、c123 Abc&123 Abc&123 结果为结果为 Abc123Abc123注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。第26页,本讲稿共58页2.5.3关系运算符与关系表达式关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。VB中的关系运算符如下表所示。运算符含义优先级实例结果小于所有关系运算优先级相同。低于算术运算的加“+”,减“-”运算,高于逻辑
20、非“Not”运算。15+1020False=小于或等于10大于1020False=大于或等于This=ThatTrue=等于This=ThatFalse不等于This ThatTrueLike字符串匹配This Like*isTrueIs对象比较第27页,本讲稿共58页关系运算的规则如下:关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。(2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。例:ABCDE ABRA 结果为False (3)数值型与可转换为数值型的数据比较,如:29189,按数值比较,结果为False。(4)数值型与不能转换成数值
21、型的字符型比较,如:77sdcd,不能比较,系统出错。(5)“Like”运算符是VB6.0新增加的。其使用格式为:str1Likestr2第28页,本讲稿共58页2.5.4逻辑运算符与逻辑表达式Not逻辑非为单目运算符(要求一个操作数),其它为双目逻辑非为单目运算符(要求一个操作数),其它为双目运算符。运算符。条件表达式条件表达式1And条件表达式条件表达式2条件表达式均为条件表达式均为T结果为结果为T条件表达式条件表达式1Or条件表达式条件表达式2条件表达式有一个条件表达式有一个T结果为结果为T第29页,本讲稿共58页说明:说明:(1)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于
22、关系运算,Imp(逻辑蕴含)最低。(2)VB中常用的逻辑运算符是Not、And和Or。它们用于将多个关系表达式进行逻辑判断。例如,数学上表示某个数在某个区域时用表达式:10X=10AndX20(3)参与逻辑运算的量一般都应是逻辑型数据,如果参与逻辑运算的两操作数是数值量,则以数值的二进制值逐位进行逻辑运算(0当False,1当True)。关系表达式与逻辑表达式常常用在条件语句与循环语句中,作为条件控制程序的流程走向。第30页,本讲稿共58页例例由下列条件写出相应的由下列条件写出相应的VisualBasic逻辑表达式。逻辑表达式。条件“-3x3”写作逻辑表达式为:-3xandx3判断变量a、b均
23、不为0的逻辑表达式为:a*b0或a0andb0判断变量a、b中必有且仅有1个为0的逻辑表达式为:a=0andb0ora0andb=0或a*b=0anda+b0判断整型变量k是正的奇数的逻辑表达式为:k0andkmod2=1判断变量a、b、c是否为等比数列中顺序的3项,逻辑表达式为:a/b=b/c平面3点坐标为(x1,y1)、(x2,y2)、(x3,y3),且x1x2x3,判断它们是否共线的逻辑表达式为:(y3-y2)/(x3-x2)=(y2-y1)/(x2-x1)第31页,本讲稿共58页4.4.5 日期型表达式日期型表达式日期型数据是一种特殊的数值型数据,只能有下面3种情况:1一个日期型数据可
24、以相减: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#第32页,本讲稿共58页2.5.6 运算符的执行顺序表达式中出现了多种不同
25、类型的运算符时,其运算符优先表达式中出现了多种不同类型的运算符时,其运算符优先级如下:级如下:算术运算符算术运算符=字符运算符字符运算符关系运算符关系运算符逻辑运算逻辑运算说明:说明:1当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。2可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。第33页,本讲稿共58页.表达式的书写中需注意的问题表达式的书写中需注意的问题(1)运算符不能相邻。例a+*b是错误的。(2)乘号不能省略
26、。例x乘以y应写成:x*y(3)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准并排书写,不能出现上下标(5)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。如:(b-sqr(b*b-4*a*c)/(2*a)(a+b)/(a-b)第34页,本讲稿共58页VB提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。调用方法:函数名(参数列表)有参函数函数名无参函数说明:(1)使用库函数要注意参数的个数及其参数的数据类型(2)要注意函数的定义域(自变量或参数的取值范围)例如:sqr(x)要求:x=0(3)要注意函
27、数的值域。如:exp(23773)的值就超出实数在计算机中的表示范围。2.6 常用内部函数常用内部函数第35页,本讲稿共58页1.数学函数常用的数学函数见表常用的数学函数见表2-8所示所示Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd(N)Sgn(N)说明:说明:(1)在三角函数中的自变量是以弧度为单位。在三角函数中的自变量是以弧度为单位。如:如:sin300sin(3.14159/180*30)第36页,本讲稿共58页下列函数的参数均为数值类型。(1)三角函数:Sin(x)、Cos(x)、Tan(x),反正切函数Atan(x)以上函数分别返回正弦值、余弦值、正
28、切值和反正切值。VisualBasic没有余切函数,求x弧度的余切值可以表示为1/Tan(x)。函数Sin、Cos、Tan的自变量必须是弧度,如数学式sin30,写作VisualBasic的表达式为Sin(30*3.1416/180)。其他反三角函数可以转换为等值的反正切函数,然后用VisualBasic的反正切函数计算,如函数Atan(x/sqr(1-x*x)可以求sin-1x(不可以写作Asin(x),因为VisualBasic没有预定义反正弦函数Asin)。第37页,本讲稿共58页(2)Abs(x):返回x的绝对值。(3)Exp(x):返回e的指定次幂,即ex。(4)Log(x):返回x
29、的自然对数。(5)Sgn(x):符号函数,当x0时,Sgn(x)的值为1;当x=0时,Sgn(x)的值为0;当x0与int(N)相同,当N0时,int(N)与fix(N)-1相等。例如:Fix(9.59)=9,Int(9.59)=9Fix(-9.59)=-9,Int(-9.59)=-10思考:如何实现四舍五入取整?(2)Asc(Abcd)值为:65(只取首字母的Ascii值)(3)Val(abc123)值为:0,Val(1.2sa10)值为1.2注意:Val()函数只将最前面的数字字符转换为数值。第41页,本讲稿共58页3.字符串操作函数常用的字符串函数见表常用的字符串函数见表2-10说明:说
30、明:如果返回是字符型,则函数后有如果返回是字符型,则函数后有“$”字符。当然一般也可以不写,字符。当然一般也可以不写,习惯都写上。习惯都写上。例如:len(Thisisabook!)15Left$(ABCDEFG,3)ABCMid$(ABCDEFG,2,3)BCDInStr(2,“ABCDEFGEF”,“EF”)5(第一次出现的位置)(第一次出现的位置)第42页,本讲稿共58页(1)Ltrim(x):返回删除字符串x前导空格符后的字符串。如Ltrim(abc)的计算结果为字符串abc。Rtrim(x):返回删除字符串x尾随空格符后的字符串。如Rtrim(abc )的计算结果为字符串abc。Tr
31、im(x):返回删除字符串x前导和尾随空格符后的字符串。如Trim(abc )的计算结果为字符串abc。(2)Left(x,n):返回字符串x前n个字符所组成的字符串。Right(x,n):返回字符串x后n个字符所组成的字符串。Mid(x,m,n):返回字符串x从第m个字符起的n个字符所组成的字符串。若字符串s已赋值abcdefg,则函数Left(s,2)返回ab,函数Right(s,2)返回fg,函数Mid(s,9,3)返回空字符串、Mid(s,2,3)返回bcd。第43页,本讲稿共58页(3)Len(x):返回字符串x的长度,如果x不是字符串,则返回x所占存储空间的字节数。如函数Len(a
32、bcdefg)的返回值为7,而函数Len(k%)的返回值为2,因为Visual Basic用2个字节存储Integer类型的数据。(4)Lcase(x)和Ucase(x):分别返回以小写字母、大写字母组成的字符串。如Lcase(abCDe)返回abcde,Ucase(abCDe)返回ABCDE。(5)Space(n):返回由n个空格字符组成的字符串。如执行语句a=abc+Space(5)+def 后,字符串变量a中的字符串为abc def,其中包括5个空格字符。(6)Instr(x,y):字符串查找函数,返回字符串y在字符串x中首次出现的位置。如果y不是x的子串,即y没有出现在x中,则返回值为
33、0。如字符串a已赋值abcd efg cd_xy,则函数Instr(a,cd)的计算结果为3,因为a中包含了cd、第一次出现的位置是在a中的第3个字符;而函数Instr(a,yx)的返回值为0,因为字符串a中不存在子串yx。第44页,本讲稿共58页4.日期、时间函数日期、时间函数常用的日期时间函数常用的日期时间函数(1)Date:返回系统当前日期,如语句“PrintDate”可在窗体上输出当前日期。(2)Time:返回系统当前时间,如语句“PrintTime()”可在窗体上输出当前时间。(3)Now:返回系统当前日期、时间,如语句“PrintNow”可在窗体上输出当前日期、时间。(4)Minu
34、te(Now)、Minute(Time):返回系统当前时间“hh:mm:ss”中的mm(分)值。(5)Second(Now)、Second(Time):返回系统当前时间“hh:mm:ss”中的ss(秒)值。掌握:掌握:Time()Date()NowYear()Month()Day()第45页,本讲稿共58页5.格式输出函数格式输出函数使用格式Format$(表达式,“格式字符串”)功能:按用户指定格式返回表达式,功能:按用户指定格式返回表达式,常常用在常常用在print方法方法中。中。使用形式:使用形式:printFormat$(表达式(表达式,“格式字符串格式字符串”)表达式:可以是数值、日
35、期或字符串型表达式。表达式:可以是数值、日期或字符串型表达式。格式字符串:表示输出表达式时采用的输出格式。不同格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串是不同的。数据类型所采用的格式字符串是不同的。第46页,本讲稿共58页(1)数值型数据格式化(见表2-12)注意:对于符号:0与#,当数值的实际位数比格式控制给定的位数多时,系统将按四舍五入返回给定的位数。如:Format(3.14159,“#.#”),其值为3.142(2)日期和时间型数据格式化(见表2-13)缺省日期格式为:“mm/dd/yy”,时间格式:“hh:mm:ss”(3)字符串类型数据格式化(见表2
36、-14)第47页,本讲稿共58页与与Print方法有关的函数方法有关的函数为使数据按指定的位置输出,VisualBasic提供了两个与Print配合使用的函数。(1)Tab(n):将输出项定位到从第n列开始显示输出,Tab函数与输出项之间用分号隔开。如执行语句PrintTab(10);123,Tab(30);abc,则在当前输出行的第10列起输出123,在第30列起输出3个字符abc。(2)Spc(n):输出n个空格。如执行语句“Printabc;Spc(3);def”后输出:abcdef第48页,本讲稿共58页2.4.6InputBox函数和MsgBox函数1InputBox函数函数Inpu
37、tBox函数也称为输入对话框,返回用户在对话框中输入的信息。格式:=InputBox(,其中:q(1)指定在对话框中出现的文本信息。q(2)指定对话框的标题信息。q(3)可以指定文本框中显示的默认信息。系统默认用该函数输入的数据为字符串类型,转换为与变量同一类型后赋值给变量。如执行语句“n=InputBox(”请输入数据:“,”数据输入“,10)”时(n为整型变量),VisualBasic显示“数据输入”对话框,如图2-2所示。第49页,本讲稿共58页2.4.6InputBox函数和MsgBox函数 若在输入栏中输入“123.45”,由于变量n为Integer类型,输入数据被四舍五入后赋值给n
38、,因此n为123;若在输入栏中输入“123.56”,则n为124;若在输入栏中输入“Lac”,则系统显示“类型不匹配”之出错信息。图2-2“数据输入”对话框第50页,本讲稿共58页2.4.6InputBox函数和MsgBox函数2MsgBox函数函数MsgBox函数也称为消息对话框,用户单击按钮后返回一个整数以标明单击了哪个按钮。格式:=MsgBox(,)其中:(1)指定在对话框中出现的文本信息。(2)指定对话框中出现的按钮和图标样式。(3)指定对话框的标题信息。一般要通过3个参数的不同取值来获得所需要的按钮、图标样式以及默认按钮,详细规则如表2-5、表2-6和表2-7所示。第51页,本讲稿共
39、58页2.4.6InputBox函数和MsgBox函数表2-5按钮样式值值Visual Basic常量常量按钮样式按钮样式0vbOKOnly“确定确定”按钮按钮1vbOKCancle“确定确定”和和“取消取消”按钮按钮2vbAbortRetryIgnore“终止终止”、“重试重试”和和“忽略忽略”按钮按钮3vbYesNoCancle“是是”、“否否”和和“取消取消”按钮按钮4vbYesNo“是是”和和“否否”按钮按钮5vbRetryCancle“重试重试”和和“取消取消”按钮按钮值值Visual Basic常量常量图标样式图标样式16VbCritical停止图标停止图标32VbQuestion
40、问号(?)图标问号(?)图标48vbExclamation感叹号(!)图标感叹号(!)图标64vbInformation消息图标消息图标表2-6 图标样式第52页,本讲稿共58页2.4.6InputBox函数和MsgBox函数表2-7默认按钮值值Visual Basic常量常量说说明明0vbDefaultButton1第一按钮为默认按钮第一按钮为默认按钮256vbDefaultButton2第二按钮为默认按钮第二按钮为默认按钮512vbDefaultButton3第三按钮为默认按钮第三按钮为默认按钮如,执行语句“n=MsgBox(请确认输入的数据是否正确!,3+32+0,数据检查)”后,则弹出
41、如图2-3所示的对话框。参数“3+32+0”中:按钮样式为3,在对话框中显示“是”、“否”和“取消”按钮;图标样式为32、显示问号;默认按钮为0,将第1按钮“是(Y)”作为默认按钮。图 消息对话框第53页,本讲稿共58页2.4.6InputBox函数和MsgBox函数 命令中的参数“3+32+0”就是“35”,VisualBasic会自动分解为合适的参数组合,如此写法只是为了阅读程序方便,直观地看出按钮样式、图标样式以及缺省按钮。q (4)函数MsgBox对用户在消息对话框中所单击的不同按钮,将返回产生1个不同的数值,其对应关系如表2-8所示。表2-8 单击消息对话框中不同按钮导致的不同返回值
42、返回值返回值按按钮钮返回值返回值按按钮钮1“确定确定”按钮按钮5“忽略忽略”按钮按钮2“取消取消”按钮按钮6“是是”按钮按钮3“终止终止”按钮按钮7“否否”按钮按钮4“重试重试”按钮按钮第54页,本讲稿共58页2.4.6InputBox函数和MsgBox函数应根据函数MsgBox的不同返回值编程,实现编程者的设计意图。如下列程序段中的MsgBox函数,显示的对话框有“确定”、“取消”两个按钮(由按钮样式1决定),图标样式为问号(由图标样式32决定),默认按钮为第一按钮“确定”(由默认按钮0决定)。n=MsgBox(是否终止运行!,1+32,)Ifn=1ThenEnd如果用户要求终止运行,按了“
43、确定”按钮,则函数返回值为1(见表2-8)。此后,判断n值是否为1来决定是否终止程序运行。第55页,本讲稿共58页小结 本章首先介绍了本章首先介绍了Visual BasicVisual Basic的基本数据类型、不同类的基本数据类型、不同类型常量的书写方式及不同类型变量的声明语句,目的是为了型常量的书写方式及不同类型变量的声明语句,目的是为了在程序设计时,根据所要解决问题的实际需要,选择合适的在程序设计时,根据所要解决问题的实际需要,选择合适的数据类型、书写常量和定义变量。然后介绍了数据类型、书写常量和定义变量。然后介绍了Visual BasicVisual Basic的的算术、关系、逻辑运算
44、符和常用算术、关系、逻辑运算符和常用Visual BasicVisual Basic内部函数,读者内部函数,读者应熟记这些运算符及其优先级、内部函数的书写形式和用法,应熟记这些运算符及其优先级、内部函数的书写形式和用法,以便能正确书写以便能正确书写Visual BasicVisual Basic表达式。表达式。第56页,本讲稿共58页如何学习如何学习VisualBasic1语言规则要熟记语言规则要熟记 学习VisualBasic首先要做到熟记VisualBasic语言的规则。对于规则,只有记得住与记不住的问题,而没有懂不懂的问题。有此认识,才能避免进入许多初学者都易于陷入的误区,从而使我们的学
45、习获得事半功倍的效果。时常有学生为没有用心去记因此没有记住这些规则而苦恼,经常有学生用一句“一点都不懂”来表达此时的心情,是非常有害的,使得学习VisualBasic迟迟才得以入门,从而耽误了宝贵的学习时间。第57页,本讲稿共58页如何学习如何学习VisualBasic2编程实验对能力提高最重要编程实验对能力提高最重要 学习VisualBasic与学习下棋有很多相似,值得类比、借鉴。学下棋必须先学各棋子的移动规则,但记住了“马走日、象走田”并不意味着你就会下棋了,必须要勤于对奕并潜心钻研。学习VisualBasic必须先了解VisualBasic语言的基本规则,而更重要的是在实际应用中逐步提高编程能力。此外,每章练习中的程序阅读、填空题,对编程能力的提高也是很有帮助的,因为你能够顺利地阅读程序,就可以准确、及时地找出程序中的问题。所有这些练习,又可以加深我们对语言规则的记忆和理解。在学习的各个不同的阶段,编程练习可以采取下列不同方式:(1)开始以模仿为主。(2)理解熟记常用算法、方法、属性。(3)尝试设计自己的选题。(4)严格按照规定的格式书写程序。第58页,本讲稿共58页