全国计算机等级考试二级vb辅导讲义--vb运算符与表达式_第1页
全国计算机等级考试二级vb辅导讲义--vb运算符与表达式_第2页
全国计算机等级考试二级vb辅导讲义--vb运算符与表达式_第3页
全国计算机等级考试二级vb辅导讲义--vb运算符与表达式_第4页
全国计算机等级考试二级vb辅导讲义--vb运算符与表达式_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、全国计算机等级考试二级公共基础知识辅导讲义 运算符与表达式考试大纲要求:运算符与表达式:(1)算术运算符。(2)关系运算符与逻辑运算符。(3)表达式的执行顺序。基础知识:Vb简单语法赋值语句,流程控制语句(条件if,循环for等),变量常量的定义,简单控件的使用等运算符用来对运算对象进行各种运算的操作符号。表达式由多个运算对象和运算符组合在一起的合法算式。其中运算对象包括常数、常量、变量和函数,而常数、常量、变量和函数可以看作没有运算符的表达式。VB中的运算符分五类算术运算符、连接运算符、关系运算符、逻辑运算符和特殊运算符;VB中的表达式有三种算术表达式、关系表达式和逻辑表达式。一、算术运算符

2、算术运算符用来进行数学运算的运算符。VB中主要的算术运算符见下表:从上至下优先级递减运算符说明示例操作数类型指数Test=32 表示3的2次方结果为9Integer,Long,Single,Double,Currency-取负-7*乘法Test=37*16Integer,Long,Single,Double,Currency/浮点数除法Test=37/16 结果为2.3125Integer,Long,Single,Double,Currency整数除法Test=3716 结果为2Integer,LongMOD求余数Test=37 MOD 16 结果为5Integer,Long+加法Test=3

3、7+16Integer,Long,Single,Double,Currency-减法Test=37-16Integer,Long,Single,Double,Currency1、(幂运算符)幂运算符用来计算某个数或表达式的某次方的值。其中,幂运算符右边的数或表达式是次方数。例如:   Private Sub Form_Paint()    Dim MyValue as Integer    MyValue = 2 2 返回 4    Print MyValue  

4、End Sub同样:MyValue = 3 3 3 返回 19683MyValue = (-5) 3 返回 -1252、* (乘法运算符)乘法运算符用来计算两个数或表达式的积。例如:   Dim MyValue    MyValue = 2 * 2 返回 4。   MyValue = 459.35 * 334.90 返回 153836.315。3、浮点数除法(/)与整数除法()浮点数除法执行标准除法操作;整数除法执行整除运算,结果为整理值,且不进行四舍五入(如32=1),其操作数一般为整理数,如果是小数,首先被四舍五入为整理

5、或长整理数,再进行整除运算,整除运算后结果的小数部分要舍去,如:   25.636.78=3。12=03.21.5=14、取模运算Mod取模运算Mod用来求余数,其结果为第一个操作数整除第二个操作数所得的余数。如果其中一个操作数为负数,则结果的符号与被除数的符号相同。如:   21 Mod 4=1;  25.68 Mod 6.99=5 5 Mod 2=1; -5 Mod 2=-1 ;5 Mod -2=15、试题1.2002年9月份试题(7) 设a=3,b=5,则以下表达式值为真的是A) a%26gt;=b And b%26gt;10 B) (a

6、%26gt;b)Or(b%26gt;0)C) (a%26lt;0)Eqv(b%26gt;0) D) (-3+5%26gt;a)And(b%26gt;0)6. 实例,编写简单的计算器程序,要求实现加减乘除等运算代码如下:Dim m As Integer '保存当前输入的加数值Dim n As Integer '保存上一个加数值Dim flag As Integer '运算符指示器Private Sub Command0_Click() '0 is clickedm = 0Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub

7、 Command1_Click()m = 1Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command2_Click()m = 2Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command3_Click()m = 3Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command4_Click()m = 4Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command5_Click()m = 5Te

8、xt1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command6_Click()m = 6Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command7_Click()m = 7Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command8_Click()m = 8Text1 = Trim(Text1) + Trim(m)End SubPrivate Sub Command9_Click()m = 9Text1 = Trim(Text1) + Trim

9、(m)End SubPrivate Sub Commandclear_Click()Text1 = ""flag = 0m = 0n = 0End SubPrivate Sub Commandadd_Click()n = Trim(Text1)Text1 = ""flag = 1 '1 means add operationm = 0End SubPrivate Sub Commandsub_Click()n = Trim(Text1)Text1 = ""flag = 2 '2 means minus operatio

