高级语言程序设计B期末终结版

发布 2021-04-19 22:31:28 阅读 5793

一单选题(30题,30分) 二判断题(10题,10分) 三改错(5题,15分) 四填空(10题,20分) 五读程序写结果(5题,25分)

第2章选择题,第章所有选择题填空题,1数据库系统dbs包括数据库db、数据库管理系统dbms、数据库应用系统dbas

2数据管理的几个发展阶段及其特点。

1)人工管理阶段:数据不能保存;数据与程序存在一一对应关系;没有专门的数据管理软件,应用程序依赖于数据、数据的逻辑结构、数据的存储形式。

2)文件管理阶段:优点:数据以文件的形式长期保存;程序和数据之间有一定的独立性,应用系统通过管理系统与数据文件发生联系。

缺点:数据冗余度大;数据的不一致性;数据的依赖性。

3)数据库管理阶段:数据共享;具有最低的冗余度;具有较高的数据独立性;具有数据控制功能。

4)分布式数据库管理系统:数据是分布的;数据是逻辑相关的;结点的自治性。

3两个不同实体集的三种关系:一对。

一、一对多、多对多。病人和病床之间关系:一对一;省与市之间关系:一对多;教师与学生的关系为:多对多。

4关系数据库的特点:数据的冗余度低;具有高度的数据和程序独立性;数据具有共享性;数据的安全性、完整性和对数据实行集中控制;

5关系运算,包括如下两类:(1)传统的集合运算,包括并、差、交;

2)专门的关系运算,包括选择、投影和联接。

6常量:(1)数值型常量(n.1234

2)字符型常量(c):[abc] 、abc’ “abc” 有三对字符串定界符应成对使用。如果在字符串中需要出现定界符号,需用其他定界符定界,如“ab[ccd[ed]fef”

3)日期型常量(d): 分严格的日期格式与传统日期格式

4)日期时间型常量(t):

5)逻辑型常量(l):.t. 、t. 、y. 、y. 表示逻辑真;.f. 、f. 、n. 、n. 表示逻辑假

6)货币型常量(y):$123.4567

7变量名命令规则(1)由字母(汉字)、数字和下划线_组成,但必须以字母或下划线开头,中间不能有空格。

2)长度为1~128个字符,每个汉字占2个字符,最多64个汉字。

3)不要与系统保留字(命令名、函数名等)同名。

4)不区分大小写:a1即 a1(5)如abc_、class1、课程名称、都是合法的变量名;而1x、a—b、“工资”、编号、都是非法的变量名。

5)字段变量和内存变量同名时字段变量优先。 若有同名, 访问内存变量则需加前缀符: m.《内存变量名》或 m->《内存变量名》

8优先级:括号〉函数〉数值〉字符〉日期〉关系〉逻辑。

9表达式运算注意点。

1)日期和日期型数据不能相+不合法

2)字符型数据+和-的不同意义:+:连接两个字符串。 -连接两个字符串,并将第一个字符串尾部的空格移到第二个字符串的尾部

3)=何时表示比较,何时表示赋值:例如 a=b=3结构中,=表示赋值;在if/while/for/case等语句中,=表示比较

4)工资在10到20之间的写法:工资》=10 and 工资<=20或者between(工资,10,20);而数学式10≤x<20的写法为:x>=10 and x<20或者between(x,10,20) and x<>10

10常用函数(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,日期型为8

12记录指针移动命令。

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)物理删除有删除标记的记录:pack

zap命令与 delete all和pack两条命令执行的结果相同,区别在于zap直接执行物理删除。

14数据表的索引:结构化复合索引文件 .cdx;单索引文件 .idx

1)建立结构化复合索引文件:index on《关键字表达式》 to 《单索引文件名》 /tag 《索引标记名》 /of 《复合索引文件名》 for 《条件》 [ascending/descending] [unique/candidate]

2)注意索引关键字只能有1个,如建立先按专业,后按入学成绩的索引方法 ,index on 专业+str(入学成绩) tag a

15索引类型:主索引、候选索引、唯一索引和普通索引的比较

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 年龄》0

19数据操纵 (1)insert into(向into短语指定的表尾插入一条新记录,其值为values后面表达式的值或来自数组或同名内存变量)

2)update(修改指定表中指定字段的记录数据)

如将少数民族学生成绩在原分数基础上加10分。

update学生信息 set成绩=成绩+10 where 民族#/!=汉”

注意增加百分之几的表示方法:如set工资=工资*1.10

3)delete from 如删除仓库关系中仓库号值是sh2的元组delete from仓库 where仓库号=”sh2”

高级语言程序设计B

机密 启用前。课程 0342 本试卷共7页,满分100分,考试时间150分钟。一 单项选择题 本大题共15小题,每小题2分,共30分 1 下列是c语言合法的标识符的是。a c 2ad int 2 下列不是c语言合法的常量表示的是。a 0xa3 b 0lc 059 d 1e3 3 设a,b,c都是整型...

高级语言程序设计B 1

安徽大学20 20 学年第 1 学期。高级语言程序设计 考试试卷 b卷 闭卷时间120分钟 考场登记表序号。一 单项选择题 每小题2分,共20分 1.在c语言中,在内存占用的字节数是。a.1b.2c.3d.4 2.不能作为c语言标识符的是。a.xb.x xc.x 0 d.0 x 3.设整型变量i的值...

高级语言程序设计

总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...