您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
全国计算机等级考试二级VF考点分析之数据与数据运算
http://www.educity.cn 作者:希赛 来源:希赛 2006年8月8日 发表评论 进入社区

全国计算机等级考试二级VF历年试题合集含答案(CHM文件下载)>>

3.1 常量与变量

考点1 常量

  常量用以表示一个具体的、不变的值。不同类型常量的书写格式不同。在Visual FoxPro中,常量主要包括以下几种类型。
  1数值型常量
  数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点和正负号组成。
  2货币型常量
  货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。
  3字符型常量
  字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。这里的单引号、双引号或方括号称为定界符许多常量都有定界符。定界符虽然不作为常量本身的内容,但它规定了常量的类型及常量的起始和终止界限。
  4日期型常量
  日期型常量的定界符是一对花括号。花括号内包括年、月、日3部分内容,各部分内容之间用分隔符分隔。
  5日期时间型常量
  日期时间型常量包括日期和时间两部分内容:{<日期>,<时间>}。<日期>部分与日期型常量相似,也有传统的和严格的两种格式。
  6逻辑型常量
  逻辑型数据只有逻辑真和逻辑假两个值。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用1字节。

考点2 变量

  Visual FoxPro中变量分为字段变量和内存变量二其中字段变量就是表中的字段。内存变量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。内存变量的数据类型包括:字符型(C)、数值型(N)、货币型(Y)、日期型(D)、日期时间型(T)和逻辑型(L)。
  1简单的内存变量
  每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M->),否则系统将访问同名的字段变量。
  2数组
  与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令显示创建,规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为1。在使用数组和数组元素时,应注意如下问题。
  (1)在一切使用简单内存变量的地方,均可以使用数组元素。
  (2)在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。
  (3)在同一个运行环境下,数组名不能与简单变量名重复。
  (4)在赋值语句中的表达式位置不能出现数组名。
  (5)可以用一维数组的形式访问二维数组。

考点3 内存变量常用命令

  1内存变量的赋值
  格式1:<内存变量名>=<表达式>
  格式2:STORE<表达式>TO<内存变量名表>
  2表达式值的显示
  格式1:?<表达式表>
  格式2:??<表达式表>
  3内存变量的显示
  格式1:LIST MEMORY[LIKE<通配符>][TO PRINTER!TO FILE<文件名>]
  格式2:DISPLAY MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>]
  4内存变量的清除
  格式1:CLEAR MEMORY
  格式2:RELEASE<内存变量名表>
  格式3:RELEASE ALL[EXTENDED]
  格式4:RELEASE ALL[LIKE<通配符>|EXCEPT<通配符>]
  5表中数据与数组数据之间的交换
  将表的当前记录复制到数组。
  格式1:SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK]
  格式2:SCATTER[FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>][MEMO]TO<数组名>[BLANK]
  将数组数据复制到表的当前记录。
  格式1:GATHER FROM<数组名>[FIELDS<字段名表>][MEMO]
  格式2:GATHER FROM<数组名>[FIELDS LIKE<通配符>|FIELDS EXCE<通配符>][MEMO]

小提示:
  如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在内存变量名前加上前缀M.(或M->),否则系统访问的将是同名的字段变量。

3.2 表达式

  考点4 数值、字符与日期时间表达式
  1数值表达式  
  (1)算术运算优先级。数值表达式中的算术运算符有些与日常使用的运算符稍有Lx=别,算术运算符及其含义和优先级如表3-1所示。
             表3-1 算术运算符及其优先级


 
  (2)求余运算。求余运算%和取余函数MOD()的作用相同。余数的正负号与除数一致当表达式中出现*、/和%运算时,它们具有相同的优先级。
  2字符表达式
  由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据字符型数据只能进行两种运算(+、-),它们的优先级相同。
  “+”首尾连接前后两个字符串形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部
3日期时间表达式
  日期时间表达式中可以使用的运算符也有“+”和“-”两个,其格式也有一定的限制,不能任意组合,如不能用运算符“+”将两个<日期>连接起来。

考点5 关系表达式

  1关系表达式
  关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来而形成的,即:<表达式><关系运算符><表达式>。关系运算符及其含义如表3-2所示,它们的优先级相同。