10、nm = 0End SubPrivate Sub Commandmulti_Click()n = Trim(Text1)Text1 = ""flag = 3 '3 means multiply operationm = 0End SubPrivate Sub Commanddiv_Click()n = Trim(Text1)Text1 = ""flag = 4 '4 means divide operationm = 0End SubPrivate Sub Commandmod_Click()n = Trim(Text1)Text1 =

11、""flag = 5 '5 means mod operationm = 0End SubPrivate Sub Commandequ_Click()If flag = 0 ThenText1 = nEnd IfIf flag = 1 ThenText1 = n + Text1End IfIf flag = 2 ThenText1 = n - Text1End IfIf flag = 3 ThenText1 = n * Text1End IfIf flag = 4 ThenText1 = n / Text1End IfIf flag = 5 ThenText1 =

12、n Mod Text1End IfEnd SubPrivate Sub Form_Load()Text1.Text = "0"End Sub二、连接运算符连接运算符就是将两个表达式连接在一起。用来进行连接运算的运算符有两 个:“&”与“+”“&”运算用来强制两个表达式作字符串连接,而“+”运算则有些不同,如果两个表达式都为字符串时,则将两个字符串连接(相接);如果一个是字符串(数字形)而另一个是数字则进行相加操作。如下表比较了两种连接运算的不同结果:表达式1表达式2进行"&"运算的结果进行"+"运算的结果&qu

13、ot;123""3""1233""1233"1233"1233"126"123"3"1233"126"123a"3"123a3"报错"hello""World""hello World""hello World"在使用“+”运算符时有可能无法确定是做加法还是做字符串连接。为避免混淆,可使用 & 运算符进行字符串连接,从而改进了程序代码的可读

14、性。三、关系运算符(比较运算符)关系运算符是用来比较两个数或表达式的运算符,它的主要作用是确定表达式之间关系,运算的结果可分为True和False和Null,只要运算的双方有任何一方是Null,结果还是Null。用关系运算符连接两个算术表达式所组成的式子叫做关系表达式。其使用说明如下:   Result = Expression1 Comparisonoperator Expression2 (结果变量= 表达式1 关系运算符 表达式2)其中:    Result(结果变量)可以是任何数值变量;    Expression1(表达式1

15、),Expression2(表达式2)可以是任何表达式;    Comparisonoperator(关系运算符)可以是任何关系运算符。下表所示为一系列关系运算符以及判定Result 是 True、False 还是 Null 的条件:关系运算符使用说明运算符True  ifFalse  ifNull  if<Expression1<Expression2Expression1>=Expression2Expression1 or Expression=Null<=Expression1<=Expression2Ex

16、pression1>Expression2Expression1 or Expression=Null>Expression1>Expression2Expression1<=Expression2Expression1 or Expression=Null>=Expression1>=Expression2Expression1<Expression2Expression1 or Expression=Null=Expression1=Expression2Expression1<>Expression2Expression1 or Ex

17、pression=Null<>Expression1<>Expression2Expression1=Expression2Expression1 or Expression=Null在比较两个表达式的时候可能难以确定将要比较的表达式是进行数字比较还是字符串比较。下表说明表达式如何进行比较,或说明当其中一个表达式是Variant类型时,如何获得比较的结果。表达式的比较方式:条件执行结果两个表达式都是数值数据类型(Byte、Boolean、Integer、Long、Single、Double、Date、Currency或Decimal)进行数值比较两个表达式都是Strin

18、g进行字符串比较一个表达式是数值数据类型而另一个是数字Variant、或可以为一数字进行数值比较一个表达式是数值数据类型而另一个是不能转换成数字的字符串Variant产生类型不匹配的错误一个表达式是String,而另一个是除了Null以外的任何Variant进行字符串比较一个表达式是Empty而另一个是数值数据类型进行数值比较,使用0作为Empty表达式一个表达式是Empty而另一个是String进行字符串比较,使用长度为零的字符串("")作为Empty表达式如果 Expression1 和 Expression2 都是 Variant 类型的表达式, 则它们的内部数据的类

19、型决定了比较方式。下表说明如何比较表达式,或指出通过比较得到的结果,此结果由 Variant量的内部数据的类型来决定。 Variant类型的表达式的比较方式条件执行结果两个Variant表达式都是数值进行数值比较两个Variant表达式都是字符串进行字符串比较一个Variant表达式是数值而另一个是字符串数值表达式小于字符串表达式一个Variant表达式是Empty而另一个是数值进行数值比较,使用0作为Empty表达式一个Variant表达式是Empty而另一个是字符串进行字符串比较,使用长度为零的字符串("")作为Empty表达式两个Variant表达式都是Em

