1第三章VisualBasic6.0编程基础3.1变量与变量声明3.1.1变量的概念在程序设计中变量的用途非常广泛。变量是程序中数据临时存放场所,变量对应着内存单元。计算机程序在运行期间处理数据时,数据必须装入内存单元中,并且要相应的用一个名字来指示数据所存放的内存单元,这样才能通过对应的内存单元名找到并访问内存单元中的数据。在程序中命了名的内存单元,就是变量。ABST解释变量1008王晨在计算机中处理的数据都要存入内存单元。但在编写程序中并不需要直接了解和使用内存单元,而是使用变量来表示内存单元中的数据。张华20A、B和ST是变量名,分别对应一个存储单元在程序中的表示:A=100B=8ST=“王晨”在程序中的表示:A=9B=20ST=“张华”9一个内存单元中存储一个数据。其中的数据可以被新值取代,因此,变量的值也是可变的。想象为内存单元在编写程序过程中使用变量其实并不需要直接了解内存单元,只要用我们熟悉的赋值语句就可为变量赋值,格式是:变量名=数据A=9当使用变量时,通常要进行变量声明。声明变量语句:DimA!A=93.1.2变量声明1.Dim语句的书写格式在编写程序过程中,当使用变量时,首先要进行变量声明,变量声明语句:DimA!关键字变量名数据类型说明符Dim语句中包括:关键字(Dim和as)、变量名和数据类型说明符或数据类型关键字。另一种形式的变量声明语句:DimAasSingle关键字变量名关键字数据类型关键字关键字是标识语句的不能写错2.变量名1在VB中,命名一个变量或常量应遵循以下规则:23变量或常量的名字只能由字母、汉字、数字或下划线组成且一定要以字母或汉字开头。不超过255个字符。如A不能使用VB的关键字和对象的属性、事件、方法名作为变量名,如Dim,name、picture、print等都不能作为变量名。但name1则是合法的。不区分大小写。如变量名A与a被视为同一个变量。教学进程在程序设计中,变量可以表示不同数据类型的数据。但在声明变量时,需要声明变量的数据类型。逻辑:TRUEFALSE数值:9、20.34文本:张华计算机高级语言中使用数据的类型3.数据类型能进行算术运算的数在条件判断式中使用表3-1VB常用的数据类型数值数据文本逻辑取数范围越大表明能表示的数据越多,例如整型(不带小数)能表示的最大数是32767。若要表示大于32767的数就要采用另一种类型.(1)整型不带小数和指数部分的数。关键字:Integer类型说明符:%正确的整型数表示:38、-239、38%。声明整型变量语句和为变量赋值语句:Dimb%b=38(2)长整型数也是不带小数和指数部分的数,但长整型所能表示整数的范围比整型大。关键字:Long类型说明符:&正确的长整型数表示:42356&、239&(要表示长整型数,就一定要在具体数值后加“&”说明符)带%形式不常见(3)单精度型带小数和指数部分的数。关键字:Single类型说明符:!表示456.36可分别用三种形式表示:456.36或456.36!或0.45636E+3常用形式:456.36(4)双精度型双精度数是带小数和指数部分的数。双精度数的取值范围比单精度数的取值范围要大。关键字:Double类型说明符:#表示456.36的双精度数为:456.36#、0.45636D+3相当于0.45636103相当于0.45636103采用类型说明符形式的变量类型声明语句:DimTatal%声明Tatal为整型变量DimNum!声明Num为单精度变量DimC#,D%声明C为双精度变量,D为整型变量采用类型关键字形式的变量类型声明语句:DimTatalasInteger声明Tatal为整型变量DimNumasSingle声明Num为单精度变量DimCasDouble,DasInteger声明C为双精度变量,D为整型变量两种形式的变量声明语句的作用相同,在编写事件过程中自主选用。根据变量和数据类型的内容就可写出变量声明语句。3.1.3应用案例设计一个简易加法计算器。用户界面如图所示。编写程序实现以下功能:运行程序后,在左起的两个文本中输入数值后,单击“+”按钮后,将计算结果显示在右边的文本框中。“图片浏览器”的设计主要运用了VB的文本、图片的显示功能,而此例主要运用VB的算术运算功能。Text1Text2Text3命令按钮标签编写Command1命令按钮的单击事件过程:PrivateSubCommand1_Click()Text3.Text=text1.Text+text2.TextEndSub但结果不正确。原因是文本框中显示内容,也就是Text1和Text2的Text属性值是字符数据,而VB规定两个字符数据进行“+”运算时,是将两个数“合并”,而不是进行加法运算。此例为:23+27=2327外界键盘输入自动显示结果Dima!,b!PrivateSubCommand1_Click()a=Text1.Textb=Text2.TextText3.Text=a+bEndSub将在两个文本框中输入的数据分别赋给变量a和b,这样字符数据就会自动转为能够进行算术运算的单精度数据(带小数)。在文本框Text3中显示变量a和b的值相加后的计算结果。声明两个单精度变量a和b改进事件过程代码:引入两个变量a和b。从中我们可体会到引入变量的必要性。Dim语句要写在代码窗口的“(通用)”处:在对象框中选中“(通用)”,在代码区的光标处直接输入Dim语句。4.在代码窗口中Dim语句的书写位置解释:在代码窗口的“(通用)”处声明的变量是窗体级变量。窗体级变量在窗体的所有事件过程中全程有效。案例中的变量声明语句是在代码窗口的“通用”位置上,因此变量a和b均为窗体级变量。提醒:在顺序结构程序中,计算机系统是自上而下逐条执行每条语句的,语句的排列顺序就是语句的执行顺序,所以语句的先后顺序会影响程序的执行结果。例如:Dima!,b!PrivateSubCommand1_Click()Text3=a+ba=Text1.Textb=Text2.TextEndSub执行此条语句时,由于此时变量a和b还未被赋值,即a和b的值是0,因此执行此条语句后,在文本框Text3中显示的内容是0。在VB程序设计中,编写包含算术运算、字符处理和逻辑运算的程序代码是常见的。s=s*10+jText3.Text=a+b3.2运算符与表达式表达式由变量、控件属性、常数和运算符组成。表达式又分为算术表达式、字符表达式、关系表达式、逻辑表达式。在本讲中只讨论算术运算符与算术表达式。变量表达式运算符变量表达式控件属性表达式运算符3.2.1算术运算符表3-23.2.3表达式的规定●表达式中的括号允许出现多个,但都应使用圆括号。圆括号的运算优先级最高。●在算术表达式中,当两个不同类型的数据进行运算时,运算结果的数据类型取两者中精度高的数据类型,即:整型→长整型→单精度→双精度。例如:2.6*2结果为5.2不为5,即单精度。表达式由变量、常量、运算符、圆括号和函数等元素构成。表达式应遵循以下的规则:案例制作设计一个简易计算器。在窗体上建立三个文本框和四个命令按钮及两个标签,在下图所示的参考用户界面基础上自行设计用户界面,并编写程序实现以下功能:运行程序后,当向左侧两个文本框分别输入两个数值后,任意单击一个算术运算符按钮后,将在右侧的文本框中显示计算结果。完成“简易计算器”的程序设计,其中的用户界面和计算功能都可自行设计和扩充。编写事件过程。编写计算机程序代码一定要有一个解题思路和相应的算法,通常要从以下四个基本环节入手。1.声明变量在高级语言程序设计中,若在程序中使用变量通常要进行变量声明。本例中需要声明两个窗体级的单精度型变量。Dima!,b!2.输入运算数据在本例中采取的方式是:从键盘输入数据分别由两个文本框接收,并成为文本框的Text属性值。为了将字符型数据转换为能进行算术运算的单精度数据,还要将两个文本框的Text属性值分别赋给变量a和b。a=Text1.textb=Text2.text3.确定事件驱动的对象和事件,编写事件过程VB程序具有事件驱动特点。此案例虽然提供四则运算功能,但对数据进行哪种运算取决于哪个按钮的单击事件发生。因此需要分别建立Command1~Command4等四个命令按钮单击事件的事件过程。下面给出的是Command1命令按钮的单击事件过程的程序代码:PrivateSubCommand1_Click()a=Text1.textb=Text2.textText3.text=a+bEndSub本讲知识回顾:一、变量声明语句:Dim语句围绕Dim语句又引出了以下新内容:1)变量的概念和变量的命名规则2)程序设计中数据类型的概念和数据类型的关键字、类型说明符以及不同数据的表示(从表3-1中查找)。掌握了1)和2)就可顺利地写出Dim语句声明变量二、文本框的使用文本框有双重用途:1)作为数据输入框以人机交互方式,通过键盘直接向文本框输入数据。(输入到文本框数据的数据类型都是字符型数据。)将输入到文本框的数据“赋给变量”的语句是:变量=Text1.text例如:a=Text1.text2)作为数据显示框将计算结果放在文本框中显示的语句是:Text1.text=表达式例如:Text1.text=a+b三、算术运算符(见表3-2)四、VB表达式的运算优先级和运算结果的数据类型的规定。