资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章 数据类型、运算符与表达式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章 数据类型、运算符与表达式,Visual Basic6.0,的数据类型,变量、常量,运算符和表达式,语法基础,Visual Basic,的数据类型,在,Visual Basic,中,数据类型包括标准数据类型和由用户自己定义的数据类型。,1.,数值(,Numeric,),数据类型,(,1,)整型(,Integer,),和长整型(,Long,),用于表示整数,可以为正整数、负整数和,0,。,如:,100, 12345,,,-123,,,&H1A,,,&O123,Visual Basic,的标准数据类型,(,2,)单精度浮点型(,Single,),最大正数值为,3.402823,E,+38,(,即,3.410,38,)。,最多,7,位,有效数字。,(,3,)双精度浮点型(,Double,),最大正数值为,1.79769313486232,D,+308,(,即,1.810,308,)。,最多,15,位,有效数字。,用,E,则将该值作,Single,类型处理,用,D,则将该值作,Double,类型处理,3.1415926,,,123.01,,,-0.5,,,100.5,1,E,4,,,-2.3,E,2,,,2.3,E,-2,,,10,D,-3,,,10,D,3,(,4,)货币型(,Currency,),是一种专门为处理货币而设计的数据类型,是一种特殊的小数,保留小数点右边,4,位和小数点左边,15,位。,(,5,)字节型(,Byte,),用于存储二进制数。,2.,日期(,Date,),数据类型,日期型数据在计算机中按,8,个字节的浮点数存储,用于表示从,公元,100,年,1,月,1,日到公元,9999,年,12,月,31,日,的日期,时间范围则是,0:00:0023:59:59,。,用数字序列表示日期型数据。字符序列必须用“,#,”,括起来。,如:,#2/17/2003# #2003-02-17#,#February 17,2003# #17 Feb 2003#,#2003-2-17 8:30:34#,均为合法的日期型数据,特别说明:,若将一个数值型数据赋给一个日期型变量,则小数点左边的数字代表日期,右边的数字代表时间, 0,为午夜,0,点,,0.5,为中午,12,点;负数代表的是,1899,年,12,月,31,日之前的日期或时间。计算时以,1899,年,12,月,30,日,为界。,如:定义变量,Mydate,为日期型变量,有以下赋值语句:,Mydate,=2.5,日期为,1900,年,1,月,1,日,时间为,12,:00:00,Mydate,=1.5,日期为,1899,年,12,月,31,日,时间为,12,:00:00,Mydate,=1,日期为,1899,年,12,月,31,日,Mydate,=0.5,日期为,1899,年,12,月,30,日,时间为,12,:00:00,Mydate,=-1.5,日期为,1899,年,12,月,29,日,时间为,12,:00:00,Mydate,=-1,日期为,1899,年,12,月,29,日,程序举例,3.,逻辑(,Boolean,),数据类型,逻辑型数据用于逻辑判断,只有两个值“真”(,True,),和“假”(,False,)。,若变量的值为“,True/False”,,“,Yes/No”,,“,On/Off”,信息时,则可将它申明为,Boolean,类型。,Boolean,型的默认值为,False,。,逻辑型数据 整型数据:,“真”转换为,-1,,“假”转换为,0,其它类型数据逻辑型数据 :,非,0,转换为 “真” ,,0,转换为“假”,4.,字符(,String,),数据类型,字符串型数据是一组由计算机字符组成的序列,一个字符占用一个字节(,包括汉字,)。在,Visual Basic,中字符串要用,双引号,括起来。在,Visual Basic,中有两种字符串:变长字符串(,最大长度为,2,31,-1,个字符,)和定长字符串(,最大长度为,2,16,-1,个字符,)。,注意:,“”,和,“ ”,的区别,如: “西南交通大学” “,China is great!”,contentoftext1$=Text1.Text,5.,对象(,Object,),数据类型,对象数据用,4,个字节来存储,该,32,位地址可以引用应用程序中的对象,可以指定一个被申明为对象的变量去引用应用程序所识别的任何实际对象。,6.,变体(,Variant,),数据类型,(,VB,对所有未定义的变量都赋予,Variant,类型),变体型数据是一种可以随时改变数据类型的数据,它为,Visua,Basic,的数据处理增加了智能性,(,VB2,中加入)。,变体型数据还包括四种特殊的数据:,(,1,),空(,Empty,),:,没有指定确定的数据,(,2,),无效(,Null,),:,数据不合法,(,3,),出错(,Error,),:,说明过程中出现了一个错误条件,(,4,),无指向(,Nothing,),:,说明数据还没有指向一个具体对象,优点:可以不考虑存储数据的类型,缺点:,1,、降低运算速度,2,、以下两种情况依靠机器转换会产生不可思议的结果:编程期间如果变量始终保持一种类型;如果要使程序中保存字符串和数值的变量不变时。,只有在要用变体的特殊性时才使用,转换应尽量掌握在程序员手中。,数据类型(关键字),占用字节数,类型符,前缀,取值范围说明,Numeric,(,数值型),Byte,(,字节型),1,B,0255,Integer,(,整型),2,%,I,-3276832767,Long,(,长整型),4,&,L,-2147483648,2147483647,Single,(,单精度浮点型),4,!,S,-3.402823E38,3.402823E38,Double,(,双精度浮点型),8,#,Dbl,-1.79769313486232D308,1.79769313486232D308,Currency,(,货币型),8,C,-9222337203685477.5808,9222337203685477.5807,String,(,字符串型),String,1/,字符,$,Str,065535,个字符,Date,(,日期型),Date,8,Dt,公元,100,年,1,月,1,日,公元,9999,年,12,月,31,日,Boolean,(,逻辑型),Boolean,2,F,True或False,Variant,(,变体型),Variant,根据需要分配,v,Visual Basic,的基本数据类型,Visual Basic,的用户自定义数据类型,在,Visual Basic,中,除了标准数据类型外,还允许用户自己定义数据类型,由若干个标准数据类型组成。当需要一个能包含几个相关信息的变量时,就可以使用自定义类型。,Type,自定义类型名,元素名,As,类型名,元素名,As,类型名,End Type,自定义类型的定义语句的形式为:,自定义类型中的一个成员,该成员的标准数据类型,如:定义一个班中学生的基本情况的数据类型为:,Type,Students,说明,Students,是自定义类型名,Name As String *8,Name,是,Students,的成员之一,字符串型,Age As Integer,Age,是,Students,的成员之一,整型,Address As String *30,Address,是,Students,的成员之一,字符串型,Computer As Single,Computer,是,Students,的成员之一,单精度型,English As Single,Math As Single,Total As Single,Average As Single,End Type,程序举例,(,1,)自定义类型必须在标准模块(,.bas,),中定义,默认是,Public,。,(,2,),自定义类型中的元素类型是字符串时,该字符串必须是定长字符串。,(,3,)要分清,自定义类型名,和具有该类型名的,变量名,。自定义类型名表示的是一种数据类型,同,Integer,,,Single,等是一样的;而变量名是一个具有某种类型的变量,,VB,根据变量的不同类型分配必要的存储空间。,注意:使用自定义类型时:,Visual Basic,的枚举类型,Public | Private,Enum,类型名,成员名,=,常数表达式,成员名,=,常数表达式,End,Enum,枚举类型放在窗体模块、标准模块或公用模块中的声明部分,,定义语句的形式为:,枚举类型中的一个成员,为可选项,表示元素的值为,Long,类型,也可以是其它,Enum,类型,若某个变量的值只能是指定的若干个名字之一,则可定义为枚举类型。,所谓枚举,指将变量的值一一列举出来,变量的值只限于列举出来的范围内。,(,1,)在,Enum,语句的格式中,“常数表达式”可以省略。在默认情况下,枚举中的第一个常数被初始化为,0,,其后的常数则初始化为比其前面的常数大,1,的数值。,使用枚举类型时的说明:,Public,Enum,Days,说明,Days,是枚举类型名,Sunday,说明常数,Sunday,的值为,0,Monday,说明常数,Monday,的值为,1,Tuesday,Wednesday,Thursday,Friday,Saturday,End,Enum,(,2,)可以用赋值语句显式地给枚举类型中的成员赋值,即不省略“常数表达式”。所赋的值可以是任何长整型,也可以为负数。,Public,Enum,WorkDays,说明,Days,是枚举类型名,Saturday,常数,Saturday,的值只能为,0,Sunday = 0,说明常数,Sunday,的值为,0,Monday,说明常数,Monday,的值为,1,Tuesday,Wednesday,Thursday,Friday,Invalid = -1,End,Enum,(,3,),Visual Basic,将枚举中的成员的数值看做长整型。若将一个浮点数值赋给一个枚举中的成员,,VB,就会将该数值取整为最接近的长整型。,(,4,)当对一个枚举类型中的成员赋值时,可以使用另一个枚举中的成员的数值。,(,5,)声明枚举类型后,就可以定义该枚举类型的变量,然后使用该变量存储枚举常量的数值。,枚举变量示例,变量和常量,与一般的程序设计语言一样,,VB,中使用常量和变量来存储各种类型的数据。变量用名字来表示其中存储的数据,用数据类型表示其中存储的数据的具体类型。而常量是用名字来表示某个数值,将无意义的单纯数字用有含义的符号来表示,方便用户使用。,Visual Basic,中常量分为两类:一为,普通常量,(即数据本身);另一为,符号常量,(即用一个标识符表示的常量)。,普通常量,Visual Basic,中的,普通常量,包括数值常量、字符串常量、逻辑常量、日期常量等。,常量,在,VB,中,用,常量,表示在整个程序中事先设置的、始终不会改变数值的数据。对于程序中使用的常数,能够用常量表示的应尽可能用常量表示,以增强程序的可读性。,符号常量(用户声明常量),符号常量(自定义常量或用户声明常量):在程序中程序员用,Const,声明的常量。在声明一个常量后,我们就可用常量名来引用其代表的常数,如:,Const Pi=3.1415926,Dim x As Single,x=Sin(Pi/4) ,即x=Sin(3.1415926/4),符号常量即是用一个,符号名,来代替数值或字符串。,符号名必须以字母开头,由字母、数字、下划线组成的长度不大于,40,的字符串。,定义符号常量的格式:,Const,符号常量名,As,类型, =,表达式,即定义符号常量名为表达式的值。“表达式”可以是数值、字符串或由它们与运算符组合成的简单表达式,也可包含其它已定义的符号常量;但表达式中不能使用函数。,如:,Const NAME As String=“,张三”,Const NUM As Integer=100*2,Const PI As Double=3.14159265358979,Const PII =3.1415926,可选项,用于说明常量的数据类型,PI,为双精度型,PII,为单精度型,如:,Const X=Sin(30) ,此语句是错误的,不能用,Visual Basic,中的,保留字,,如,Case,、,If,等作为符号常量名。,符号常量名必须以字母开头。通常,为了区别于其它变量,符号常量名一般用,大写字母,表示。,符号常量必须先定义后使用,在整个模块中只需要定义一次。,关于符号常量的一些说明:,符号常量在程序中代替的是具体的某值,不等同于变量,也不能对符号常量重新赋值。,变量,变量及变量名,变量名的命名规则:,(,1,)变量名必须以,字母,或,汉字,开头,后跟,字母,、,汉字,、,数字,或,下划线,组成的字符串。变量名中不允许使用空格。变量名不得超过,255,个字符。,(,2,)变量名不能和保留字(关键字)同名。,(,3,)在,Visual Basic,中变量名不区分大小字。但习惯上变量名首字母用大写表示。变量名在变量的有效范围内唯一。,变量是指在程序执行过程中其值可以改变的量,即变量是用于临时存储数据的。每个不同的变量都用变量的标识符来区分,而变量的标识符就称为变量名。,关键字,是,Visual Basic 6.0,保留下来作为程序中有固定含义的标识符,是,VB,内部使用的词,是该语句的组成部分。不能被重新定义以作它用。,VB,中的关键字有:,As Binary,ByRef,ByVal,Date Else Empty,Error False For Friend Get Input Is,Len Let Lock Me Mid New Next,Nothing Null On Option Optional,Print,ParamArray,Private Property Public Resume Seek Set Static,Step String Then Time To True,WithEvents,变量的声明及类型,在,Visual Basic,中,使用变量前,要先声明变量名及其类型,以确定系统为它分配的存储单元。声明变量的方式有:,1.,用,Dim,,,Static,,,Public,关键字声明变量:显式声明变量,(,1,),Dim,关键字:用于模块过程中或窗体级的通用过程中。,Dim,声明变量的定义格式为:,Dim,变量名,As,类型,为可选项。省略时,默认为变体类型。,使用,Dim,定义变量的一些说明:,1,)对于字符串变量,根据其存放的字符串长度是否固定,有两种定义方式:,Dim Str1 As String,Dim Str2 As String *10,定义变量,Str1,为不定长字符串变量,定义变量,Str2,为定长字符串变量,长度为,10,对于定义的字符串变量,当赋给的字符,少于,给定长度时,用空格填满不足部分;当赋给的字符,大于,给定长度时,自动截去超出部分的字符,2,)一条,Dim,语句可以定义多个变量,但每个变量必须有自己的类型声明。,如:,Dim Count1 As Integer, Count2 As Double,如:,Dim Num1, Num2 As Single,Count1,Count2,各自为指定类型,Num1,为,Variant,类型,,Num2,为,Single,类型,3,)用,Dim,定义变量的数据类型时,也可用数据类型的类型符来代替,As,子句。注意:,变量名与类型符间不能有空格,。,如:,Dim Number%,等价于,Dim Number As Integer,Private Sub Form_Click(),Dim Str1 As String,Dim Str2 As String*4,Dim Str3 As String*2,Str1=“,中华人民共和国”,Str2=“,中华人民共和国”,Str3=“,中华人民共和国”,Print Str1,Print Str2,Print Str3,End Sub,例如:,编写窗体的,Click,事件过程如下:,(,2,),Static,关键字:用于过程中定义静态变量或静态数组。,用,Static,和,Dim,定义变量的区别:,1,)用,Static,定义的变量在该函数或过程执行结束后,其值能保存下来,当下一次执行时,该值为上一次保存下来的值,而不再是初始化时的值。故用,static,定义的变量称为,静态变量,。,2,)用,Dim,语句定义的变量随过程的调用而分配存储单元,并进行变量的初始化。一旦过程或函数执行结束,变量的值自动被清除,占用的存储单元也被释放。故用,Dim,定义的变量,只要过程或函数被调用,变量都将重新初始化。,Static,声明变量的定义格式为:,Static,变量名,As,类型,Private Sub Form_Click(),Dim Sum1 As Integer,Print Sum1,Sum1=Sum1+1,End Sub,例,4.1,:在“代码”窗体中编写窗体的,Click,事件过程如下:,运行此程序,在窗体上单击数次,窗体上显示的数字始终是,0,,结果如图所示:,Private Sub Form_Click(),Static Sum2 As Integer,Print Sum2,Sum2=Sum2+1,End Sub,将上述代码中的,Dim,换成,Static,,,如下所示:,再次运行程序,则每单击一次窗体,窗体上显示的数字便加,1,,结果如图所示:,程序举例,2.,隐式声明变量,在,Visual Basic,中,也可以不事先声明而直接使用变量,这种方式称为,隐式声明,。所有隐式声明的变量都是变体型数据类型。,对于隐式声明的变量,即在使用一个变量之前并不先声明此变量,而是直接用这个名字自动创建一个变量,使用此变量时,可以认为它就是显式声明的。虽然此法很方便,但若变量名拼错了的话,系统会认为它是一个新变量,从而会导致一个难以查找的错误。,因此对于隐式声明变量,应尽量少用,;,应先声明变量的数据类型,,这样,Visual Basic,会以更高的效率处理此数据。,补充说明:,在,Visual Basic,中,为了避免因写错变量名而引起的麻烦,可 以在“代码”窗口的声明段中加入语句:,Option Explicit,这样,在代码中只要遇到一个未经显式声明的名字,,Visual Basic,都会弹出错误警告。,加入语句:,Option Explicit,语句后,因此段代码只声明了变量,s1,,,而没有声明变量,s2,,,运行该程序,单击窗体,则弹出编译错误消息框。,另外,还可将系统定制为总要求显式声明变量。,执行“工具”菜单中的“选项”命令,打开“选项”对话框,在“编辑器”选项卡中选中“要求变量声明”选项。这样就在任何新建的模块中自动插入,Option Explicit,语句,但不会在已经建立起来的模块中自动插入。,变量的缺省值:,除了,Object,类型外,其他数据类型的变量都有缺省值。,数值型:,0,Boolean,型:,False,String,型,:,长度为,0,的空字符串,Date,型,: 0:00:00,变量的作用域,一个变量声明后,并不是在任何地方都能使用它,因每个变量都有自己的作用范围。变量的作用范围即称为,变量的作用域,。变量的声明方式和声明位置决定了它的作用域。,若一个变量是在一个过程内进行声明的,则此过程内的所有代码都可以访问到该变量,其作用域局限在这个过程内,这种变量称为,局部变量,。,若一个变量被声明后,整个应用程序内的代码都可以访问该变量,则该变量为,全局变量,。,补充说明:,在介绍变量的作用域之前,先了解一个应用程序的组成:,应用程序(,.,vbp,文件),窗体模块,(,.,frm,文件),标准模块,(,.bas,文件),类模块,(,.,cls,文件),声明段,事件过程,通用过程,声明部分,通用过程,变量的作用作用域可分为三个层次:局部变量、模块级变量和全局变量。下表列出了变量的作用范围及使用规则:,变量的作用域,声明方式,声明位置,被本模块访问,被其它模块访问,局部变量,Dim或Static,在过程中,不能,不能,模块级变量,Dim或Private,模块的通用声明段,能,不能,全局变量,Public,模块的通用声明段,能,能,如果是在窗体模块中定义的,则需要加窗体名,注意:若不特别说明,模块是指对窗体模块与标准模块的统称。,1.,局部变量,局部变量,是指在过程内使用,Dim,语句或,Static,语句声明的变量。在过程内不加声明而直接使用的变量(即隐式声明的变量)也是,局部变量,。一个应用程序包含若干个模块,模块中又包含若干个过程。,对于局部变量,只能在声明它的过程中使用,本模块的其它过程以及其它模块均不可访问,。,说明:在不同的过程中可以声明相同名称的变量,它们相互独立,互不干扰。,2.,模块级变量,模块级变量,是指在模块的任何过程之外,即在模块的声明部分使用,Dim,语句或,Private,语句声明的变量。模块级变量可被本模块的任何过程访问。,3.,全局变量,全局变量,是指在模块的任何过程之外,即在模块的“通用声明”段使用,Public,语句声明的变量。可被本模块的任何过程访问。,说明:在窗体模块声明的全局变量,在访问时需要在变量名前加窗体名;而在标准模块中声明的全局变量可以直接访问。,例如:在窗体模块中定义了四个变量,A,、,B,、,C,和,D,,,如图。则,A,为全局变量,,B,为模块级变量,,C,和,D,为局部变量。,说明:在,Visual Basic,中,作用域不同的变量的名称可以相同,并且作用域小的变量的优先级高。,运算符和表达式,程序中对数据的操作,其实就是指对数据的各种运算。被运算的对象,如常数、常量和变量等称为,操作数,。运算符是用来对操作数进行各种运算的操作符号,如加号(,+,)、减号(,-,)等。,在高级语言中,通过运算符将操作数连接成的在意义的式子,即称为,表达式,。,Visual Basic,中有丰富的运算符和表达式,可分为:,算术运算符和算术表达式,关系运算符和关系表达式,逻辑运算符和逻辑表达式,字符串运算符和字符串表达式,赋值运算符,赋值运算符,在声明一个变量后,要先给变量赋上一个合适的值才能够使用。给变量赋值的格式为:,变量名,=,表达式,可以为普通的常量、变量或表达式及函数,如:一个变量,X,,,常用以下几种方式进行赋值:,X=10,X=Y,X=X+1,为一个已经赋过值的变量,算术运算符与算术表达式,算术运算符是用于进行算术运算的,其操作对象是数值型的数据,如整型、长整型、单精度浮点型、双精度浮点型及货币型数。,下表列出了,Visual Basic,中提供的算术运算符。其中取负运算符(,-,)只需一个操作数,称之为,单目运算符,;其它运算符都需两个操作数,称之为,双目运算符,。,运算符的,优先级,表示当表达式中有多个运算符时,先执行哪个运算符。,运算符,功能,优先级,举例,结果,-,取负,2,X=-10,-10,+,加,6,X=3+2,5,-,减,6,X=7-4,3,*,乘,3,X=3*7,21,/,除,3,X=7/2,3.5,整除,4,X=72,3,Mod,求余,5,7Mod2,1,指数,1,23,8,算术运算符,整除运算(,)的结果是商的整数部分,。如,72,表示整除,商为,3.5,,结果取整数部分,3,,不进行四舍五入。若参加整除的操作数为浮点数,则先按四舍五入的原则将其转换为整数,再执行整除运算。如:,8.52,,先将,8.5,变以,9,,商为,4.5,,结果为,4,。,算术运算符的一些说明:,执行除法运算(,/,)时,除非有一个操作数为,Double,,,否则系统按,Single,的方式运算。,求余运算(,Mod,),是求两个整数相除后的余数。若参加运算的操作数为浮点数,则先按四舍五入的原则将它们变成整数,然后再执行求余运算。如,8.5Mod2.1,,,结果为,1,。,指数运算是计算乘方和求根式的运算。如,36(1/2),,结果为,6,。,关系运算符与关系表达式,关系运算符是双目运算符,是用来对两个操作数进行大小比较的,它们的优先级相同。关系运算的结果是一个逻辑值,即,真(,True,),或,假(,False,),。,若关系成立,则结果为,True,,,否则结果为,False,。在,Visual Basic,中,,True,用,-1,表示,,False,用,0,表示。,如:关系表达式,5,大于,“,abc,”“,aBc,”,True,=,大于等于,8=7,True,小于,87,False,=,小于等于,51)And(71),True,Xor,异或,操作数相反时,结果才为真,4,(21)Xor(71)Eqv(73),False,Imp,蕴含,第一个操作数为真,第二个操作数为假时,结果才假,其余情况下结果均为真,6,(8=8) Imp False,False,字符串运算符与字符串表达式,字符串运算符有两个:“,&”,和“,+”,,其作用是将两个字符串连接起来。“,&”,和“,+”,都是双目运算符。,例如:,“,Visual Basic,”&“,程序设计语言,” 结果为,“,Visual Basic,程序设计语言”,“电脑”,+ “,爱好者”,结果为 “电脑爱好者”,Str,$,=“,计算机” 声明变量,Str,为字符串型,且赋值“计算机”,Str,&,“,与网络”,结果为,“计算机与网络”,变量名和,&,之间一定要加一个空格。因,&,本身还是长整型的类型符,不加空格易造成误会,比较“,&”,和“,+”,运算符:,“,&”,运算符会自动将非字符型的数据转换成字符串后再进行连接。,如:,1234 & 5678 & “,abcd,” ,结果为,“,12345678abcd”,“,+”,运算符在连接字符串时不能自动转换。即“,+”,运算符两边的表达式应均为字符串型,运算结果也为字符串,是两个字符串连接起来而产生的新字符串。,注意:“,+”,运算符的两边表达式若都是数值型表达式,或一个为数值型,而另一个为数值字符串,则进行算术加操作;若一个为数值型表达式,一个为字符串型表达式,则错误。,如:,12 & “34” ,结果为,“,1234”,12 + “34” ,结果为,46,12 & “,ab,” ,结果为,“,12ab”,12 + “,ab,” ,类型不匹配,数据类型的转换,对于算术运算,若操作数具有不同的数据精度,则系统规定运算结果的数据类型以,精度高,的数据类型为准。即:,高低,Currency,Single,Long,Integer,Double,货币型,单精度,长整型,整型,双精度,运算符的优先级,在一个表达式中进行多个运算时,每一部分都会按预先确定的顺序进行计算求解,这个顺序被称为,运算符的优先级,。,当表达式有多个运算符时,先处理算术运算符和字符串运算符,接着处理关系运算符,然后于处理逻辑运算符。即各种运算符的优先级为:,算术运算符,字符串运算符,关系运算符,逻辑运算符,所有关系运算符有相同的优先级,即按它们出现的顺序从左到右进行处理。,算术运算符和逻辑运算符按它们各自的优先级进行处理,当乘法和除法同时出现在表达式中时,按从左到右出现的顺序处理每个运算符;同样,当加法和减法同时出现在表达式中时,也按从左到右出现的顺序处理每个运算符。,括号可改变优先级的顺序,强制优先处理表达式的某部分。括号内的操作总是比括号外的操作先执行。但在括号内,仍保持正常的运算符优先级。,在书写表达式时,尽管有时括号不是必须的,但最好还是在表达式适当的地方添加一些括号,使得表达式的层次更分明,以增加程序的可读性。,如:选拔模特的基本标准是身高(,T,),要在,175,公分与,185,公分之间,同时,体重(,W,),要小于,56,公斤。不过,如果文化课成绩(,S,),在,90,分以上者,即使身高与体重不合格也可以破格录取。,描述以上选拔条件的表达式可以写成如下的形式:,17590,但如果适当地加上一些括号,则表达式的层次就一目了然了:,(17590),
展开阅读全文