文档库 最新最全的文档下载
当前位置:文档库 › 数据库语言程序设计复习题1005

数据库语言程序设计复习题1005

数据库语言程序设计复习题1005
数据库语言程序设计复习题1005

《数据库语言程序设计》复习题

一、分析题(15分)

一个图书馆理系统中有如下信息:

图书:书号、书名、数量、位置

借书人:借书证号、姓名、单位

出版社:出版社名、邮编、地址、电话、E-mail

其中约定:任何人可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有惟一性。

根据以上情况,完成如下设计:

(1)设计系统的E-R图;5分

(2)将E-R图转换为关系模式;5分

(3)指出转换后的每个关系模式的关系键(主键,外键)。5分

解答:

(1)

图书关系模式:图书(书号,书名,数量,位置,出版社名)

主键:书号

外键:出版社名

借书人关系模式:借书人(借书证号,姓名,单位)

主键:借书证号

出版社关系模式:出版社(出版社名,邮编,地址,电话,E-mail)

主键:出版社名

借阅关系模式:借阅(借书证号,书号,借书日期,还书日期)

主键:(借书证号,书号)

外键1:借书证号

外键2:书号

二、设计题1

有一个[学生课程]数据库,数据库中包括三个表:

学生表(学号,姓名,性别,年龄,所在系)

课程表(课程号,课程名,先修课号,学分)

成绩表(学号,课程号,成绩)

用SQL语言编写实现下列功能的代码:

1、建立一个[学生表],要求设置学号属性为主键,规定年龄大于16。

2、查询年龄在20至23岁之间的学生的姓名、系别、和年龄。

3、查询各系的人数及平均年龄。

4、计算“数据库原理”课程的学生平均成绩。

5、将计算机科学系全体学生的成绩置零。

6、创建一个“经济系”全体学生的视图V_JJX。

7、创建一个自定义函数,可以求解任意数n的阶乘累加和,即计算S = 1!+2!+3!+…… + n!,并用n=10调用该函数。

8、创建一个触发器,要求当更新课程表的课程号时,能更新成绩表中相应的课程号。

答案:

1、建立一个学生表。

CREATE TABLE 学生表

(学号 CHAR(5) PRIMARY KEY,

姓名CHAR(20),

性别 CHAR(2),

年龄 INT CHECK(年龄>16),

所在系 CHAR(15))

2、查询年龄在20至23岁之间的学生的姓名、系别、和年龄

SELECT 姓名, 所在系, 年龄

FROM 学生表

WHERE 年龄 BETWEEN 20 AND 23

3、查询各系的人数及平均年龄。

SELECT 所在系,COUNT(*),AVG(年龄)

FROM 学生表

GROUP BY 所在系

4、计算数据库应用课程的学生平均成绩

SELECT AVG(成绩)

FROM 成绩表

WHERE 课程号in

( SELECT 课程号 FROM 课程表

WHERE 课程名 ='数据库应用')

5、将计算机科学系全体学生的成绩置零

UPDATE 成绩表

SET 成绩=0

WHERE 学号 in

( SELECT 学号 FROM 学生表

WHERE 所在系 ='计算机科学系')

6、create view V_JJX

as

select * from 学生表

WHERE 所在系 ='经济系'

7、

CREATE FUNCTION FC(@n INT)

RETURNS BIGINT AS

BEGIN

DECLARE @i int , @p bigint, @s bigint

SELECT @i=1, @p=1, @s=0

WHILE @i<=@n

BEGIN

SET @p=@p*@i

SET @s=@s+@p

SET @i=@i+1

END

Return @S

END

Go

select dbo.FC(10) --调用

8、

Create trigger trupkc on kc

For update

As

Declare @khold char(3), @khnew char(3)

Select @khold=deleted.课程号, @khnew=inserted.课程号From deleted d , inserted i

Where d.课程名=i.课程名

Update xs_kc set 课程号=@khnew

Where 课程号=@khold

二、设计题2

现有关系数据库如下:

数据库名:医院管理

医生表(医生编号,姓名,性别,出生日期,职称)

病人表(病人编号,姓名,性别,年龄,身份证号)

医疗表(ID,病人编号,医生编号,入院日期,病历描述)

用SQL语言写出实现下列功能的语句代码:

1. 创建数据库,库名“医院管理”,指定所有文件存放在e:\data\,其他参数均使用默认值。

2. 创建上述三表的建表代码;

要求使用:主键(师医生表.编号,病人表.课号)、外键(病历表.医生编号,病历表.病人课号)、非空(职称,姓名)、检查(性别),自动编号(ID)

3. 将下列医生信息插入到医生表

编号姓名性别出生日期职称

100001 王医生男 1963-5-18 副主任医师

100002 郭医生女 1950-7-26 副主任医师

