putchar('-'); n = -n; }
if(n/10)
f(n/10);
putchar(n+'0'); }
void main() {
f(-610); }
3、以下程序运行后的输出结果是__________________________。 #include
float f2(float m,float n); float z;
z=(x+y)/f2(x,y); return(z); }
float f2(float m,float n) { float k; k=m-n; return(k); }
void main() {
float a=2,b=3,c; c=f1(a,b);
printf(\ }
4、以下程序运行后的输出结果是__________________________。 #include \void main() {
int i,sum=2;
for(i=1;i<=3;i+=2) sum+=i;
printf(\ }
三、完善程序(每空5分,共30分)
1、下列程序的功能是创建单向链表
#include
struct node * next; };
void insert(char *, int);
struct node * head = NULL; void main() {
char str[20]; int k;
struct node * t; while ( 1 ) { scanf(\ str, &k); if ( strcmp(str, \ break; ______(1)______; } for (______(2)______)
printf(\ t->str, t->k); }
void insert(char * str, int k) {
struct node * p;
______(3)______ ; strcpy(p->str, str); p->k = k;
p->next=NULL; if ( head != NULL ) ______(4)______; head = p; }
2、下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3。 #include
void swap(int *p,int *q) { int t;
______(5)______ }
void main() {
int a, b; a = 3, b = 5;
______(6)______ 评卷人 得 分 printf(\} 四、编写程序(共10分)
假设以带头结点的单链表,单链表结点的类型定义如下: 以下是引用片段: typedef struct node{
int data;
struct node *next; }LinkNode, *LinkList;
下面已给出主程序请编写函数,将任意输入的N个数,逆向链接成一个单链表。
#include \#include \typedef struct node{ int data;
struct node *next; }LinkNode, *LinkList;
void main() { LinkList H; int n; scanf(\ H=Create(n); }
评卷人 得 分 第三部分 数据库(共55分)
一、选择(共20分,每空1分)
1、数据库系统中对数据库进行管理的核心软件是( )。
A、DBMS B、DB C)OS D)DBS 2、数据库系统的特点不包括( )。
A、数据结构化 B、数据独立性高 C、数据冗余度高 D、数据共享性高 评卷人 得 分 3、属性的取值范围称为该属性的( )。 A、码 B、域 C、实体型 D、实体集
4、一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程和学生之间具有( )。 A、一对一联系 B、一对多联系 C、多对一联系 D、多对多联系
5、数据库系统由外模式、模式和内模式三级构成,为了能够在内部实现这三个层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象,其中包括( )。 A、外模式/模式映象 B、外模式/内模式映象 C、外模式/外模式映象 D、内模式/内模式映象
6、在数据库的体系结构中,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为( )。 A、物理独立性 B、逻辑独立性 C、操作独立性 D、数据独立性 7、数据模型的三要素是( )。
A、外模式、模式和内模式 B、关系模型、层次模型、网状模型
C、数据结构、数据操作和完整性约束 D、实体、属性和联系
8、下列说法错误的是( )。
A、投影操作之后不仅取消了原关系中的某些列,而且还有可能取消某些元组。 B、选择操作是在关系中选择满足条件的元组。 C、去掉重复属性的等值联接称为自然联接。
D、对关系R和关系S进行集合交运算后,结果中既包含S中元组也包含R中元组。 9、关系模型中有三类完整性约束,其中不包括( )。 .A、安全完整性 B、参照完整性
C、实体完整性 D、用户定义的完整性
10、通过关系数据库的( )运算,可以从表1和表2获得表3。 表1 产品名称 表2 订货者名称 表3 综合信息 编号 产品名 编号 订货者 编号 产品名 订货者 010 PC机 010 A公司 010 PC机 A公司 011 显示器 011 B公司 011 显示器 B公司 020 打印机 020 C公司 020 打印机 C公司 025 键盘 025 D公司 025 键盘 D公司 030 调制解调器 030 E公司 030 调制解调器 E公司
A、选择 B、投影 C、联接 D、并
11、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主键是R#,S的主键是S#,则S#在
R中称为( )。 A、外部键 B、候选键 C、主键 D、超键 12、在SQL中,通过UPDATE命令可以修改数据,它所实现的是SQL功能中的( )。
A、数据查询 B、数据定义 C、数据操纵 D、数据控制 13、在SQL中,删除表的命令( )。
A、DELETE TABLE B、ALTER TABLE C、DROP TABLE D、DROP VIEW 14、建立索引的作用之一是( )。
A、节省存储空间 B、提高查询速度 C、便于管理 D、提高查询和更新的速度 15、在SQL中,谓词EXISTS用来测试一个集合中是否( )。
A、为非空集合 B、有两行相同 C、每行都不同 D、每行都相同 16、关于视图的描述,下列说法正确的是( )。 A、数据库中不仅存放视图的定义,而且存放视图对应的数据 B、视图只能基于基本表建立,不能基于其他视图建立 C、通过视图可以实现对基本表进行插入、删除和修改操作 D、视图是一个虚表,基本表中数据发生变化,从视图中查询出的数据并不会随之改变。 17、存在非主属性对码的部分依赖的关系模式是( )。 A、1NF B、2NF C、3NF D、BCNF
18、在某学校的综合管理系统设计阶段,教师实体在学籍管理子系统中被称为“教师”,而
在人事管理子系统中被称为“职工”,这类冲突被称为( )。 A、语义冲突 B、命名冲突 C、属性冲突 D、结构冲突 19、新开发的数据库管理系统中,数据库管理员发现被用户频繁运行的某个查询处理程序使
用了多个表的连接,从而降低了整个系统的性能,产生这一问题的原因在于( )。 A、概念结构设计不正确 B、需求分析阶段对用户的信息要求和处理要求未完全掌握 C、逻辑结构设计阶段未能对关系模式分解到BCNF D、物理设计阶段未能正确选择数据的存储结构 20、数据字典中存放( ),数据库管理系统对应用程序的操作都是要通过数据字典
来进行。 A、数据库管理系统软件 B、数据定义语言(DDL) C、数据操作语言(DML) D、数据库体系结构的描述
评卷人 得 分 二、简答(共10分,每题5分)
1、笛卡尔积、等值联接、自然联接三者之间有什么区别?
2、数据库设计分为几个阶段?每个阶段的主要任务分别是什么?
评卷人 得 分 三、数据库原理应用(共10分, 每题5分)
1、有如下的关系R: A A1 A2 A3 A4 D d1 d6 d4 d4 E e2 e2 e3 e4
1)求出R所有的候选关键字。 2)列出R中的函数依赖。 3)R属于第几范式?
2、判断下面给出的数据集是否能直接作为关系数据库中的关系,若不行,请改造成为尽可能好的并能作为关系数据库中的关系形式,同时简要说明进行改造的理由。 系名 计算机系 机械系 自控系 课程名 OS CAD PLC 教师名 刘强,王丽 宋海 李红,张山 评卷人 得 分 四、SQL语言(共15分, 1题5分,2题10分)
设有两个关系:
EMP(E#,ENAME,AGE,SALARY,D#)
其属性分别表示职工号,姓名,年龄,工资,工作部门的编号。 DEPA(D#,DNAME,MGR#)
其属性分别表示部门编号,部门名称,部门经理的职工号。 1、写出下列查询语句的关系代数表达式:
检索部门名称为“销售科”的职工号,姓名和工资。
2、用SQL语句完成下列操作:
(1)用CREATE TABLE语句定义基本表DEPA(其中D#,DNAME,MGR#三个属性都为字符型,长度分别为4、10、4)。
(2)检索每个部门的职工人数和平均工资,要求显示部门编号,部门名称,职工人数,平均工资。
(3)在DEPA表中,删除人数少于10人的部门元组。 (4)在EMP表中,将所有职工年龄增加1岁。