高级语言程序设计B期末终结版.docx_第1页
高级语言程序设计B期末终结版.docx_第2页
高级语言程序设计B期末终结版.docx_第3页
高级语言程序设计B期末终结版.docx_第4页
高级语言程序设计B期末终结版.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

一单选题(30题,30分) 二判断题(10题,10分) 三改错(5题,15分) 四填空(10题,20分) 五读程序写结果(5题,25分)第2章选择题,第3、4、5、7、8、9章所有选择题填空题,1数据库系统DBS包括数据库DB、数据库管理系统DBMS、数据库应用系统DBAS2数据管理的几个发展阶段及其特点(1)人工管理阶段:数据不能保存;数据与程序存在一一对应关系;没有专门的数据管理软件,应用程序依赖于数据、数据的逻辑结构、数据的存储形式(2)文件管理阶段:优点:数据以文件的形式长期保存;程序和数据之间有一定的独立性,应用系统通过管理系统与数据文件发生联系。缺点:数据冗余度大;数据的不一致性;数据的依赖性(3)数据库管理阶段:数据共享;具有最低的冗余度;具有较高的数据独立性;具有数据控制功能(4)分布式数据库管理系统:数据是分布的;数据是逻辑相关的;结点的自治性3两个不同实体集的三种关系:一对一、一对多、多对多。病人和病床之间关系:一对一;省与市之间关系:一对多;教师与学生的关系为:多对多4关系数据库的特点:数据的冗余度低;具有高度的数据和程序独立性;数据具有共享性;数据的安全性、完整性和对数据实行集中控制;5关系运算,包括如下两类:(1)传统的集合运算,包括并、差、交;(2)专门的关系运算,包括选择、投影和联接6常量:(1)数值型常量(N):3.1415 、12 、0.1234 (2)字符型常量(C):abc 、abC “abc” 有三对字符串定界符应成对使用。如果在字符串中需要出现定界符号,需用其他定界符定界,如“ABCCDEDFEF” (3)日期型常量(D):2010-07-10 、07/10/2010 分严格的日期格式与传统日期格式 (4)日期时间型常量(T): 2010-07-10,08:30:30 (5)逻辑型常量(L):.T. 、.t. 、.Y. 、.y. 表示逻辑真;.F. 、 .f. 、 .N. 、 .n. 表示逻辑假 (6)货币型常量(Y):$123.4567 7变量名命令规则(1)由字母(汉字)、数字和下划线组成,但必须以字母或下划线开头,中间不能有空格。(2)长度为1128个字符,每个汉字占2个字符,最多64个汉字。(3)不要与系统保留字(命令名、函数名等)同名。(4)不区分大小写:A1即 a1(5)如ABC_、class1、课程名称、都是合法的变量名;而1X、AB、“工资”、编 号、都是非法的变量名。(5)字段变量和内存变量同名时字段变量优先。 若有同名, 访问内存变量则需加前缀符: M.或 M-8优先级:括号函数数值字符日期关系逻辑9表达式运算注意点(1)日期和日期型数据不能相2009-12-31+1951-05-01不合法 (2)字符型数据+和-的不同意义:+:连接两个字符串。 -:连接两个字符串,并将第一个字符串尾部的空格移到第二个字符串的尾部 (3)=何时表示比较,何时表示赋值:例如 a=b=3结构中,=表示赋值;在if/while/for/case等语句中,=表示比较 (4)工资在10到20之间的写法:工资=10 and 工资=20或者between(工资,10,20);而数学式10X=10 and X20或者between(X,10,20) and X1010常用函数(1)数值型函数:int(数值),取出其整数部分,如int(-3.5)为-3;mod(被除数,除数),取余数,可用于判断能否整除、奇偶数及其求一个多位数的各位数字(2)字符型函数: substr(”字符串”,起始位置,长度),从字符串的起始位置取某长度的子串; space(空格数);len(字符串),求字符串的长度,1个汉字为2个字符;at(字符串1,字符串2(,数值),没有数值时则为求字符串1在字符串2中首次出现的位置,若字符串2中没有字符串1则为0,有数值时为求字符串1在字符串2中第几次出现的位置(3)日期型函数:date返回日期D;datetime返回日期时间T;time返回字符C;year返回数值N(4)数据类型转换函数:str(数值(,长度,小数点位),将数值转为为某长度和保留小数点后几位的字符串,若数值的长度比要求的长度长则返回某长度的*所组成的字符串;val(字符串),将字符串转为数值,若字符串中有非数字的部分则到此处不转,其后的也不再转;dtoc(日期),将日期转为字符串(5)测试函数:bof(),判断指针是否指在文件头即第一条记录的上面,若是在文件头则为真,否则为假;eof(),判断指针是否指在文件尾即最后一条记录的下面,若是在文件尾则为真,否则为假;recno(),判断指针所指的记录号,若无法打开表、表中无记录、指针指在文件头、或指在第一条记录则返回1,若指针指在文件尾则返回指为末记录号加1例str(12.567,4,2)的结果:12.6小数点占1位例 a=”湖北大学” ?substr(a,len(a)/2+1,1),结果为:乱码11建立数据表(1)表文件的建立方法:create (2)表文件扩展名 .dbf ,若包含备注字段或通用字段,则同时还会生成一个.fpt文件。(3)字段长度定义,如果定义数值型字段注意计算总长度时要计算小数点, 小数点占1位(4)若总成绩为N(6,1),则整数部分4位,小数部分1位(5)注意逻辑型字段固定长度1,日期型为812记录指针移动命令(1) 绝对移动:go|goto | | (2) 相对移动:skip ,向下为正值(3)注意如何移动指针到bof和eof位置:移动到bof位置:go top;skip -1;移动到eof位置:go bottom;skip 1(可省略)(4)查找定位(locate):将记录指针定位到满足条件的第一条记录上,继续查找满足条件的记录用continue命令13删除记录:删除记录分两步进行:第一步将要删除的记录做删除标记,第二步才将记录真正从表中删除。(1) 逻辑删除记录:dellte(2)被逻辑删除的记录恢复:recall(3)物理删除所有记录:zap(4)物理删除有删除标记的记录:packzap命令 与 delete all和pack两条命令执行的结果相同,区别在于zap直接执行物理删除14数据表的索引:结构化复合索引文件 .cdx;单索引文件 .idx(1)建立结构化复合索引文件:index on to / tag / of for ascending/descending unique/candidate(2)注意索引关键字只能有1个,如建立先按专业,后按入学成绩的索引方法 ,Index on 专业+str(入学成绩) tag a15索引类型:主索引、候选索引、唯一索引和普通索引的比较 (1)主索引:不允许出现重复值,一个表中只能建立一个主索引。只能建立在数据库表中,主要用于在永久关系中的主表或被引用表里建立参照完整性(2)候选索引:不允许出现重复值。可建立多个候选索引。(3)普通索引:允许出现重复值,可以建立多个普通索引。(4)唯一索引:允许有重复值,只保存重复值中首次出现的的记录。可建立多个唯一索引16自由表和数据库表的区别:数据库文件扩展名 .dbc(1)对自由表不能建立主索引,不能定义数据完整性规则等,但是二者可以互相转换。 但数据库表变为自由表后有效性规则,默认值,主索引没有了,只有候选索引,普通索引等依然有效(2)自由表添加到数据库中成为数据库表;数据库表移出数据库成为自由表;一个表只能属于一个数据库17数据完整性规则包括三个部分:(1)实体完整性:保证表中记录的唯一性(即在一个表中不允许出现重复记录,也不能取“空值”),通过建立主索引或候选索引实现 。(2)参照完整性:定义建立关系之间联系的主关键字与外部关键字引用的约束条件。如选课表关系中课程号的值只能取课程表关系中已存在课程号的值(3)域完整性:域完整性是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应由关系模型提供定义并检验。如属性的类型、宽度等,进一步保证输入数据合理有效。域完整性主要包括如下两方面:字段有效性约束;记录有效性约束(4)规则是逻辑型数据,信息是字符型数据。默认值与所设置的字段类型相同18数据定义 (1)create table(创建自由表或数据库表、建立主索引、定义域完整性) 如创建一个教师表:create table 教师(职工号 C(6) primary key,性别 C(2) default “女”)(2)drop table (删除表)(3)alter table(修改表结构,本命令共有三种格式,使用时有所不同) 如为学生信息表中的入学成绩字段设置有效性规则,入学成绩必须=540分:alter table学生信息alter 入学成绩 set check 入学成绩=540 试比较:在学生信息表中增加年龄字段,并设置有效性规则,年龄必须大于0:alter table学生信息 add 年龄 N(2) check 年龄019数据操纵 (1)insert into(向into短语指定的表尾插入一条新记录,其值为values后面表达式的值或来自数组或同名内存变量)(2)update(修改指定表中指定字段的记录数据)如将少数民族学生成绩在原分数基础上加10分update学生信息 set成绩=成绩+10 where 民族#/!=/”汉” 注意增加百分之几的表示方法:如set工资=工资*1.10 (3)delete from 如删除仓库关系中仓库号值是SH2的元组delete from仓库 where仓库号=”SH2”20查询 select查询中的where,group by, having ,order by 是对最后要显示的内容排序,top, as等关键字使用(1)带特殊运算符的条件查询: betweenand/in/like/is null(2)简单的计算查询: count()计数|sum()求和|avg()平均数|max()最大值|min()最小值 计数去重用count(distinct )(3)分组与计算查询: having必须和group by 一起使用,默认为升序,降序用desc (从上往下排序)(4)简单的嵌套查询: where 中出现select 语句(5)使用谓词的嵌套查询: any/some/all/in(6)连接查询:join on 以及where 连接方式(7)排序:order by ascending|descending| top n percent;top必须和order by 一起使用(8)查询结果的重定向输出:into dbf|table / cursor / array ,to file21三种基本的结构:顺序、选择(分支)、循环(重复)(1)IF条件表达式 语句序列1 ELSE 语句序列2 ENDIF 表达式为真,则执行“语句序列1”,再执行ENDIF的后续语句;为假,则执行“语句序列2”,再执行ENDIF的后续语句(2)DOCASE CASE条件表达式1 语句序列1CASE条件表达式2 语句序列2 -CASE条件表达式 语句序列nOTHERWISE 语句序列n+1 ENDCASEDO CASE结构中,每次最多只能执行一个语句序列。在多个CASE项的条件表达式值为真时,只执行第一个条件表达式值为真的命令行序列,然后执行ENDCASE的后面的第一条命令。(3)DO WHILE结构 | FOR (单重循环)DO WHILE 条件表达式 命令行序列ENDDOFOR循环变量循环变量初值TO循环变量终值STEP循环变量步长 命令行序列ENDFORNEXT22 EXIT和LOOP命令嵌入在循环体内,可以改变循环次数,但不能单独使用。EXIT、LOOP可以出现在命令行序列的任意位置(1)EXIT的功能是跳出循环,转去执行ENDDO、ENDFOR、ENDSCAN后面的第一条命令;(2)LOOP的功能是转回到循环的开始处,重新对“条件”进行判断,相当于执行了一次ENDDO、ENDFOR、ENDSCAN命令,它可以改变命令行序列中部分命令的执行次数。23例题C=1 I=1 Do while I=10 C=c*(-1)I*I I=I+1 Enddo ?c -10!Input “请输入一个数” to a If a%2=1或者mod(a,2)=1 ?”这是一个奇数” else ?”这是一个偶数” endif24数组 (1)定义: declare/dimension x(2,3) (2)数组元素个数 :如declare/dimension x(2,3) 则元素个数为6(因为数组下标下界从1开始)(3)数组一旦被定义之后,该数组的每个元素的初值为逻辑假值(.F.),可以使用有关的命令给数组元素赋值。(4)数组元素可以统一赋相同的值,也可以分别赋予不同的值,且数据类型也可以各不相同。(5)数组元素的赋值与普通内存变量一样,可以通过store命令或“=”来实现。25对象的引用thisform和this的引用方法的不同如在表单MyForm中通过事件代码,设置标签Label1的Caption属性值设置为计算机等级考试,下列程序代码正确的是ThisForm.Label1.Caption=计算机等级考试或者This.parent.Label1.Caption=计算机等级考试26表单最常用属性,最常用方法(1)表单标题: Thisform.Caption=”标题名称”(2)从内存中释放表单,即关闭表单Thisfo

温馨提示

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

评论

0/150

提交评论