20、pty表达式相等当一个Single类型 与一个Double类型作比较时,Double类型会进行舍入处理而与此Single有相同的精确度。如 果一个 Currency型 与一个 Single型 或 Double型 进行比较,则 Single型或Double型转换成一个Currency型。Private Sub Command1_Click()Dim cmp1 As Single, cmp2 As Currencycmp1 = 0.00011cmp2 = 0.00011223If cmp1 = cmp2 ThenLabel1.Caption = "equal"ElseLabel

21、1.Caption = "not equal"End IfEnd Sub与此相似,当一个Decimal型要与一个Single型或Double型进行比较 时,Single型或Double型会转换成一个Decimal(十进制)型。两个currency类型进行比较,只比较到小数后四位即可,如下例说明,cmp1=cmp2Private Sub Command1_Click()Dim cmp1 As Currency, cmp2 As Currencycmp1 = 0.00011cmp2 = 0.00011223If cmp1 = cmp2 ThenLabel1.Caption =

22、"equal"ElseLabel1.Caption = "not equal"End IfEnd Sub关系运算符用于两个表达式的比较,其结果为True或False。它们的应用示例如表3-12所示。读者使用关系运算符时可以此表作为参考。关系运算符操作示例运算符(名称)适用操作数类型示例结果= (等于)全部1=1True> (大于)全部1>2False< (小于)全部3<5True<> (不等于)全部"He"<>"She"True>= (大于等于)全部4>=

23、4True<= (小于等于)全部"ab"<="ac"True四、逻辑运算符逻辑运算符通常用来表示比较复杂的关系。例如中国的球迷就经常面对这样的一个条件:中国足球队只要战平或者战胜××队就可以冲出亚洲走向世界。这个条件如果用VB来表示,应该这样写:If 中国足球队战平××队OR中国足球队战胜××队then冲出亚洲走向世界。在这个条件中的OR运算符就是逻辑运算符,它表示“或者”的意思,当两个条件中的任意一个为TRUE时,整个条件就为TRUE。下表给出了逻辑运算符的功能。逻辑运算符使用说明

24、运算符(名称)用法及所明Not (逻辑非)And (逻辑与)Or (逻辑或)Xor (异或)Eqv (逻辑相等)Imp (蕴涵) Not a   若a为True,则结果为False;否则结果为Truea And b  当且仅当a,b同为True时,结果为True,否则结果为Falsea Or b   当且仅当a,b同为False时,结果为False,否则结果为Truea Xor b  a,b不同时,结果为True,否则结果为Falsea Eqv b  a,b相同时,结果为True,否则结果为Falsea Imp b 

25、; 当且仅当a为True,同时b为False时,结果为False,否则结果为True如下表列出了VB中所有的逻辑运算符和它们表示的逻辑关系,为了便于读者阅读,在表中以”1”代表True,以”0”代表False。逻辑运算符和它们表示的逻辑关系条件a条件bnot aa or ba and ba xor ba equ ba imp b00100011011101011011010011111011五、特殊运算符VB提供了两种特殊运算符:。它们应归于比较运算符。1、Is  运算符比较两个对象变量的引用变量,返回结果为True或False。语法格式:   Result=Ob

26、ject1 Is Object2 部分描述ResultObject1Object2任何数值变量任何对象变量名称任何对象变量名称如果变量Object1和Object2两者引用相同的对象,则Result为True;否则,Result为False。示例:   Dim MyObject,YourObject,ThisObject,OtherObject,ThatObject,MyCheck  定义变量   ···  给变量赋值   Set YourObject=MyObject

27、60;      指定对象引用   Set ThisObject=MyObject   Set ThatObject=OtherObject     假设MyObject<>OtherObject   MyCheck=YourObject Is ThisObject   返回True   MyCheck=ThatObject Is ThisObject   返回False2、Like

28、运算符把一个字符串表达式与一个给定模式(SQL表达式中的样式)进行匹配,匹配成功返回结果True,否则返回结果False。主要用于数据库中的查询。语法格式:   Result=String Like Pattern(注:式样、模型)Like 运算符的语法说明:部分描述Result任何数值变量 String任何字符串表达式Pattern任何字符串表达式,并且遵循“说明”中的模式匹配约定使用like 运算符时应注意:如果string与模式表达式pattern匹配,则结果为true,否则结果为false。但是如果String或Pattern中有一个为Null,则Result为Nu