100003 刘医生男 1973-9-18 医师

4. 修改数据:将编号为100002的医生职称改为‘主任医师’

5. 删除数据:删除职称为空且没有病人的医生信息

6. 修改数据表,为病人表增加一列“联系电话”,约束为11位数字;为“入院日期”设置默认值约束为

系统当前日期,用该默认值填充表中已有行的新列。

ALTER TABLE 病人表

ADD CONSTRAINT date_dflt DEFAULT getdate() FOR 入院日期WITH V ALUES

7. 查询:检索管有出生年份(从身份证号中截取)在1950到1960之间的病人的医生信息。

7. 查询:检索管有病人年龄在50到60之间的的医生信息。

8. 查询:查询所有姓王的病人姓名、病历描述、以及病人所对应的医生编号;

9. 创建视图:医生患者视图(医生姓名,病人姓名,入院日期,病历描述);

10.创建存储过程并执行该存储过程:输出某医生的看病人数

(要求输入参数为:医生姓名,输出参数为:病人数)。

解答:

1.

CREATE DATABASE [医院管理]

ON

(NAME = 'yygl_Data',

FILENAME ='E:\data\yygl_Data.MDF'

)

LOG ON

(NAME = 'yygl_Log',

FILENAME ='E:\data\yygl_log.LDF' )

go

use [医院数据库]

go

2.

create table 医生表

([医生编号] char(6) primary key,

[姓名] nchar(4) not null,

[性别] nchar(1) check([性别] in ('男', '女')),

[出生日期]datetime ,

[职称] char(18) not null

)

create table病人表

([病人编号] char(6) primary key,

[姓名] nchar(4) not null,

[性别] nchar(1) check([性别] in ('男', '女')),

[民族] nchar(10),

[身份证号] char(18) not null

)

create table医疗表

(ID IDENTITY(1, 1),

[病人编号] char(6) references 病人表(病人编号),

[医生编号] char(6) references 医生表(医生编号),

[入院日期] datetime ,

[病历描述] text

)

3.

insert 医生表 values('100001', '王医生', '男', '1963-5-18', '副主任医师')

insert 医生表 values('100002', '郭医生', '女', '1950-7-26', '副主任医师')

insert 医生表 values('100003', '刘医生', '男', '1973-9-18', '医师')

4.

update医生表 set 职称='主任医师' where 医生编号='100002'

5.

Delete 医生表 where 职称 is null and 医生编号 not in (select 医生编号 from 医疗表) 6.

Alter table 病人表

