Visual FoxPro表达式和运算符

来源 :金色年华·下半月 | 被引量 : 0次 | 上传用户:shan12
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:Visual FoxPro提供了多种运算符,算术运算符用于对数值型数据进行算术运算。字符运算符用于连接两个字符型数据。关系运算符用于对字符型、数值型或日期型数据进行比较运算。逻辑运算符用于对逻辑型数据进行运算。用运算符把常量、变量和函数连接起来构成的有意义的式子称为表达式。表达式值的数据类型决定了表达式的类型。常用的表达式有数值型表达式、字符型表达式和逻辑型表达式。
  关键词:运算符 表达式 优先级 数据类型匹配
  
  表达式的概念
  表达式是Visual FoxPro命令和函数的重要组成部分,是由常量、变量、函数用运算符连接而成的有意义的式子。
  各种运算符及相关表达式
  1.算术运算符:算术运算符用于进行算术运算,连接起来的表达式称为算术表达式,结果是一个数值。如下表:
   例:将(55+9×5)÷2写成Visual FoxPro算术表达式。
  我们在命令窗口输入并执行下列:
  ?(55+9*5)/2 &&结果可以口算,是50
  例:计算2+5*3**2-15/5-2*17%5时,Visual FoxPro按如下顺序进行计算:
  ①先算乘方3**2,得到2+5*9-15/5-2*17%5
  ②再算乘、除,得到:2+45-3-34%5
  ③再算求余,得到:2+45-3-4
  最后算加、减,得到表达式的值为40。
  由上例可知,算术运符的优先级别和我们数学中的算术运算级别是相同的,优先级从高到低为:**、^→*、/、%→+、-,即先进乘方、乘与除、求余、加与减,同级运算从左到右依次运算。
  2.字符运算符:用于字符串连接运算,结果是一个新的字符串,如下表:
  例:在命令窗口输入执行以下:
   a="abc " &&abc后面有两个空格
   b="def " &&def后面有两个空格
   c="ghi"
   ?a+b+c &&完全连接,下行是运行结果
   abc def ghi
   x=a-b- c ?x&&下行是结果
   abcdefghi&&字符串后面有四个空格
  ?”am”$”I am a student”&&屏幕显示:.T.
  ? ”Am”$”I am a student”&&屏幕显示:.F.
  3.日期运算符:用于进行日期运算,如下表
  日期运行符无优先级
   例1:计算香港回归距现在多少天。
   ?date()-{^1997-10-01} &&函数用于取得当前日期。
  如要把上例中的-号改为+时,?date()+{^1997-10-01},会出现错误提示,说明两个日期值是不能相加的。
  例2:计算距今天1000天的日期。
   ?date()+1000
  ?date()-1000
  4.关系运算符:用于进行关系运算,结果是逻辑值,如下表:
   例:输入并执行下列命令:
   a=1234 &&定义数值常量
   b=2345 &&定义数值常量
   ?a   .T. &&关系成立取真值
   ?a>b &&数值比较
   .F. &&关系不成立,取假值
   x="a" &&定义字符常量
   y="b" &&定义字符常量
   ?x>y &&比较a和b字符的ASCⅡ码
   .F. &&a和b的ASCⅡ码分别是97和98,关系不成立取逻辑假值
   ?"bc"$"abcd" &&比较$左边的字符串是否是其右边的字符串的子串
   .T. &&是其子串,取逻辑真值
   ?"ac"$"abcd" &&比较$左边的字符串是否是其右边的字符串的子串
   .F. &&不是其子串,取逻辑假值
   ?"abcd"="abc" &&比较等号右邊字符串是否是其左边字符串从首字符起的子串
   .T. &&是其子串,取逻辑真值
  ?"abcd"="bcd" &&比较等号右边字符串是否是其左边字符串从首字符起的子串
   .F. &&不是其子串,取逻辑假值
   ?"abcd"=="abc" &&字符串等长并完全相同比较
   .F. &&不等长取逻辑假值
  5.逻辑运算符:用于作表达式之间的逻辑运算,参加运算的表达式应有逻辑值。运算的结果是逻辑值,如下表:
  逻辑运算符的优先级:逻辑非→逻辑与→逻辑或
   例:y=.F. &&y的值为逻辑假
   ?.Not.y
   .T. &&对y值取反,结果为真
   a=3
   b=9
   ?a   .T.
   ?a   .T. &&两边都为真,结果为真
  设计表达式
  1.运算符的优先级
  一个表达式中可以有多种运算符。Visual FoxPro默认算术运算符和字符运算符的优先级高于关系运算符,关系运算符的优先级高于逻辑运算符。例:3*(21-4)>9+15/5 AND “abck”=“abc”,先算算术运算,式子变为51>12 AND “abck”=”abc”,再算比较运算,式子变为.T.AND.T.,最后算逻辑运算,运算结果为.T.。
  2.括号
  在Visual FoxPro的表达式中,可以使用括号改变运处的先后次序。括号只能使用圆括号(),且括号可以嵌套,即括号内可以再用圆括号。如果表达式含有括号,就先算括号内的。越是内层的括号,其优先级越高。例如,表达式100-(5*(2+3)-15)/5中有括号,运算时先计算最里层的括号(2+3),再计算外层的括号,这与数学上的运算顺序是一致的。
  3.数据类型匹配问题
  在数值型表达式、字符型表达式和逻辑型表达中,运算符两边的数据类型必须一致。如果运算符两边的数据类型不相同,Visual FoxPro将显示出错信息。例如,执行命令:?“李明的英语成绩是”=100Visual FoxPro将显示出错信息。出现错误的原因是运算符“+”两边的数据类型不相同。一个字符型数据与一个数值数据是不能组成表达式的。
  总之,在使用Visual FoxPro中的表达式时,一是要注意不同类型运算符的优先级;二是注意相同类型运算符的优先级;三是要注意表达式中数据类型的匹配。最后还应经过大量的上机调试练习,才能做到游刃有余。
  
  参考文献:
  [1] VFP基础教程 3.4 表达式和运算符 [EB/OL] . http://www.educity.cn/help/VF/200908031435131247.htm.2009-08-03.
  [2] 周察金.数据库应用基础——Visual FoxPro [T].高等教育出版社.2006年. 5-6.