表3-2 关系运算符


 
  2设置字符的排序次序
  当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小
  3字符串精确比较与EXACT设置
  在用双等号运算符==比较两个字符串时,只有当两个字符串完全相同(包括空格及各字符的位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。

考点6 逻辑表达式

  1逻辑表达式
   逻辑运算符的运算规则如表3-3所示,其中<IEl>和<IE2>各代表两个逻辑型常量。
            表3-3 逻辑运算规则


 
  2运算符优先级
  .NOT.或!(逻辑非)、.AND.(逻辑与)、.OR.(逻辑或)依次降低。

小提示:
  表达式是指常量、变量、函数或由它们通过特定的运算符连接起来的式子。

3.3 常用函数

考点7 数值函数

  数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。
  1绝对值和符号函数
  格式:ABS<数值表达式>)
  SIGN(<数值表达式>)
  功能:ABS()返回指定的数值表达式的绝对值。SIGN()返回指定数值表达式的符号。
  2求平方根函数
  格式:SQRT(<数值表达式>)
  功能:返回指定表达式的平方根,表达式的值不能为负。
  3圆周率函数
  格式:PI()
  功能:返回圆周率二,该函数没有自变量。
  4求整数函数
  格式:INT(<数值表达式>)
          CEILING(<数值表达式>)
          FLOOR(<数值表达式>)
  功能:INT()返回指定数值表达式的整数部分。CEILING()返回大于或等于指定数值表达式的最小整数。FLOOR()返回小于或等于指定数值表达式的最大整数。
5四舍五入函数
  格式:ROUND(<数值表达式I>,<数值表达式2>)
  功能:返回<数值表达式I>在指定位置四舍五入后的结果,<数值表达式2>指明四舍五入的位置。若<数值表达式2>大于等于0,表示的是要保留的小数位,若小于。,则表示整数部分的舍入位数。
  6求余数函数
  格式:MOD(<数值表达式1>,<数值表达式2>)
  功能:返回两个数相除后的余数。余数的正、负号与除数相同。如果被除数与除数同号,则函数值为两数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值。
  7求最大值和最小值函数
  格式:MAX(<数值表达式1>,<数值表达式2>[,<数值表达式3>…])
          MIN(<数值表达式1>,<数值表达式2>[,<数值表达式3>…])
  功能MAX()返回自变量中的最大值。MIN()返回自变量中的最小值。

考点8 字符函数

  1求字符串长度函数
  格式:LEN(<字符表达式>)
  功能:返回指定字符表达式值的长度,即字符个数。
  2大小写转换函数
  格式:LOWER(<字符表达式>)
          UPPER(<字符表达式>)
  功能:LOWER()将指定表达式中的大写字母转换成小写字母,其他字符保持不变;UPPER()将指定表达式中的小写字母转换成大写字母,其他字符保持不变。
  3空格字符串生成函数
  格式:SAPCE(<数值表达式>)
  功能:返回由指定数目的空格组成的字符串。
  4侧除前后空格函数
  格式:TRIM(<字符表达式>)
          LTRIM(<字符表达式>)
          ALLTRIM(<字符表达式>)
  功能:TRIM()删除指定表达式尾部的空格。LTRIM()删除指定表达式前端的空格。ALLTRIM()删除指定字符串前端和尾部的空格。
  5取子串函数
  格式:LEFT(<字符表达式>,<长度>)
        RIGHT(<字符表达式>,<长度>)
        SUBSTR(<字符表达式>,<起始位置>[,<长度>])
  功能:LEFT()从指定表达式左端截取一个指定长度的子串作为函数值。RIGHT()从指定表达式右端载取一个指定长度的子串作为函数值。SUBSTR()从指定表达式指定位置截取一个指定长度的子串作为函数值,若默认<长度>,则截取的子串表示从指定位置开始一直到字符串尾部。
  6计算子串出现次数函数
  格式:OCCURS(<字符表达式1>,<字符表达式2>)
  功能:返回第一个字符串在第二个字符串中出现的次数。
  7求子串位置函数
  格式:AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])
        ATC(<字符表达式1>,<字符表达式2>[,<数值表达式>])
  功能:AT()返回第一个字符串的首字符在第_二个字符串中出现的位置。前提条件是第一个字符串必须是第二个字符串的子串,否则函数返回值为0。ATC()功能与AT()类似,但不区分字符串中字符的大小写。
  8子串替换函数
  格式:STUFF<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)
  功能:用<字符表达式2>的值替换<字符表达式I>中由<起始位置>和<长度>指定的一个子串。
  9字符替换函数
  格式CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)
  功能:该函数的自变量是三个字符表达式。当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,应用第三个字符串中的对应字符(相同位置)替换这些字符如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因为没有对应字符,那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符将被忽略。
  10字符串匹配函数
  格式:LIKE(<字符表达式I>,<字符表达式2>)
  功能:比较两个字符串对应位置_L的字符。其中<字符表达式1>中可包含通配符*和?。*表示若干个任意字符,?表示任意一个字符。

