四川省计算机二级考试培训讲义(内部资料)
理独立性与逻辑独立性)、数据统一管理与控制。
数据库系统的三级模式:
(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图; (2)外模式:也称子模式与用户模式。是用户的数据视图,也就是用户所见到的数据模式;
(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。 数据库系统的两级映射:
(1)概念模式到内模式的映射; (2)外模式到概念模式的映射。
数据模型
数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。
E-R模型的基本概念
(1)实体:现实世界中的事物; (2)属性:事物的特性;
(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。
E-R模型三个基本概念之间的联接关系:实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值。一个实体的所有属性值叫元组。 E-R模型的图示法:(1)实体集表示法; (2)属性表法; (3)联系表示法。
层次模型的基本结构是树形结构,具有以下特点: (1)每棵树有且仅有一个无双亲结点,称为根; (2)树中除根外所有结点有且仅有一个双亲;
从图论上看,网状模型是一个不加任何条件限制的无向图。
关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。
在二维表中凡能唯一标识元组的最小属性称为键或码。从所有侯选健中选取一个作为用户使用的键称主键。表A中的某属性是某表B的键,则称该属性集为A的外键或外码。
关系中的数据约束:
(1)实体完整性约束:约束关系的主键中属性值不能为空值; (2)参照完全性约束:是关系之间的基本约束;
(3)用户定义的完整性约束:它反映了具体应用中数据的语义要求。
关系代数
系统的特点之一是它建立在数据理论的基础之上,有很多数据理论可以表示关系模型的数据操作,其中最为著名的是关系代数与关系演算。
关系模型的基本运算:
(1) 插入 (2)删除 (3)修改 (4)查询(包括投影、选择、笛卡尔积运算)
- 9 -
四川省计算机二级考试培训讲义(内部资料)
数据库设计与管理
数据库设计是数据应用的核心。 数据库设计的两种方法:
(1)面向数据:以信息需求为主,兼顾处理需求; (2)面向过程:以处理需求为主,兼顾信息需求。
数据库的生命周期:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。
需求分析常用结构析方法和面向对象的方法。结构化分析(简称SA)方法用自顶向下、逐层分解的方式分析系统。用数据流图表达数据和处理过程的关系。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。
数据字典是各类数据描述的集合,包括5个部分:数据项、数据结构、数据流(可以是数据项,也可以是数据结构)、数据存储、处理过程。
数据库概念设计的目的是分析数据内在语义关系。设计的方法有两:
(1)集中式模式设计法(适用于小型或并不复杂的单位或部门); (2)视图集成设计法。
设计方法:E-R模型与视图集成。
视图设计一般有三种设计次序:自顶向下、由底向上、由内向外。 视图集成的几种冲突:命名冲突、概念冲突、域冲突、约束冲突。 关系视图设计:关系视图的设计又称外模式设计。 关系视图的主要作用:
(1)提供数据逻辑独立性;
(2)能适应用户对数据的不同需求; (3)有一定数据保密功能。
数据库的物理设计主要目标是对数据内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度有效利用存储空间。一般RDBMS中留给用户参与物理设计的内容大致有索引设计、集成簇设计和分区设计。
数据库管理的内容:
(1)数据库的建立; (2)数据库的调整; (3)数据库的重组;
(4)数据库安全性与完整性控制; (5)数据库的故障恢复; (6)数据库监控。
- 10 -
四川省计算机二级考试培训讲义(内部资料)
第二部分、C考试真题
真题一
一、选择题(每小题1分,共10分)
若有以下说明和语句,且0<=i<10,则____C____是对数组元素的错误引用。 int a[10],*p=a;
A *(a+i) B a[p-a] C p+I D p[i]
2.现已定义:char b[6],*p=b;选择正确的赋值语句_____C_____。 A b=”china” B *b=”china” C p=”china” D *p=”china”
?3.运行下列程序后,全局变量t.x和t.s的正确结果为__B____。 struct tree { int x; char *s;
};
fun(struct tree t)
// 形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量 {
t.x=10; t.s=”computer”; return(0); }
main() {
struct tree t; t.x=1;
t.s=”minicomputer”; fun(t) ;
printf(”%d,%s\\n”,t.x,t.s ) ; }
A 10,computer B 1,minicomputer C 1,computer D 10,minicomputer
4.若fp是指向某文件的指针,且已读到文件的末尾,则表达式feof(fp)的返回值是____C_____。
A 0 B -1 C 非零值 D NULL 5.正确的指针数组的描述是____C_____。
A int (*a)[10] B int a[i][j] C int *a[10] D 指针数组表示一个指针指向数组 6.如下,哪个是c语言绘图时必须使用的语句____C_____。
A #include
C gdriver=VGA //图形驱动器为VGA 图形适配器 D window(20,5,50,20);
- 11 -
四川省计算机二级考试培训讲义(内部资料)
// 建立字符模式下的矩形字符窗口window(left,top,right,bottom); 7.main() {
int x=3,y=2,z=1;
printf(“%s=%d\\n”,”x/y&z”,x/y&z); }
程序的输出结果是:____B______。
A x/y&z=0 B x/y&z=1 C x^y&z=0 D x^y&~z=1 //优先诀
括号成员第一; //括号运算符[]() 成员运算符. ->
全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个\余\是指取余运算即%
移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等 等于(与)不等排第七; //即== !=
位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) \三分天下\八九十;
逻辑或跟与; //逻辑运算符:|| 和 &&
十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)
条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和\高//需要注意的是赋值运算符很多!
逗号运算级最低! //逗号运算符优先级最低
//结合决
每种运算符都有一个优先级,优先级是用来标志运算符在表达式中的运算顺序的。
优先级高的先做运算,优先级低的后做运算,优先级相同的右结合性决定计算顺序。 大多数运算符都是按从左到右计算,只有三类运算符的结合性是从右到左。他们是:单目、三目和赋值。
8.定义一个返回值为整型的函数指针变量,下列哪一个是正确的___C___。 A int *p() B int (*p)[] C int (*p)() D int p() 9.main() { int i,j; do{
if(j%5==0) i++; j++; }while(i!=5) } 修订为: main() {
int i=0,j=0; do{
if ( j%5==0) i++;
j++;
- 12 -
四川省计算机二级考试培训讲义(内部资料)
}while(i!=5);
}
程序运行结束后j的值为____D___。 A 25 B 20 C 26 D 21
10.若int x=2,y=1,z=0,下列几个表达式的值分别为_____A_____。 ⑴x|y&&z ⑵x!=y!=z ⑶~x>y
A 0,1,0 B 0,1,1 C 0,0,0 D 1,1,0
二读程序,并选出正确的答案(每空3分,共45分) 1.#include
int t;
char *p1,*p2; for(t=0 ;s1[t] ;t++) {
p1=&s1[t] ;
p2=s2 ;
while(*p2&&*p2==*p1)//先算*p2==*p1 {
p1++; p2++; }
if(!*p2) return(t); }
return -1 ; } main() {
if(find(“c is fun”,”is”)!=-1) L1: printf(“is”);
if(find(“c is fun”,”Basic”)!=-1) L2:printf(“basic\\n”); }
(11)行L1输出的结果为____A_____。
A is B i C c is fun D没有输出 (12)行L2输出的结果为_____D___。
A Basic B c is fun C basic D没有输出 2.main() {
int w=2,k;
- 13 -