其他文献
摘 要: 苏霍姆林斯基说:“当知识与积极的活动紧密联系在一起的时候,学习才能成为孩子们精神生活的一部分。”体验学习是在新课改理念下产生的一种教育思想,它充分展现了以人为本的教育理念:通过让学生参与知识的获得过程、参与思维的形成过程、参与问题的解决过程;使学生在体验中思考,在思考中创造,在创造中发展;使他们的情感、态度和价值观得到充分的发展。在教学中,使学生体验到了数学的精彩、探究的快乐、成功的喜悦
阅读是获取知识的重要手段。学生在学校主要是通过老师引导学习书本知识。阅读方法的掌握与否,直接影响获取知识的质与量。同时,阅读也是一种较复杂的智力活动,学生在阅读过程中,如果能够运用合理的方法,随着阅读去进行分析、综合、判断、推理、抽象、概括等思维活动,则对于他们的智力发展有着十分重要的意义。然而,合理的阅读方法,并不是天然形成的,而是在阅读实践中,经过不断地积累和总结逐步形成的。在这个形成的过程中
目的 探讨屋尘螨Der p7基因的克隆表达、纯化及过敏原性分析.方法 逆转录聚合酶链式反应(RT-PCR)扩增屋尘螨Der p7基因,经酶切、连接后转化大肠杆菌,挑取阳性单克隆菌落,扩增
《义务教育语文课程标准》中要求,初中生能“阅读浅易文言文,能借助注释和工具书理解基本内容”。但许多学生则感到文言文晦涩难懂,学起来枯燥乏味,视文言文学习为畏途。分析其中的原因,其重要的一点是文言实词掌握太少,而文言文中的大部分实词又是古今义差别甚远,有时还会出现一些生冷的实词,学生学习的难度就更大了;其次,不少教师在讲解文言文时怕有闪失,多是照搬教学参考资料,不敢进行触类旁通,常常忽略课堂艺术,课
摘 要:设计阶段的造价控制看似简单,其实也并不简单,整个控制过程也是一个系统工程。但它也并不是高不可攀。只要我们充分认识设计阶段的造价控制是关键,创造适宜的条件,合理确定目标,采用科学的方法,就一定能搞好设计阶段的造价控制。  关键词:工程项目 设计阶段 造价控制  优化设计对于现代工程项目来说是必不可少的,没有经过优化设计的工程项目往往存在功能设计不合理、图纸质量差、专业设计矛盾、返工、停工,甚
英语教学要达到交际化的目的,必须使学生进行反复地操练与练习。然而,传统的教学仍局限在师问生答、生问师答等单调的模式中,而小学生年龄较小,自控能力差,他们的注意力无法长时间地集中在此类操练上。鉴于这种现状,联系所教学生的实际,我在教学中注重引导学生开展大量形式多样的合作学习,以此激发学生学习英语的兴趣, 英语学习是一个合作互动学习的过程。在谈孩子的一般性发展时,皮亚杰认为,孩子所接受的社交互动的质量
如何提高学生的语文学习兴趣,如何解决语文教育中长期存在的效率低下的问题,如何让学生实现从苦学到乐学的转变,如何让语文学习真正融入学生的生活,成为其生命成长过程中的一
本文通过对荣华二采区10
期刊
偏头痛是一种常见的原发性头痛病症,且大多为偏侧头痛,头痛时间不定,一般为4到12个小时之间,同时伴有恶心、呕吐等症状.在这种情况下患者可以在安静的环境中,让患者通过适当
期刊
本文通过对学前教育中舞蹈专业教学中存在的问题为依据,探讨创新学前教育舞蹈专业教学的途径,越来越多的家长重视学生的舞蹈学习,而新型的舞蹈教学模式也正在一点点的被接纳