说明变量
· 2010-03-11 21:47 · 15115 次点击
变量是指在程序的运行过程中随时可以发生变化的量。
变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据(如使用InputBox函数在屏幕上显示一个对话框,然后把用户键入的文本保存到变量中)、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。
变量有两种类型:属性变量和用户自己建立的变量。
当我们在窗体中设计用户界面时,vb6会自动为产生的对象(包括窗体本身)创建一组变量,即属性变量,并为每个变量设置其缺省值。这类变量可供我们直接使用,比如引用它或给它赋新值。
用户也可以创建自己的变量,以便存放程序执行过程中的临时数据或结果数据等等。在程序中,这样的变量是非常需要的。下面就介绍这类变量的创建和使用方法。
1.变量的命名规则
首先,我们必须给变量取一个合适的名字,就好像每个人都有自己的名字一样,否则就难以区分了。
在VB6中,变量的命名必须遵循以下规则:
(1)变量名必须以字母打头,名字中间只能由字母、数字和下划线“_”组成;最后一个字符可以是类型说明符;
(2)变量名的长度不得超过255个字符;
(3)变量名在有效的范围内必须是唯一的。
有效的范围就是引用变量可以被程序识别、使用的作用范围——例如一个过程、一个窗体等等。有关引用变量作用范围的内容,将在以后介绍。
(4)变量名不能是VB中的保留字(关键字),也不能是末尾带类型说明符的保留字,但可以把保留字嵌入变量名,
关键字是指VB6语言中的属性、事件、方法、过程、函数等系统内部的标识符。如已经定义的词(if、endif、while、loop等)、函数名(len、format、msgbox等)。像Print、Print$是非法的,而Myprint是合法的。
例如:
strName1,intMax_Length,intLesson,strNo3等是合法的变量名,而A&B,allright,3M,_Number等是非法的变量名。
注意:
(1)变量名是不区分大小写的。如ABC、aBc、abc等都是一样的。
(2)定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称,而不要使用一些难懂的缩写如A或B2等。
例如,假定正在为水果铺编一个销售苹果的软件。我们需要两个变量来存储平果的价格和销量。此时,可以定义两个名为Apple_Price和Apple_Sold的变量。每次运行程序时,用户就这两个变虽提供具体值,这样看起来就非常直观。
具体方法是:通过用一个或多个单词组成有意义的变量名来使变量意义明确。例如,变量名SalesTaxRate就比Tax或Rate的意义明确得多。
(3)根据需要混合使用大小写字母和数字。一个合理协议是,变量中每个单词的第一个字母大写,例如:DateOfBirth。
(4)另一个合理协议是,每个变量名以两个或三个字符缩写开始,这些字符缩写对应于变量要存储数据的数据类型。例如,使用strName来说明Name变量保存字符串型数据。
虽然现在无须过多地关注字符缩写的细节,但以后还是需要看一下这方面的约定。在VisualBasic联机帮助和许多VisualBasic高级编程的书籍中都可以找到这一约定的细节。
2.声明一个变量
变量在使用前,必须在代码中进行声明,即创建该变量。
在使用变量之前,大多数语言通常首先需要声明变量。就是说,必须事先告诉编译器在程序中使用了哪些变量,及这些变量的数据类型以及变量的长度。这是因为在编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,这样可以优化程序的执行。
声明变量有两种方式:隐式声明、显式声明。
隐式声明:变量可以不经声明直接使用,此时VB给该变量赋予缺省的类型和值。这种方式比较简单方便,在程序代码中可以随时命名并使用变量,但不易检查。
显式声明:用声明语句创建变量。
强制显式声明变量:
为了避免写错变量名引起的麻烦,用户可以规定,只要遇到一个未经明确声明就当成变量的名字,VB都发出错误警告。方法是----强制显式声明变量。要强制显式声明变量,只须在类模块、窗体模块或标准模块的声明段中加入这条语句:
OptionExplicit
这条语句是用来规定在本模块中所有变量必须先声明再使用,即不能通过隐式声明来创建变量。在添加OptionExplicit语句后,VB将自动检查程序中是否有未定义的变量,发现后将显示错误信息。
如果要自动插入OptionExplicit语句,用户只要在“工具”菜单中选取“选项”命令,然后单击“选项”对话框中的“编辑器”选项卡,再选中“要求变量声明”选项
这样VB就会在任何新模块中自动插入OptionExplicit语句,但只会在新建立的模块中自动插入。所以对于已经建立的模块,只能用手工方法向现有模块添加OptionExplicit语句(只有再重新启动VB,这项功能才有效)。
理解变量的范围
变量的范围确定了能够知晓该变量存在的那部分代码。在一个过程内部声明变量时,只有过程内部的代码才能访问或改变那个变量的值;它有一个范围,对该过程来说是局部的。但是,有时需要使用具有更大范围的变量,例如这样一个变量,其值对于同一模块内的所有过程都有效,甚至对于整个应用程序的所有过程都有效。VisualBasic允许在声明变量时指定它的范围。
C语言中的变量类型:
C语言中,变量分为全局变量和局部变量;也可以这样分:自动变量,静态变量.前者是按变量作用范围来分的,而后者是按变量存储方式来分的.
如果按存储占用空间来分,可以是整型变量,字符型变量,浮点型变量等.当然还有数组,结构体变量等.
C语言还有一个重要变量:指针变量.它存放的值是一个内存地址.
另一点,声明变量时,可以不用声明就直接赋值来决定变量类型的语言如(javascript,flashcs3.0以前,等),这类语言变量的声明通常被称为弱类型,而如(c++等)必须先声明,后使用,而且声明时必须确定变量类型,这种就是严格的数据类型.