考点9 日期和时间函数

  1系统日期和时间函数
  格式:DATE()
          TIME()
          DATETIME()
  功能:DATE()返回当前系统日期,函数值为日期TIME()以24小时制返回当前系统时间,函数值为字符型;DATETIME()返回肖前系统日期时间,函数值为日期时间型。
  2求年份、月份和天数的函数
  格式:YEAR(<日期表达式>|<日期时间表达式>)
          MONTH(<日期表达式>|<日期时间表达式>)
        DAY(<日期表达式>|<日期时间表达式>)
  功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份。MONTH()从指定的日期表达式或日期时间表达式中返回月份DAY()从指定的日期表达式或日期时间表达式中返回月份的天数。这3个函数的返回值均为数值型数据
  3求时、分和秒的函数
  格式:HOUR(<日期时间表达式>)
          MINUTE(<日期时间表达式>)
          SEC(<日期时间表达式>)
  功能:HOUR()从指定的日期时间表达式中返回小时部分(24小时制)。MINUTE()从指定的日期时间表达式中返回分钟部分。SEC()从指定的日期时间表达式中返回秒钟部分。

考点10 数据类型转换函数

  数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。
  1数值转换成字符串函数
  格式:STR(<数值表达式>[,<长度>[,<小数位数>]])
  功能:将<数值表达式>的值转换成字符串,转换时根据需要自动四舍五入。
  2字符串转换成数值函数
  格式:V AL(<字符表达式>)
  功能:将由数字符号(包括符号、小数点)组成的字符型数据转换成相应的数值型数据。
  3字替串转换成日期或日期时间函数
  格式:CTOD(<字符表达式>)
          CTOT<字符表达式>)
  功能:CTOD()将<字符表达式>转换成日期型数据CTOT()将<字符表达式>转换成日期时间型数据。
  4日期或日期时间转换成字符串函数
  格式:DTOC(<日期表达式>|<日期时间表达式>[,1])
          TTOC(<日期时间表达式>[,1])
  功能:DTOC()将日期型数据或日期时间型数据的日期部分转换成字符串。TTOC()将日期时间型数据转换成字符串。
   5宏替换函数
  格式:&<字符型变量>[.]
  功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与其后面的字符无明显分界,则要用“.”作为函数结束标识宏替换可以嵌套使用。

考点11 测试函数

  1值域测试函数
  格式:BETWEEN(<表达式1>,<表达式2>,<表达式3>)
  功能:判断一个表达式的值是否介于其他两个表达式的值之间。
  2空值(NULL)测试函数
  格式:ISNULL(<表达式>)
  功能:判断一个表达式的运算结果是否为NULL值。
  3“空”值测试函数
  格式:EMPTY(<表达式>)
  功能:略。
  4数据类型测试函数
  格式:VARTYPE(<表达式>[,<逻辑表达式>])
  功能:测试表达式的类型,返回一个大写字母,函数值为字符型。字母含义如表3-4所示。
         表3-4  VARTYPE()测得的数据类型


 
  5表文件尾测试函数
  格式:EOF([<工作区号>|<表别名>])
  功能:测试当前表文件(若默认自变量)或指定表文件中的记录指针是否指向文件尾,若是,则返回逻辑真(.T.),否则为逻辑假(.F.)。若在指定工作区上没有打开表文件,则函数返回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)。
  6表文件首测试函数
  格式:BOF([<工作区号>|<表别名>])
  功能:测试当前表义件(若默认自变量)或指定表文件中的记录指针是否指向文件首,若是,则返回逻辑真(.T.),否则为逻辑假(.F.)(若在指定工作区上没有打开表文件,则函数返回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)。
  7记录号测试函数
   格式:RECNO([<工作区号>|<表别名>])
  功能:返回当前表文件(若默认自变量)或指定表文件中当前记录的记录号。如果指定工作区上没有打开表文件,则函数值为0;如果记录指针指向文件尾,则函数值为表文件中的记录数加1;如果记录指针指向文件首,则函数值为表文件中第一条记录的记录号。
  8记录个数测试函数
  格式:RECCOUNT([<工作区号>|<表别名>])
  功能:返回当前表文件(若默认自变量)或指定表文件中的记录个数。如果指定工作区上没有打开表文件,则函数值为0, RECCOUNT)函数不受删除标记及SET DELETED设置的影响,同样测试表中所有的记录个数。
  9条件测试函数
  格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>)
  功能:测试<逻辑表达式>的值,若为逻辑真(.T.),则函数返回<表达式1>的值,否则返回<表达式2>的值<表达式1>和<表达式2>的类型可以不相同。
  10记录删除测试函数
  格式:DELETED([<工作区号>|<表别名>])
  功能:测试当前表文件(若默认自变量)或指定表文件中,记录指针所指的当前记录是否有删除标记“*”。若有,则为真,否则为假。