29、ll。Like运算符内建的模式匹配功能提供了多种方式来进行字符串比较。有的模式匹配功能就可以使用通配符、字符列表或字符区间的任何组合来匹配字符串。pattern中匹配字符以及它们相应的匹配内容如下表:pattern中的匹配字符string中相应的匹配内容?*#charlist!charlist任何单一字符零个或多个字符任何一个数字(0-9)charlist中的任何单一字符不在charlist中的任何单一字符在中括号 ( ) 中,可以用由一个或多个字符组成的集合与 String 中的任一字符进行匹配,这个集合几乎可以包括所有字符和数字。通过在范围的上、下限之间用连字符 (-),Charlist

30、可以指定字符的范围。例如,如果 String 中相应字符的位置包括 A-Z 之间的任意大写字母,则 A-Z 得到一个匹配模式。不需要分界符的情况下,方括号内就可以包括多个范围。下面列举的是模式匹配的其它重要规则:Charlist 开头的惊叹号 (!) 意味着,如果在 String 中相应位置上找到任何不属于集合Charlist 的字符,则在相应位置上匹配成功。如果在方括号之外使用惊叹号,则它被认为是普通字符,只能与自身匹配。连字符 (-) 可以出现在 Charlist 的开头(如果使用惊叹号,则在惊叹号之后),也可以出现在 Charlist 的结尾与自身相匹配。在任何其它地方,连字符用来识别字

31、符的范围。指定了字符范围时,这些字符必须按照升序(从最小到最大)顺序来显示。A-Z 是有效模式,但 Z-A 不是。字符序列 被看作是长度为零的字符串 ("")。为更好地理解Like 运算符的使用,示例如下:Dim MyCheck  定义变量MyCheck = "aBBBa" Like "a*a"  "BBB"与"*"相匹配,返回结果True。MyCheck = "F" Like "A-Z"   "F&quo

32、t;与字符范围列表"A-Z"匹配,返回结果True。MyCheck = "F" Like "!A-Z"  "F"与字符范围列表"!A-Z"不匹配,返回结果 False。MyCheck = "a2a" Like "a#a"   数字与"#"匹配,返回结果True。MyCheck = "aM5b" Like "aL-P#!c-e"  字母"M"

33、;字与符集合L-P匹配,字母"b"与字符集合!c-e匹配,最后返回结果True。MyCheck = "BAT123khg" Like "B?T*"  字母"A"与"?"匹配,字符串"123khg"与"*"匹配,所以返回结果 True。注意:为了与左括号 ()、问号 (?)、数字符号 (#) 和星号 (*) 等特殊字符进行匹配,可以将它们用方括号括起来。不能在一个集合内使用右括号 () 与自身匹配,但在组外可以作为个别字符使用。六、运算符的优先级在

34、一个表式中进行若干操作时,每一部分都会按预先确定的顺序进行计算求解,称这个顺序为运算符的优先顺序。一般顺序如下:   函数运算算术运算连接运算关系运算逻辑运算。对于算术运算符、比较运算符和逻辑运算符,它们的优先级如下表,按照从左到右,从上到下优先级依次减小。 算术比较(关系)逻辑指数运算()相等(=)Not负数(-)不等(<>)And乘法和除法(*/)小于(<)Or整数除法()大于(>)Xor求模运算(Mod)小于或等于(<=)Eqv加法和减法(+-)大于或等于(>=)Imp字符串连接(&)Like  

35、0; Is 说明:当乘法和除法同时出现在表达式中时,每个运算也都按照它们从左到右出现的顺序进行计算。可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。但是,在括号之内,运算符的优先顺序不变。字符串连接运算符 (&) 不是算术运算符,但是,就其优先顺序而言,它在所有算术运算符之后,而在所有比较运算符之前。 Like和Is运算符的优先顺序与所有比较运算符都相同。上述操作顺序有一个例外,就是当幂和负号相邻时,负号优先。如4-2的结果是4的负2次方。七、例题2003.4月真题 (6)将数学表达式Cos2(a+b)+5e2写成Visual Basic的表达式,其正确的形式是 A)Cos(a+b)2十5*exp(2) B)Cos2(a+b)+5*exp(2) C)Cos(a+b)2十5*ln(2) D)Cos

温馨提示

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

评论

0/150

提交评论