Add 联系电话 char(11) CHECK (联系电话 LIKE ' [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]'

ALTER TABLE 病人表

ADD CONSTRAINT date_dflt DEFAULT getdate() FOR 入院日期 WITH VALUES

7.

select 医生编号, 姓名, 性别, 出生日期, 职称

from 医生表

where 医生编号 in (select 医生编号 from 医疗表 and病人编号 in

(select 病人编号 from 病人表 where 年龄 between 30 and 50)

)

8.

Select br.姓名, br.病历描述, yl.医生编号

from 病人表 br left join 医疗表 yl

on br.病人编号 = yl.病人编号

where br.姓名like ‘王%’

9.

create view [医生患者视图] (医生姓名,病人姓名,入院日期,病历描述)

as

select ys.姓名,br.姓名, yl.入院日期,yl.病历描述

from 病人表 as br join 医疗表 as yl

on br.病人编号=yl.病人编号 join 医生表 as ys

on yl.医生编号=ys.医生编号

10.

create procedure [医生看病人数]

@医生姓名 nchar(4), @人数 int output

as

select @人数=count(病人编号)

from 医疗表

where 医生编号 in

(select 医生编号 from 医生表 where 姓名=@医生姓名)

go

declare @TOTAL int

execute [医生看病人数] '王医生', @TOTAL

二、设计题3(填空题)

1、计算 1+2*3+4*5+6*7……+96*97+98*99的和,并使用PRINT显示计算结果。

DECLARE @I int,@sum int,@csum char(10)

SELECT @I=________,@sum=______

WHILE @I<=_________

BEGIN

SELECT @I=__________

SELECT @sum = __________

END

SELECT @csum=convert(char(10),@sum)

__________ ’1+2*3+4*5+6*7……+96*97+98*99=’ + @csum

2、假定某单位有一工资数据表,表名为GZ,部分数据如下:

工号姓名基本工资津贴公积金养老保险失业保险医疗保险

1001 程鑫1,200.00 100.00 10.00 30.00 20.00 20.00

1002 李倩如1,100.00 123.00 12.00 23.00 23.00 21.00

1103 张大宏1,111.00 121.00 12.00 21.00 21.00 12.00

1104 赵楠欣1,212.00 211.00 13.00 31.00 31.00 32.00 对以上数据表要做如下处理:如果平均岗位津贴低于150元,则使用WHILE 循环将所有人的岗位津贴加10元,如果最高岗位津贴超过300元,则退出WHILE 循环。

USE TEST

GO

DECLARE @avgjt decimal(4,1)

WHILE________________________ < 150

BEGIN

UPDA TE GZ

SET_______________________

IF______________________________ > 300

BEGIN

PRINT '最高岗位津贴超过300元'

____________ --中途退出WHILE循环

END

END

SELECT @avgjt =A VG(岗位津贴) FROM GZ

PRINT '岗位津贴增加完毕,平均岗位津贴为:' + STR(@avgjt,4,1)

3. 给定一个身份证号,返回其中的省份编码和生日数据。

DECLARE @sfzh char(18)

SET @sfzh =’420103************’

PRINT ‘省份编码是:’+ _______________

PRINT ‘生日数据是:’+________________________

GO

二、设计题4

有一个[教学]数据库,数据库中包括三个表:

学生(学号,姓名,性别,年龄,所在系)

课程(课程号,课程名,先修课号,学分)

选课(学号,课程号,成绩)

完成以下查询:

1. 从教学库中查询出所有的系名。

2. 从教学库中查询出系的总数。

3. 从教学库中查询出每个学生选课的门数。

4. 从教学库中查询出至少选修了两门课程的全部学生。

5. 从教学库中查询出学号为@s1的学生和学号为@s2的学生所选修的共同课程的课程号。

6. 从教学库中查询出被2至4名学生选修的所有课程。

7. 从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生。

8. 从教学库中查询出选修了姓名为@a的学生的全部选课的所有学生。

答案:

1.select distinct 所在系

from 学生

2.select count(distinct 所在系) as 个数

from 学生

3.select 学生.学号,count(*) as 选课门数

from 学生,选课

where 学生.学号=选课.学号

group by 学生.学号

4.select distinct x.*

from 学生x,选课y,选课z

where y.学号=z.学号and y.课程号<>z.课程号and x.学号=y.学号

5.select x.学号,y.学号,y.课程号

from 选课x,选课y

where x.学号=@s1 and y.学号=@s2

and x.课程号=y.课程号

6.select *

from 课程

where exists (select 课程号

from 选课

where 课程.课程号=选课.课程号

group by 课程号having count(*) between 2 and 4

)

7.select *

from 学生

where 学号in (select 学号

from 选课

group by 学号having count(*)<=2

) or not exists (select *

from 选课

where 学生.学号=选课.学号

)

8.select *

from 学生

where not exists (select y.课程号

from 学生x inner join 选课y on x.学号=y.学号

where x.姓名=@a and not exists (select *

from 选课

where 学生.学号=选课.学号and y.课程号=选课.课程号)

)

C++语言程序设计复习题

《C++程序设计》复习题 一、选择题 1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( ) A、类 B、对象 C、函数体 D、数据块 2.面向对象的程序设计语言必须具备的关键要素是( ) A、抽象和封装 B、抽象和多态性 C、抽象、封装、继承和多态性 D、抽象、封装和继承性 3.类的构造函数被自动调用执行的情况是在定义该类的( ) A、成员函数时 B、数据成员时 C、对象时 D、友元函数时 4.设有函数模板 template Q Sum(Qx,Qy){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是( ) A、Sum(10,2); B、Sum(5.0,6.7); C、Sum(15.2f,16.0f); D、Sum(″AB″,″CD″); 5.已知类A是类B的友元,类B是类C的友元,则( ) A、类A一定是类C的友元 B、类C一定是类A的友元 C、类C的成员函数可以访问类B的对象的任何成员 D、类A的成员函数可以访问类B的对象的任何成员 6.静态成员函数没有( ) A、返回值 B、this指针 C、指针参数 D、返回类型 7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( ) A、都是虚函数 B、只有被重新说明时才是虚函数 C、只有被重新说明为virtual时才是虚函数 D、都不是虚函数 8.下面叙述不正确的是( ) A、派生类一般都用公有派生 B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合 D、基类的公有成员在派生类中仍然是公有的 9.在C++中实现封装是借助于( )

数据库原理试题及答案

数据库原理试题答案(B卷) 一、填空题(每题 2 分,共 20 分) 1、实体 2、日志文件 3、完整性 4、关系 5、关系演算 6、外模式 / 模式 7、更新 8、集成的 9、先来先服务 10、人工智能 二、选择题(每题 1 分) 1 、C 2 、 D 3 、 B 4 、 A 5 、 B 6 、 C 7 、 C 8 、 C 9 、 B 10 、 C 三、简答题(每题 5 分,共 20 分) 1 、答案要点:数据库系统中的常见故障有:事务内部的故障(事务故障)( 1 分)、系统故障( 1 分)、介质故障( 2 分)、计算机病毒( 1 分)。 2 、答案要点:数据模型通常由数据结构( 1 分)、数据操作( 2 分)、完整性约束( 2 分)三部分组成。 3 、答案要点:不是所有的视图都是可更新的( 2 分);因为有些视图的更新不能唯一地有意义地转换成对相应基本表地更新( 3 分)。 4 、答案要点:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同( 5 分)。 四、(共 10 分) 1 、 80 , 90 2 、 T 1 T 2 Slock A 读 A = 50 Y = A Unlock A Xlock A A=Y-10 Slock A 写回 A = 40 等待 Unlock A 等待 读 A = 40 Y = A Unlock A Xlock A A=Y × 2 写回 A = 80 Unlock A

五、(共 10 分) 六、(共 20 分) 1 、关系代数: (1)sno ( cno =‘ 2 ' (SC) )(2分) (2) Sno,Sn ( Cn=' 数据库概论 ' ) (2分) (3) Sno,SN (S ( Cno , sno (SC) ÷ Cno ( C )) ) (2分) ALPHA 语言 ? GET W(SC.SNO): https://www.wendangku.net/doc/0811749484.html,O=' 2' (2分) ? RANGE C X SC Y GET W (S.SNO.S.SN): X( Y(https://www.wendangku.net/doc/0811749484.html,O=https://www.wendangku.net/doc/0811749484.html,O ^ Y.SNO=S.SNO ^ https://www.wendangku.net/doc/0811749484.html,=' 数据库概论 ' (2分) ? RANGE C X SC Y GET W(S.SNO,S.SN): X( Y(https://www.wendangku.net/doc/0811749484.html,O=https://www.wendangku.net/doc/0811749484.html,O ^ Y.SNO=S.SNO)) (2分) 2 、( 1 ) SELECT COUNT(*) FROM STUDENT (2分) (2) SELECT SNO FROM SC GROUP BY SNO HAVING COUNT(*)>5 (3分) (3) DELECT FROM SC WHERE https://www.wendangku.net/doc/0811749484.html,O IN (SELECT https://www.wendangku.net/doc/0811749484.html,O FROM C WHERE CN=' 数据结构 ') DELETE FROM C WHERE CN= ‘数据结构' (3分) 七、(共 10 分) 科室(科室代码,科室名称) (1分) 医生(工号,姓名,名称,聘用日期,聘用期限,科室) (1分) 病人(病历号,姓名,年龄,工作单位) (1分) 就诊(医生工号,病历号,就诊日期) (2分) 一、填空题(每空 2 分,共 20 分) 1、关系中主码的取值必须唯一且非空,这是由 ___________ 完整性规则决定的。 2、当数据库被破坏后,如果事先保存了数据库副本和 ________________ ,就有可能恢复数据库。 3、数据库的 ____________ 是指数据库的正确性和相容性。 4、关系数据操作语言的特点是:操作对象与结果均为 ___________ 、操作的非过程性强、语言一体化、并且建立在数学理论基础之上。 5、SQL 是一种介于关系代数和 _____________ 之间的结构化的查询语言。 6、对于每一个外模式,数据库系统都有一个 _______________ 映象,它定义了该外模式与模式之间的对应关系。 7、视图是一个需表,它一经定义就可以和基本表一样被查询,但 _________ 操作将有一定的限制。 8、数据仓库是一个面向主题的、 _____________ 、不可更新的、随时间不断变化的数据集合。 9、避免活锁的简单方法是采用 _____ 的策略。 10、知识库系统和主动数据库系统是将数据库技术和 ________ 技术相结合产生的。 二、选择题(每小题 1 分,共 10 分) 1、SQL 中,下列涉及空值的操作,不正确的是 ( )

2016年《高级语言程序设计》期末考试题及答案

2016年下半年《高级语言程序设计(高起 专)》期末考试试题 1. ( 单选题) 以下程序的输出结果是()。 main() {int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf("%d\n",k); } (本题2.0分) A、20 B、21 C、22 D、23 标准答案:B 2. ( 单选题) 有以下程序,输出结果是() float fun(int x,int y) { return(x+y); } main() {

int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); } (本题2.0分) A、9 B、21 C、9.0 D、编译出错 标准答案:A 3. ( 单选题) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 标准答案:C 4. ( 单选题) 一个 C 程序的执行是从( )(本题2.0分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 标准答案:C 5. ( 单选题) 一个 C 语言程序是由( )(本题2.0分)

A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 标准答案:B 6. ( 单选题) 变量的指针,其含义是指该变量的()(本题2.0分) A、值 B、名 C、地址 D、一个标志 标准答案:C 7. ( 单选题) C语言提供的合法的数据类型关键字是_____(本题2.0分) A、Double B、short C、integer D、Char 标准答案:B 8. ( 单选题) 以下关于数组的描述正确的是( )(本题2.0分) A、数组的大小是可变的,可以有不同的类型的数组元素 B、数组的大小是固定的,所有数组元素的类型必须相同

数据库期末考试试题及答案

数据库期末考试试题及答案 一、选择题(每题1分,共20分) 1(在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。 在这几个阶段中,数据独立性最高的是( A )阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理 2(数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(D)。 A. 存储视图 B. 概念视图 C. 内部视图 D. 外部视图 3(数据库的概念模型独立于(A)。 A. 具体的机器和DBMS B. E-R图 C. 信息世界 D. 现实世界 4(数据库中,数据的物理独立性是指(C)。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 5(关系模式的任何属性(A)。 A. 不可再分 B. 可再分 C. 命名在该关系模式中可以不惟一 D.以上都不是 6(下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字: 职工(职工号,职工名,部门号,职务,工资) 设备(设备号,职工号,设备名,数量) 两个关系的属性中,存在一个外关键字为( C )。

A. 职工关系的“职工号” B. 职工关系的“设备号” C. 设备关系的“职工号” D. 设备关系的“设备号” 7(以下四个叙述中,哪一个不是对关系模式进行规范化的主要目的( C )。 A. 减少数据冗余 B. 解决更新异常问题 C. 加快查询速度 D. 提高存储空间效率 8(关系模式中各级范式之间的关系为( A )。 A. B. C. D. 9(保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指 数据的( A )。 A. 安全性 B.完整性 C.并发控制 D.恢复 10(事务的原子性是指( B )。 A. 事务一旦提交,对数据库的改变是永久的 B. 事务中包括的所有操作要么都做,要么都不做 C. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D. 事务必须使数据库从一个一致性状态变到另一个一致性状态 11(下列哪些运算是关系代数的基本运算( D )。 A. 交、并、差 B. 投影、选取、除、联结 C. 联结、自然联结、笛卡尔乘积 D. 投影、选取、笛卡尔乘积、差运算 12(现实世界“特征” 术语, 对应于数据世界的( D )。 A(属性 B. 联系 C. 记录 D. 数据项 13(关系模型中3NF是指( A )。 A.满足2NF且不存在传递依赖现象 B.满足2NF且不存在部分依赖现象

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

数据库试题及答案

《数据库》试题 使用教材:Visual FoxPro 数据库应用 试题范围:全册 出版社:高等教育出版时版次:第3版 学校名称:文县职业中专 一、选择题 1、在有关数据库的概念中,若干记录的集合称为() A. 文件 B. 字段 C. 数据项 D. 表 2、在Visual FoxPro中,向数据库文件中追加数据使用语句() A、INSERT B、REPLACE C、APPEND D、ADD 3、在Visual FoxPro中,删除数据库的所有记录,仅保留库结构的命令是( ) A、delete all B、pack C、recall D、zap 4、在Visual FoxPro中,分屏显示当前数据库中年龄字段大于20的所有记录,正确的命令为( ) A、display all for nl>20 B、display all while nl>20 C、list for nl while nl>20 D、list while nl>20 5、在Visual FoxPro中,skip命令移动记录指针的基准是( ) A、第一条记录 B、当前记录 C、指定纪录 D、库文件尾6、逻辑运算符在运算时的优先顺序是() A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序 7、在关系运算中,查找满足一定条件的元组的运算称之为()A. 投影 B. 选择 C. 关联 D. 复制 8、下面的赋值表达式不正确的是() A.STORE "HELLO WORLD!" TO STR B. STORE 123456 TO

A1,B1 C.WORD="FOXPRO" D.STORE 12,34 TO A2,B29、不能作为索引关键字的数据类型是() A.数值型 B.备注型 C.日期型 D.字符型 10、当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是() A.DISP FOR "李"=xm B.DISP FOR xm=李 C.DISP FOR SUBS(xm,1,1)= ‘李’ D.DISP FOR SUBS(xm,1,2)=‘李’ 11、用命令DIMENSION A(4,5)定义后,A数组中共有()个数据元素。 A. 4 B. 5 C. 9 D. 20 12、在Visual FoxPro的一个工作区中,同一时刻最多能打开( )个库文件。 A、10 B、1 C、任意多 D、256 13、33.结构化程序设计中的三种基本结构是顺序结构、分支结构和() A、选择结构 B、循环结构 C、混合结构 D、跳转结构 14、假定STUDENT.DBF学生数据库文件中前六条记录均为男生的记录,执行以下命令序列: USE.STUDENT GOTO 3 LOCATE NEXT 3 FOR 性别="男" 后,记录指针定位在( ) A、第3条记录上 B、第4条记录上 C、第5条记录上 D、第6条记录上 15、68.下面有关表索引的几种说法,正确的是() A.索引和排序一样,它改变记录的物理顺序。

高级语言程序设计期中试卷B

上海电机学院 2010–2011学年第 2 学期 《高级语言程序设计》期中考试试卷B 2011.5 开课学院:电子信息学院, 考试形式:闭卷, 所需时间 90 分钟 考生姓名: 学号: 班级 一、填空题(共20分,每空格1分) 1.将数学式b a x ) (sin 2转换成C 语言表达式 。 2.getchar 函数的作用是 。 3.C 语言程序的基本单位是函数。程序的执行总是从 开始。 4.在C 程序中,逻辑运算符的操作对象,用 表示“真”,用 表示“假”。在求逻辑值时,用 表示逻辑表达式值为“真”,用 表示逻辑表达式值为“假”。 5.执行 printf("%d\n",(int)(2.5+3.0)%2); 的输出结果是 。 6.C 语言提供的三种逻辑运算符为: 、 和 。 7.设整型变量 x 、y 、z 均为3:则 ①执行"x -=y+x"后,x = ②执行"x %=y +z"后,x = 8. 设有说明语句:int a=21, b=6; 则a/b 的十进制数值为________ 9. 设有说明语句:int x=3, y=2; 则计算表达式(x=5) || (y=6*x) 后变量y 的值是________ 10 设a,b,c,t 为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后, t 的值是 11.结构化程序设计的三种基本结构是 结构, 结构和 结构。 12.设定义 int k=1,n=163;执行下面程序段后,k 的值是 。 do { k*=n%10; n/=10; } while(n); 二、选择题 (共17分,每小题1分) 1.表达式3/5的值为: ( ) A . 0 B . 0.6 C . 0.600000 D .1 2.表达式“9!=9”的值是 ( ) A . true B .非0值 C . 0 D .1 3.设ch 是char 型变量,其值为‘A ’,则下面表达式的值是 ( )

数据库期末考试习题及答案

2004-2005学年第二学期期末考试 C 2002级计算机科学与技术专业《数据库原理与应用》课程试题 :1分)一、选择题(15分,每空1.在数据库中,产生数据不一致的根本原因是____。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 2.相对于其他数据管理技术,数据库系统有①、减少数据冗余、保持数据的一致性、②和③的特点。 ①A.数据统一 B.数据模块化 C.数据结构化 D.数据共享 ②A数据结构化 B.数据无独立性 C.数据统一管理 D.数据有独立性 ③A.使用专用文件 B.不使用专用文件 C.数据没有安全与完整性保障 D.数据有安全与完整性保障 3.关系运算中花费时间可能最长的运算是____。 A.投影 B.选择 C.笛卡尔积 D.除 4.关系数据库用①来表示实体之间的联系,关系的数学定义是②。 ①A.层次模型 B.网状模型 C.指针链 D.二维表格数据 ②A.若干域(domain)的集合 B.若干域的笛卡尔乘积(Cartesian product) C.若干域的笛卡尔乘积的子集 D.若干元组(tuple)的集合 5.集合R与S的连接可以用关系代数的5种基本运算表示为________。 A.R-(R-S) B.σ (R×S) F C.空 D.空 6.在关系代数中,对一个关系做投影操作后,新关系的元组个数____原来关系的元组个数。A.小于 B.小于或等于 C.等于 D.大于 7.下列SQL语句中,创建关系表的是____。 A.ALTER B.CREATE C.UPDATE D.INSERT 8.关系数据库设计中的陷阱(pitfalls)是指________。 A.信息重复和不能表示特定信息 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入 9.数据库的____是为了保证由授权用户对数据库所做的修改不会影响数据一致性的损失。 A.安全性 B.完整性 C.并发控制 D.恢复 .事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务10.

语言程序设计复习题

《C语言程序设计》复习题库 1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717 #include main() {float T,m,i,n; T=0; for(m=1;m<=5;m++) {n=1; for(i=1;i<=m;i++) {n=n*i;} T=T+(1/n);} printf("%.3f",T);} 2、程序填空:用*号输出字母C的图案。 #include "stdio.h" #include "conio.h" main() { _____________ printf(" *\n"); _____________ _____________ getch(); } 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:1533459 #include main() {long a,b,c,d,s,n; s=0; for(n=1000;n<=9999;n++) {if(n%2==1) {a=n/1000%10; b=n/100%10; c=n/10%10; d=n%10; if((a+b+c+d)%15==0) s=s+n;} }

printf("%ld",s);} 4、/*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/ 答案:6591 #include void main() { int total=0, mc=1, k=700; 改成mc=0 int pm[10],count=0; while( (k>=2) && mc<=10 ) { if ((k%13==0) || (k%17==0)) { pm[mc] = k; mc++; } k--; } for( k=1;k<=10;k++ ) total += pm[k-1]; printf(" %d\n",total); } 5求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。 5、#include 6、#include 7、main() 8、{ 9、 float x,t; 10、x=1,t=5; 11、do 12、{x=x+1/t; 13、t=t+2;}while(abs(1/t)>0.0001); 14、printf("%f",x); 15、} 16、 6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。答案:0.6180339850 #include main() { double n,x; x=1; for(n=2;n<=20;n++) x=1/(1+x);

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

高级语言程序设计(C)模拟试题二

高级语言程序设计(C)模拟试题二 一、单项选择题(每题3分,合计60分) 1.自定义标识符中,符合C语言规定的是。 A. for B. 3a C. *a D. _123 2.为表示关系100≥x≥10,应使用C语言表达式。 A. (100>=x)&&(x>=10) B. (100>=x) AND (x>=10) C. (100>=x>=10) D. (100>=x)&(x>=10); 3.定义int a; float f; double i; 表达式15+i*f+ˊAˊ的值是。 A. float B. int C. char D. double 4.下面程序要求从键盘上输入值并打印,请选择正确的输入方法。 main( ) { int a,b; scanf("x=%d,y=%d",&x,&y); printf("x=%d,y=%d\n",x,y); } A. 5,6 B. x=5, y=6 C. 5↙6 D. 5 6 5.定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是。 for(i=0;i<3;i++) printf("%d",x[i][2-i]); A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9 6.在定义了 int a[3][2];之后,对a的引用正确的是。 A.a[3][2] B.a[3][0] C.a[0][0] D.a[0,0] 7.执行以下程序段后,m的值为。 int a[2][3]={{1,2,3},{4,5,6}}; int m,*p; p=&a[0][0]; m=(*p)+(*(p+2))+(*(p+4)); A. 9 B. 8 C. 7 D. 6

数据库期末试题附答案

《数据库原理》课程考试模拟题四 一、单项选择题(在每小题的四个备选答案中选出一个正确答案。本题共16分,每小题1分) 1. 在数据库中,下列说法()是不正确的。 A.数据库中没有数据冗余 B.数据库具有较高的数据独立性 C.数据库能为各种用户共享 D.数据库加强了数据保护 2. 按照传统的数据模型分类,数据库系统可以分为( )三种类型。 A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体 3. 在数据库的三级模式结构中,( )是用户与数据库系统的接口,是用户用到的那部分数据的描述。 A.外模式 B.内模式 C.存储模式 D.模式 4. 下面选项中不是关系的基本特征的是( )。 A. 不同的列应有不同的数据类型 B. 不同的列应有不同的列名 C. 没有行序和列序 D. 没有重复元组 5. SQL语言具有两种使用方式,分别称为交互式SQL和( )。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 6. 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C},则(BD)+为( )。 A.BCD B.BC C.ABC D.C 7. E-R图是数据库设计的工具之一,它适用于建立数据库的( )。 A.概念模型 B.逻辑模型 C.结构模型 D.物理模型8. 若关系模式R(ABCD)已属于3NF,下列说法中( )是正确的。 A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是 9. 解决并发操作带来的数据不一致性普遍采用( )。 A.封锁技术 B.恢复技术 C.存取控制技术 D.协商 10. 数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( )。 A.可靠性 B.一致性 C.完整性 D.安全性 11. 一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中,不会丢失。这是指事务的( ) 。 A. 原子性 B. 一致性 C. 隔离性 D. 持久性 12. 在数据库中,软件错误属于( )。

C语言程序设计期末考试复习题及答案[1]

C语言考试期末考试复习题及答案 一、选择题 (1) 一个C语言程序总是从(C )开始执行 A) 书写顺序的第一个函数 B) 书写顺序的第一条执行语句 C) 主函数main() D) 不确定 (2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D ) A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y D) !((x

数据库习题及答案,第三版

2004-2005学年第二学期期末考试 D 2002级计算机科学与技术专业《数据库原理与应用》课程试题 一、选择题(15分,每空1分): 1 .数据库系统中,物理数据独立性( physical data independenee )是指 _ 。 A. 数据库与数据库管理系统的相互独立 B. 应用程序与DBMS 的相互独立 C. 应用程序与存储在磁盘上数据库的物理模式是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 2. _____________________ 数据库系统的特点是 、数据独立、减少数据冗余、避免数据不一 致和加强了数据保护。 A. 数据共享 B .数据存储 C.数据应用 D .数据保密 3. 数据库管理系统能实现对数据库中数据的查 询、 插入、修改和删除等操作的数据库语言称为 A. 数据定义语言(DDL ) B .数据管理语言 C.数据操纵语言(DML ) D .数据控制语言 4. 在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为①;从表中选出满足某种 条件的元组的操作称为②;_将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为③。 A. 选择 B .投影 C.连接 D.扫描 5. _________________________ 关系模型中,一个候选码 。 A .可由多个任意属性组成 B. 至多由一个属性组成 C. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D. 必须由多个属性组成 7.数据库中只存放视图的 __________ 。 A .操作 B .对应的数据 C. 定义 D.限制 9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限, O A. 可靠性 B. —致性 C.完整性 D .安全性 6. SQL 语言是 语言。 A .层次数据库 C .关系数据库 B. 网络数据库 D .非数据库 &关系数据库规范化是为解决关系数据库中 问题而引人的。 A .数据冗余 B. 提高查询速度 C.减少数据操作的复杂性 D .保证数据的安全性和完整性 这主要是为了实现数据库的

高级语言程序设计练习题

(一)填空题: 1.C语言程序的基本单位是______________。 2.在C语言中,数字056是一个______________进制数,0xFF是一个______________进制数。 3.若程序中使用了函数scanf(),则必须包含的头文件名为。 4. 若程序中使用了函数strlen(),则必须包含的头文件名为。 5.C语言程序的三种基本结构是______________、______________、______________。 6.若程序中使用了函数sqrt(),则必须包含的头文件名为。 7.C语言中运算对象必须是整型的运算符是。 8.C语言中整型数据除以整型数据得到数据。 9.C语言源程序文件的扩展名是;经过编译后,所生成文件的扩展名是;经过链接后,所生成的文件扩展名是。 10. 若定义int a[3][5];则a数组所含数组元数个数是,sizeof(a)的值 是,其首地址是。 11.在C语言中,数组名是数组的,同时它是一个______ 常量。 12.判断字符型变量ch是否为小写英文字母的C语言表达式为____________________________。 13.判断变量a的数值范围1≤a≤10的C语言表达式是__________________ _________ _。 14.C语言运算符中,++和--的结合方向(运算方向)是___________________。 15.当用户输入的字符串含空格时,应使用 ___ 函数读入字符串。 16.函数直接或间接地调用自己本身称为_______________________。 17.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后,a的值为,b的值为。 18.字符串"student"的长度是,它在内存中的字节数为。 19. 设a、b、c为整型数,且a=2,b=3,c=4,则执行语句"a*=16+(b++)-(++c);"后,a的 值是。 20.执行int x,y,z;x=y=1;z=(x++,++y,y++);后, 则x= ,y= ,z= 。 21.定义语句int x,y;,执行y=(x=1,++x,x+2);语句后,则x= ,y= 。 22. 执行下列语句int a=2;a+=a-=a*a; 后,a的值是。 23.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 _ _ _。

sql数据库期末考试题及答案

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是( C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D )。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。 A. SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 9. 列值为空值(NULL),则说明这一列( C)。 A. 数值为0

JAVA语言程序设计复习题

山东理工大学成人高等教育JAVA语言程序设计复习题 一、选择题 1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的()。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 2、下列哪个是JAVA应用程序主类中正确的main方法声明()。 (A)public void main(String args[]) (B)public static void main(String args[]) (C)static void main(String args[]) (D)public static void Main(String args[]) 3、设有数组的定义double[] a = new double[4],则下面对数组元素的引用错误的是()。 (A)a[0]; (B)a[a.length]; (C)a[3]; (D)int i=1; a[i]; 4、Java语言使用的字符码集是( )。 (A) ASCII (B) BCD (C) DCB (D) Unicode 5、覆盖与重载的关系是()。 (A) 覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 (B) 覆盖方法可以不同名,而重载方法必须同名 (C) final修饰的方法可以被覆盖,但不能被重载 (D) 覆盖与重载是同一回事 6、下面关键字中,哪一个不是用于异常处理语句()。 (A)try (B)break (C)catch (D)finally 7、类与对象的关系是()。 (A)类是对象的抽象(B)对象是类的抽象 (C)对象是类的子类(D)类是对象的具体实例 8、下面哪一个是Java中不合法的标识符()。 (A)$persons (B)twoNum (C)_myVar (D)*point 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10、如下的程序,下列选项中与构造方法ConstOver重载的构造方法是( )。 public class ConstOver{ public ConstOver(int x, int y, int z){ } } A、ConstOver( ) { } B、Protected int ConstOver ( ) { } C、Private ConstOver (int z, int y, byte x) { } D、public Object ConstOver(int x, int y, int z) { } 11、已知类关系如下: class Employee; class Manager extends Employee; class Director extends Employee; 则以下关于数据的语句正确的是:()。 A、Employee e=new Manager(); B、Director d=new Manager(); C、Director d=new Employee(); D、Manager m=new Director(); 12、( )下面代码定义的接口中,方法MyMethod()的修饰属性为: interface InterfaceDemo{ int MyMethod();}

相关文档
相关文档 最新文档