考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Visual FoxPro > VF辅导 > 文章内容
  

计算机等级考试二级VFP辅导讲义:数据与数据运算

中华IT学院   【 】  [ 2017年6月18日 ]

  (2).字符表达式

  字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。字符运算的对象是字符型数据对象,运算结果是字符常量或逻辑常量。"+"与 "-"都是字符连接运算符,都将两字符串顺序连接,但“+”是直接连接,“-”则将串1尾部所有空格移到串2尾部后再连接;“$”运算实质上是比较两个串的包含关系,因此有些书籍中将其归于关系运算,其作用是比较、判断串1 是否为串2的子串,如果串1是串2的子串,运算结果为“真”,否则为“假”。所谓子串,如果串1中所有字符均包含在串2中、且与串1中排列方式与顺序完全一致,则称串1为串2的子串。

  表 字符运算符

  运算符 功能 表达式举例 运算结果

  + 串1+串2:两串顺序相连接 ’12 ‘+’56’ ’12 56’

  - 串1-串2:串1尾空格移到串2尾

  后再顺序相连接 ’12 ‘-‘56’ ‘1256 ‘

  $ 串1$串2:串1是否为串2子串 ‘1234’$ ‘12345’ .T.

  ‘ 1234’$‘34512’ .F.

  两个连接运算的优先级别相同,但高于$的比较运算。

  例: LEN1=”Visual FoxPro6.0 ” LEN2=”数据库教程” ?

  LEN1+LEN2 &&结果为:Visual FoxPro6.0 数据库教程 ?

  LEN1-LEN2 &&结果为:Visual FoxPro6.0数据库教程

  ? len(LEN1-LEN2) && 结果为:28

  (3).日期表达式

  由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式。日期运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少一个天数,在日期时间数据上增加或减少一个秒数。两个运算的优先级别相同。

  日期时间操作符有:

  +:添加一个天数或秒数

  -:减少一个天数或秒数

  例如:

  ? {^2003-09-04}+10 &&结果为:09/14/03

  ? {^2003-11-30}-15 &&结果为:11/15/03

  ? {^2003-08-04 10:10a}+10 &&结果为:08/04/03 10:10:10 AM

  ? {^2003-08-04 10:35p}-10 &&结果为: 08/04/03 10:34:50 PM

  注意:日期和日期、日期时间和日期时间只能相减,不能相加。(p64)

  (4).关系表达式

  由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。关

  系表达式的值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。

  表 关系运算符

  运算符 功能 表 达 式举例 结果

  < 小于 15<4*6 .T.

  > 大于 ‘A’ > ‘1’ .T.

  = 等于 2+4 = 3*5 .F.

  <>、#、!= 不等于 5 <> -10 .T.

  关系运算符的优先级别相同。关系表达式运算时,就是比较同类两数据对象的“大小”,对于不同类型的数据,其“大小”或者是值的大小,或者是先后顺序。日期或日期时间数据以日期或时间的先后顺序为序。在Visual FoxPro系统中,字符型数据的比较相对复杂,默认规则为:

  1)单个字符

  单个字符的比较是以字符ASCII码的大小,作为字符的“大小”,也就是先后顺序;

  2)汉字

  系统默认按汉字的拼音排列汉字的顺序,也就是以汉字的拼音顺序比较“大小”

  3)字符串

  两个字符串进行比较的基本原则是从左到右逐个字符进行比较。

  当两串做“==”和“=”比较时,运算结果与SET EXACT ON/OFF的设置有关。默认是OFF状态。

  ● 精确比较:用运算符==进行两串的精确比较时,只有当两串长度相同,字符相同,排列一致时才成立;(EXACT ON或OFF)

  ● 相等比较:用运算符=进行两串比较,当处于OFF状态时,只要右边的字符串与左边字符串的前部分内容相匹配,结果就为真.T.。例如:“abc”=“abd”为假, “abc”=“abcde”为假,“abcde”=“abc”为真;当处于ON状态时,先在较短字符串的尾部加上若干个空格,使两个字符串长度相等,然后再进行比较。例如: “abc”=“abcde”为假,“ab”=“ab ”为真;

  ● 大小比较:用运算符< 或 >进行两串比较时,比较到第1个不相同字符为止,否则,长度较长的串较“大”;

  ● 其他比较:除上述运算符之外的其他运算符<>、<=和>=的比较,均可看作是两个运算符以逻辑“或”的关系构成的复合运算;

  (5).逻辑表达式

  由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。表为逻辑运算符的功能。逻辑运算符前后一般要加圆点“.”标记,以示区别。

  表 逻辑运算符

  运算符 功能 优先级别

  ( ) 圆括号 最高

  .NOT.或! 逻辑非

  .AND. 逻辑与

  .OR. 逻辑或 最低

  对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,表所示就是逻辑运算真值表。

  表 逻辑运算真值表

  A B A .AND.B A .OR. B .NOTA

  T T T T F

  T F F T F

  F T F T T

  F F F F T

  例如:

  ?17>33 .AND.”A”<”a” && 值为.F.?

  17>13 .or."A"<"a" .and..not..t. && 值为.T.

  例 题

  1.在命令窗口中输入下列命令:

  x=1

  STORE x+l TO a,b,c

  ? a,b,c

  主屏幕上显示的结果是____。

  A.1

  B.1 1

  C.2 2 2

  D.1 1 1

  [解析] 本题考查的知识点是内存变量赋值命令“ST0RE<表达式>To<内存变量名>”的使用。STORE命令可以将同一个表达式的值应该赋与多个内存变量。本题根据输入的命令,可以看出是将表达式分别赋与a,b和c三个内存变量,因此显示的结果也应用是3个值,此时排除选项A,B。再看前提,已知x=1,命令中的表达式为x+1,因此应该赋与3个内存变量的值一定为2。因此正确答案为C。

  [答案] C

  2.在命令窗口中输入下列命令:

  m=”发展口口口”

  n="生产力"

  ?m-n

  主屏幕上显示的结果是____。

  A. 发展口口口生产力 B.发展生产力口口口

  C.m,n D.n,m

  [解析]本题考查的知识点是字符串运算符的使用。题目中“发展”后的空余部分表示空格。在VisualFoxPro中,字符串运算符有两个:十和—。 “十”表示前后两个字符串首尾连接形成一个新的字

  符串; “—” 连接前后两个字符串,并将前后字符串的尾部空格移到合并后的新字符串尾部。本题用“—”作为连接符,前一个字符(即m)尾部的空格应该移到合并后的新字符串尾部,因此结果中的空格都应该移到字符串的尾部,选项A中结果的空格在字符串中间,所以不正确,因此正确答案为B。

  [答案] B

  3.已知x=8,y=5,z=27,求表达式x^3/4+6*y-7*2+(4+z/9)^2的值为____。

  A.88 B.100

  C.72 D.193

  [解析]本题考查的知识点是算术表达式的运算优先级。在Visual FoxPro中,算术运算符的运算优先级是:先算括号中的部分,再算**或^(乘方),再算*(乘)、/(除)、%(“取模”),再算(加)、—(减)。

  将已知数代入表达式中,计算过程如下:

  x^3/4+6*y-7*2+(4+z/9)^2

  =8^3/4+6*5-7*2+(4+27/9)^2

  =8^3/4+6*5-7*2+7^2

  =128+30-14+49

  =193

  [答案]D

  4.关系表达式中关系运算符的作用是____。

  A.比较两个表达式的大小

  B.计算两个表达式的结果

  C.比较运算符的优先级

  D.计算两个表达式的总和

  [解析] 本题考查的知识点是关系表达式中关系运算符的作用。在Visual FoxPro中,关系运算符有大于(>)、小于(<等于(=)、不等于(<>、#、!=)、小于等于(<=)、大于等于(>=)、字符串精确比较(==)、包含测试( $),其作用是比较两个表达式的大小和结果,其运算结果是逻辑型数据。选项B,C,D的说法都错误,因此正确答案为A。

  [答案] A

  5.关系型表达式的运算结果是____。

  A.数值型数据 B. 逻辑型数据

  C.字符型数据 D.日期型数据

  [解析] 本题考查的知识点是关系型表达式的运算结果。在Visual FoxPro中,关系型表达式的作用是比较两个表达式的大小或前后,其结果只有两种情况:逻辑真或逻辑假。关系型表达式的运算结果不可能是数值型数据、字符型数据、日期型数据,而只能是逻辑型数据。因此正确答案为B。

  [答案] B

  6.数组是____,它由一系列____组成,每个数组元素可通过____及相应的下标来访问。

  [解析] 本题考查的知识点是数组的概念。在Visual FoxPro中,数组是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。

  [答案]内存中连续的一片存储区域 元素 数组名

  7.在Visual FoxPro中,只可以使用____和____数组,数组必须先____后____。

  [解析] 本题考查的知识点是Visual FoxPro支持的数组及使用数组的前提。Visual FoxPro只支持一维数组和二维数组,数组必须先定义后使用。

  [答案] 一维数;二维数;定义;使用

  8.根据表达式值的类型,表达式可分为____、____、____、____;大多数____表达式是带比较运算符的关系表达式。

  [解析] 本题考查的知识点是表达式的类型。根据表达式值的类型,表达式可分为数值表达式、字符表达式、日期时间表达式和逻辑表达式。大多数逻辑表达式是带比较运算符的关系表达式;

  [答案] 数值表达式、字符表达式、日期时间表达式、逻辑表达式;逻辑

  9.数值表达式由____构成,其运算结果是____型数据。

  [解析] 本题考查的知识点是数值表达式的概念。在Visual FoxPro中,数值表达式由算术运算符将数值型数据连接起来构成。其运算结果仍然是数值型数据。本题是概念性知识,需要记忆。

  [答案] 数值型数据和算术运算符 数值

  10.在Visual FoxPro中,算术运算符有多种,按优先等级排列,依次为____、____、____、____。

  [解析] 本题考查的知识点是算术运算符及优先等级。在Visual FoxPro中,算术运算符共有6种,按优先等级排列,依次为①括号(形成表达式内的子表达式)②乘方( ^或**)③乘(x)、除(/)、取模(%)④加(+)、减(-)。

  [答案] ①括号(形成表达式内的子表达式) ②乘方(^或%)③乘(x)、除(/)、求余(%) ④加(+)、减(-)

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved