




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 2 1常量与变量2 2表达式2 3常用函数2 4程序与程序文件2 5程序的基本结构2 6多模块程序设计 第2章VF程序设计基础 2 3 数据类型字符型 C 数值型 N 日期型 D 逻辑型 L 备注型 M 通用型 G 货币型 Y 等 2 1常量与变量2 1 1常量常量的类型 N C D T L Y等 4 1 数值常量的指数表示法 例 13亿普通表示为 1300000000指数表示法为 1 3e90 000000089指数表示法为 8 9e 82 字符串常量的定界符为 下列字符型常量的表示中 错误的是 A 65 13 B 电脑商情 C x y D 中国 5 3 日期常量系统默认的日期输出格式为 MM DD YY严格的日期输入格式为 YYYY MM DD 4 逻辑常量 t 或 y 和 f 或 n 日期格式的设置命令 1 SETMARKTO 系统默认是 2 SETDATETO 系统默认是 AMERICAN 3 SETCENTURYON OFF系统默认是 2位数字显示年份 6 2 1 2变量1 字段变量字段变量是属于数据表之中的多值变量 字段变量的当前值即为当前记录的对应字段值 而记录指针所指记录为当前记录 字段变量的类型 C N D L M G等 7 内存变量的类型 C N Y L D T等 2 内存变量内存变量是通过命令或程序中临时定义的独立于数据表而存在的变量 变量名以字母 汉字和下划线开头 后接字母 数字 汉字和下划线构成 例 下列选项中 不能作为VisualFoxPro中变量名的是A abcB abc123C 123abcD abc 123 8 内存变量的赋值 STORETO 1 赋值号 与数学中的等号不同 如赋值语句 S S XN N 1 2 变量的类型取决于值的类型 3 该语句不能给字段变量赋值 以下赋值语句正确的是 A STORE8TOx yB STORE8 9TOx yC x 8 y 9D x y 8 9 表达式值显示命令 a b c d e 例 A 1234B 1234 C DATE D 5 6E 1234AA 5678ABC AA ASTORE0TOA1 A2 A3 10 DISPMEMO 变量名 变量的类型 变量的属性 变量的值 内存变量的显示 DISPMEMO LIKE 11 DISPMEMOLIKEA 仅显示以A开头的变量 例 语句LISTMEMORYLIKEa 能够显示的变量不包括 A aB a1C ab2D ba3 12 3 数组变量 定义数组 DIMENSION Nexp1 Nexp2 Nexp1 DECLARE Nexp1 Nexp2 Nexp1 例 DIMEX 4 Y 2 3 数组的赋值整个数组的数据类型为数组型A 初值为逻辑假 各个数组元素可以是不同类型的数据 13 仅定义数组时 每个元素的初值均为逻辑假 14 例 X 0 X数组所有元素均为数值0 Y 1 1 123 Y数组第一个元素值为数值123Y 2 1 123 Y数组第二行一列元素值为字符串 123 Y 5 2004 9 6 12 Y数组第5元素 Y 2 2 值为日期值Y 2 3 Y 1 1 12 Y数组第二行三列元素为数值111 15 16 2 2表达式2 2 1 数值 字符与日期时间表达式1 数值表达式运算符 参加运算的量只能是数值型 表达式的值也是数值型 2 字符表达式运算符 参加运算的量只能是字符型 表达式的值也是字符型 17 例2 设Q1 ABC Q2 EFG 则表达式Q2 Q2 Q1的值为 A ABC B ABCC EFGEFG ABC D EFGEFG ABC 例1 执行以下命令序列 表示空格 最后一条命令的执行结果是 s1 计算机 s2 二级等级考试 s1 s2 len s1 s2 s1 s2 len s1 s2 18 3 日期时间表达式 例 下列表达式中 运算结果为数值型的正确表达式是A DATE TIME B DATE 30C DATE CTOD 01 01 98 D DATE DTOC DATE 19 2 2 2 关系表达式1 关系运算符 参加运算的量可以是数值型 字符型及日期型 表达式的值是逻辑型 数值型数据以其值的大小进行比较 键盘字符以其ASCII码值的大小进行比较 汉字是以其 拼音 内码 笔画 进行比较 这两种运算 参加运算的量只能是字符型表达式 20 七位ASCII编码表 b7b6b5 b4b3b2b1 0000000100100011010001010110011110001001101010111100110111101111 NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS 空格 0123456789 ABCDEFGHIJKLMNO PQRSTUVWXYZ abcdefghijklmno pqrstuvwxyz DEL 000 001 010 011 100 101 110 111 21 例 A a 处长 科长 3 字符串精确比较与EXACT设置 运算 当EXACT开关处于常态 OFF 时 号右边的字符串 位 与 号左边的前 位字符相等 则表达式值为真 例 会计电算化 会计 会计 会计电算化 管理会计 会计 T F F F F 例 令X 2 X X 1输出结果是 A 3B 命令语法错C T D F 当EXACT开关ON时 先在较短的字符串的尾部加上若干空格使两字符串长度相等 再精确比较 22 运算 当 号左边字符串包含在 号右边字符串之中 则表达式的值为真 例 会计电算化 会计 会计 会计电算化 会计 管理会计 例 LISTFORXM 杨 将显示出数据表中所有姓 杨 的人的记录 F T T 例 LISTFOR 杨 XM将显示出数据表中所有名字中带 杨 的人的记录 运算 与EXACT开关的状态无关 只有 号两边字符串完全相等 表达式值才为真 23 2 2 3 逻辑表达式AND 与 OR 或 NOT 非 与运算 参加运算的量全为真 表达式的值才为真 AND B真值表 24 表达式 0 150只能表示成 X 0 AND X 150 特别提示 或运算 参加运算的量只要有一个为真 表达式的值就为真 OR B真值表 25 例 表示基本工资在500及1000之间的表达式 JBGZ 500 AND JBGZ1000例 表示40岁以上具有高级职称的女教师的逻辑表达式年龄 40 AND 性别 女 AND 职称 副教授 OR 职称 教授 例 下面表达式是的含义是什么 年龄 40 AND 性别 女 AND 职称 副教授 OR 职称 教授 表示40岁以上的女副教授以及所有的正教授 26 2 2 4 运算符优先级 乘方 负号 乘 除 求余 加 减 算术运算符 逻辑运算符 Not 逻辑非 And 逻辑与 Or 逻辑或 27 数值处理函数ABS Nexp SIGN Nexp SQRT Nexp PI INT Nexp ROUND Nexp1 Nexp2 MOD Nexp1 Nexp2 MAX Nexp1 Nexp2 MIN Nexp1 Nexp2 分别为绝对值函数 符号函数 平方根函数 圆周率函数 取整函数 四舍五入函数 取余数函数 求最大值函数 最小值函数 常用函数 28 例 X 3 9 SIGN x SIGN x INT x INT x Int x y x yX能被Y整除的判别式 例 X 25Y 7 MOD x y X Y 0或mod x y 0X能被Y整除的判别式 例 X 2567 5978 ROUND X 2 ROUND X 3 29 2 3 2字符函数 1 函数值为数值型的函数 LEN Cexp AT Cexp1 Cexp2 Nexp OCCURS Cexp1 Cexp2 例 A is B Thisisabook AT A B AT A B 2 OCCURS A B LEN B 36214 2 取子串函数SUBS Cexp Nexp1 Nexp2 LEFT Cexp Nexp RIGHT Cexp Nexp 30 3 产生与删除空格函数SPACE Nexp TRIM Cexp LTRIM Cexp ALLTRIM Cexp 例 字符串长度函数LEN SPACE 3 SPACE 2 的值是A 1B 5C 2D 3 例 表示空格 输出命令的结果是 LEN LTRIM ABCD A 4B 6C 7D 9 31 例 STRING 热爱大自然 SUBS STRING LEN STRING 2 4 4 A 热爱B 爱大C 大自D 自然 例 ANS STUDENT DBF MYFILE SUBS ANS 1 AT ANS 1 MYFILEA STUDENT DBFB STUDENTC STUDENT ANSD 11 32 2 3 3日期和时间函数 2 求年份 月份 周 星期和天数函数YEAR Dexp MONTH Dexp WEEK Dexp DOW Dexp DAY Dexp 函数值的类型均为数值型表达式 year date year 出生日期 计算年龄 1 系统日期和时间函数DATE TIME DATETIME 函数值的类型分别为 D C T 33 2 3 4数据类型转换函数LOWER Cexp 大写小写UPPER Cexp CHR Nexp ASC 码字符ASC Cexp STR Nexp Nexp1 Nexp2 数值字符 数字等 VAL Cexp DTOC Dexp 1 日期字符CTOD Cexp 34 假设系统日期为2003年5月11日 dtoc date 返回字符串05 11 03 dtoc date 1 返回字符串20030511例 VAL 3 14159PI 0 356 3 498 例 X 12345 6789 STR X STR X 10 2 STR X 9 2 STR X 8 2 STR X 7 2 STR X 4 字符总位数 小数点位数 35 例 VAL SUBSTR P586 2 1 RIGHT STR YEAR DATE 2 3的计算结果是 假设系统日期为1997年5月28日 A 600B 5 1997C 600 00D 出错信息 字符串 20040913 字符串 d 字符串 124 数值8 例 下列选项中得不到字符型数据的是A DTOC DATE 1 B CHR 100 C STR 123 567 D AT 1 STR 3121 36 例 计算结果不是字符串 Teacher 的语句是 A at MyTeacher 3 7 B substr MyTeacher 3 7 C right MyTeacher 7 D left Teacher 7 例 下列函数返回类型为数值型的是 A STRB VALC DTOCD TTOC 例 设a 计算机等级考试 结果为 考试 的表达式是 A Left a 4 B Right a 4 C Left a 2 D Right a 2 例 下列程序段执行后 内存变量s1的值是 s1 network s1 stuff s1 4 4 BIOS A networkB netBIOSC netD BIOS 例 LEFT 12345 6789 LEN 子串 的计算结果是 1234 37 程序与程序文件程序的概念程序是能够完成一定任务的命令的有序集合 这组命令被存放在称为程序文件 prg 的文本文件中 命令注释 以 开头的命令行为注释行 命令行的后面也可加注释 这种注释以符号 开头 程序文件的建立 修改与运行建立与修改命令文件 MODICOMM执行命令文件 DO 38 程序的基本结构程序结构是指程序中的命令或语句执行的流程结构 顺序结构 选择结构和循环结构是程序的三种基本结构 39 语句格式 DOWHILE ENDDO 循环条件 命令组 ENDDO的下一条命令 Y N 流程图 循环体 循环结构 DoWhile循环语句 40 例 在test prg中第2条语句是错误的 修改该条语句 注意 只能修改该条语句 使得程序执行的结果是在屏幕上显示10到1 i 10DOi 1 ii i 1ENDDO i 10DOwhilei 1 ii i 1ENDDO 修改后 41 i 5DOWHILEi 1 ii i 1ENDDO 例 打开one prg文件 修改其中的一处错误 使得程序执行的结果是在屏幕上显示 54321注意 错误只有一处 文件修改之后要存盘 i 5DOWHILEi 1 ii i 1ENDDO 修改后 42 i 2DOWHILEi 10 ii i 1ENDDO 例 打开one prg文件 修改其中的一处错误 使得程序执行的结果是在屏幕上显示246810 注意 错误只有一处 文件修改之后要存盘 修改后 i 2DOWHILEi 10 ii i 2ENDDO 43 例 CLEARx 12345y 0DOWHILEx 0y y x 10 x INT x 10 ENDDO yRETURNA 54321B 12345C 15D 51 44 简单分支语句格式 IFENDIF 选择结构 条件 语句序列 ENDIF的下一条语句 N Y 流程图 45 例 给定 成绩学分 表 如图所示 其中前4项已有数据 请编写符合下列要求的程序 计算每一个学生的总学分并存入对应的学分字段 学分的计算方法是 物理60分以上 包括60分 2学分 否则0分 高数60分上 包括60分 3学分 否则0分 英语60分以上 包括60分 4学分 否则0分 要求用循环语句实现 46 问题1 xf 0可以置于循环之前吗 问题2 用一个Docase语句可否 问题3 repl语句可以带all短语吗 Use成绩学分ScanXf 0If物理 60Xf xf 2EndifIf高数 60Xf xf 3EndifIf英语 60Xf xf 4EndifRepl学分withxfEndscanreturn Use成绩学分Dowhilenoteof Xf 0If物理 60Xf xf 2EndifIf高数 60Xf xf 3EndifIf英语 60Xf xf 4EndifRepl学分withxfSkipEnddoreturn 47 SCAN循环语句语句格式 SCAN FOR ENDSCAN 循环体 48 流程图 指针是否指向文件尾 循环体 记录指针指向第一条记录 ENDSCAN的下一条命令 Y N 记录指针指向下一条记录 49 例 请修改并执行程序temp temp prg的功能是 根据 教师表 和 课程表 计算讲授 数据结构 这门课程 并且 工资 大于等于4000的教师人数 注意 只能修改标有错误的语句行 不能修改其他语句 39套 50 TOARRAYa 下句有错误OPEN教师表STORE0TOsum 下句两处有错误SCANOF课程号 aOR工资 4000 下句有错误sum 1ENDSCAN sum Use教师表 Sum sum 1 SCANfor课程号 aand工资 4000 intoARRAYa 51 选择分支语句格式 IFELSEENDIF Y N 流程图 条件 语句序列1 语句序列2 ENDIF的下一条语句 52 例 给定程序 表单 modi2 scx 其功能是请用户输入一个正整数 然后计算从1到该数字之间有几个偶数 几个奇数 几个被3整除的数 并分别显示出来 最后给出总数目 请修改并调试该程序 使之正确运行 改错要求 在 计算 按钮的单击事件的程序中共有3处错误 请修改 found 下面的错误 必须在原来位置修改 不得增加或删减程序行 其中第一行的赋值语句不许减少或改变变量名 在 退出 按钮下有一处错误 该按钮的功能是关闭并释放表单 27套 53 found x s1 s2 s3 0 found x thisform text1 dowhilex 0ifint x 2 x 2s1 s1 1elses2 s2 1endif found ifdiv x 3 0s3 s3 1endifx x 1enddothisform text2 value s1thisform text3 value s2thisform text4 value s3thisform text5 value s1 s2 s3 ifmod x 3 0 store0tox s1 s2 s3 x val thisform text1 value 54 多分支选择语句语句格式 DOCASECASECASE CASE OTHERWISE ENDCASE 条件2 条件1 条件n 命令组1 命令组2 命令组n 命令组n 1 ENDCASE的下一条命令 Y N N N Y Y 55 例 设学生数据表当前记录的 计算机 字段的值是89 执行以下程序段之后 屏幕输出 A 计算机成绩 不及格 B 计算机成绩 及格 C 计算机成绩 良 D 计算机成绩 优 DOCASECASE计算机 60 计算机成绩 及格 CASE计算机 70 计算机成绩 中 CASE计算机 80 计算机成绩 良 CASE计算机 90 计算机成绩 优 ENDCASE 56 DOCASECASE计算机 90 计算机成绩 优 CASE计算机 80 计算机成绩 良 CASE计算机 70 计算机成绩 中 CASE计算机 60 计算机成绩 及格 ENDCASE 57 例 给定 成绩加分 表 如图所示 其表结构是 学号C 10 少数民族L 优秀干部L 三好生L 考试成绩I 总成绩I 其中 前五项已有数据 请编写符合下列要求的程序 计算每一个学生的总成绩 总成绩的计算方法是 考试成绩 加分 加分的规则是 如果该生是少数民族 相应数据字段为 T 加分5分 优秀 干部 加分10分 三好生加分20分 加分不累计 取最高的 例如 如果该生既是少数民族又是三好学生 加分为20分 如果都不是 总成绩 考试成绩 要求用循环语句实现 58 Use成绩加分Scanjf 0DocaseCase三好学生Jf 20Case优秀干部Jf 10Case少数民族Jf 5EndcaseRepl总成绩with考试成绩 jfEndscanReturn 问题1 Case条件的顺序可否调换 59 FOR循环语句语句格式 FOR TO STEP ENDFOR NEXT 循环体 Nexp1 初值Nexp2 终值Nexp3 步长 循环次数由初值 终值和步长来确定 循环次数 终值 初值 步长 1 60 流程图 循环变量超过终值 循环体 循环变量 初值 ENDFOR的下一条命令 Y N 循环变量 循环变量 步长值 61 以下FOR语句决定的循环次数 Fori 100to1step 1Fork 2 5to10step2Form 8to2step 1Forn 10to5 例 程序执行结果 a 0forj 1to15a a mod j 3 endfor a k 5forj 3to7k k jendfor k j step 1 62 例 下列程序段执行时在屏幕上显示的结果是 DIMEa 6 a 1 1a 2 1FORi 3TO6a i a i 1 a i 2 NEXT a 6 A 5B 6C 7D 8 63 应用程序一般都是多模块程序 包含多个程序模块 模块是一个相对独立的程序段 它可以被其他模块所调用 也可以去调用其他的模块 通常 把被其他模块调用的模块称为子程序 把调用其他模块而没有被其他模块调用的模块称为主程序 多模块程序 64 过程的定义格式 定义一般过程 PROCDURE PARAMETERS RETURN 定义函数过程 FUNCTIONPARAMETERSRETURN 过程的调用格式 调用一般过程 DO with RETURN 调用函数过程 过程名 实参表 RETURN 65 主程序 P prg STORE2TOX1 X2 X3X1 X1 1DOP1 X1 X2 X3RETURN 子程序1 P1 prg PROCEDUREP1X2 X2 1DOP2X1 X1 1RETURN 子程序2 P2 prg PROCEDUREP2X3 X3 1RETURNTOMASTER 例 A 3B 4C 9D 10 66 本程序的功能为输入圆柱体的半径和高 计算圆柱体表面积 请将程序修改为函数调用方式 注意不得增删语句行 CLEARLOCALcareaINPUT 请输入圆柱体的半径 TOr 键盘输入数值INPUT 请输入圆柱体的高 TOh 键盘输入数值DOcyaWITHr h carea 圆柱体的表面积为 careaRETURNPROCEDUREcyaPARAMETERSa b cLOCALpaipai 3 14159c 2 pai a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 日语汽车考试题目及答案
- 2025年入党积极分子培训考试题库(含答案)
- 2025年辅警看护留置面试题及答案
- 2025智晟人力资源公司与通许局农电工续签劳动合同
- 酒店开业安全培训课件
- 智能维护知识库建立-洞察与解读
- 2025氢能投资分析:技术创新与成本控制下的回报周期深度解析报告
- 朋友聚会祝酒词大全
- 考研问学长学姐资料(3篇)
- 护理人文修养绪论题库及答案解析
- 2025年中国零售用显示屏行业市场全景分析及前景机遇研判报告
- 吉林省长春市2024-2025学年七年级上学期生物月考试题(含答案)
- 2025至2030中国视觉点胶机市场运行状况与未来发展走势预测报告
- 心源性休克病人的护理
- 种草莓劳动课件
- 雀巢牛奶购销合同范本
- 2025-2026学年华中师大版(2024)小学体育与健康一年级(全一册)教学设计(附目录P123)
- GA/T 952-2011法庭科学机动车发动机号码和车架号码检验规程
- 吊洞停止点检查记录表
- 以友辅仁教案
- “20道游标卡尺题目及答案”
评论
0/150
提交评论