admin 管理员组

文章数量: 1087649


2025年1月2日发(作者:vbs脚本sleep函数)

2023年山东省德州市全国计算机等级考试

数据库技术真题(含答案)

学校:________ 班级:________ 姓名:________ 考号:________

一、1.选择题(10题)

1. 计算机的技术性能指标主要是指

A.所配备语言、操作系统、外围设备

B.字长、运算速度、内/外存容量和CPU的主频

C.显示器的分辨率、打印机的配置

D.磁盘容量、内存容量

2. 在数据库技术中,面向对象数据模型是一种( )。

A.物理模型 B.结构模型 C.概念模型 D.逻辑模型

3. 下列属于数据定义方面的程序模块的是

Ⅰ.查询处理程序模块

Ⅰ.完整性定义模块

Ⅰ.数据更新程序模块

Ⅰ.安全性定义程序模块

A.Ⅰ和Ⅰ B.Ⅰ和Ⅰ C.Ⅰ和Ⅰ和Ⅰ D.全部

4. 设关系R和S的元组个数为100和300,关系T是R与S的笛卡尔

积,则T的元组个数是 ______。

A.400 B.10000 C.30000 D.90000

5.关于计算机语言,下面叙述不正确的是()

A.高级语言较低级语言更接近人们的自然语言

B.高级语言、低级语言都是与计算机同时诞生的

C.机器语言和汇编语言都属于低级语言

语言、PASCAL语言、C语言都属于高级语言

6. 在作业管理中,JCL是指 ( )。

A.作业控制语言 B.作业命令行 C.作业命令连接 D.作业控制方式

7. 虚拟页式存储管理中页表有若干项,当内存中某一页面被淘汰时,可

根据什么决定是否将该页写回外存?

A.内存标志 B.外存地址 C.修改标志 D.访问标志

8.在文件系统中,文件的逻辑块与存储介质上物理块存放顺序一致的物

理结构是

A.顺序结构 B.链接结构 C.索引结构 D.B+树结构

9. 程序中的地址通常是逻辑地址,也称虚地址,它和主存的物理地址是

不一致的。程序执行时,必须将逻辑地址转换成物理地址,这一过程称

为________。

A.内存分配 B.页面提交 C.地址保护 D.地址映射

10. 数据结构主要是研究( )。

A.数据的逻辑结构 B.数据的存储结构 C.数据的逻辑结构和存储结构

D.数据的逻辑结构和存储结构及其数据在运算上的实现

二、填空题(10题)

11.计算机网络拓扑主要是指通信子网的拓扑构型,它对网络性能、系统

可靠性与___________都有重大影响。

12.数据库中的用户按操作权限的不同,通常分为__________、

__________和__________三种。

13. 对于给出的一组权w={5,6,8,12},通过霍夫曼算法求出的扩充

二叉树的带权外部路径长度为_____。

14.

【】 是专门用来进行数据检索,以及便于以后进行数据加工的一种重要

的数据库对象。

15. 数据库应用系统的设计应该具有对数据进行收集、存储、加工、抽

取和传播等功能,即包括数据设计和处理设计,而【 】是系统设计的基

础和核心。

16. 并行数据库系统的性能有两种主要的度量,分别是吞吐量和______。

17.虚电路的工作方式的工作过程分为3个阶段:虚电路建立阶段、

___________阶段与虚电路拆除阶段。

18.具有数据库中进行全部操作权限的固定数据库角色是:( )

19.数据库管理员的英文缩写是 【】

公司的NetWare最著名的地方就是它的___________和打印管

理。

三、单选题(10题)

21.下列计算机表示的信息中,不能称为"数据"的是( )

A.人的姓名 B.图形符号 C.计算机程序 D.文件名

22.用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front

和rear,则循环队列中当前元 素的个数为( )

A.(rear-front m) mod m

B.(rear-front 1) mod m

C.(rear-front-1 m) mod m

D.(rear-front) mod m

23.消息认证是指接收者能够检验收到消息真实性的方法,下列不属于

消息认证的检验内容?

A.A.证实消息的源和宿 B.消息的内容是否保持其完整性 C.消息

的序号和时间性 D.消息是否被窃取

24.在关系代数运算中,五种基本运算为( )

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、

差、选择、投影、乘积 D.并、差、交、选择、乘积

25.逻辑设计主要是把概念模式转换成( )

能处理的模式 B.与DBMS无关的模式 C.层次结构模型 D.子

模式

26.以下关于OSI的描述中,错误的是( )。

详细说了各层提供的服务,但各层提供的服务与这些服务如何实

现无关

不是一个标准,只是一个在制定标准时所使用的概念性的框架

提供了一系列可以实现的方法

中采用了三级抽象

Server 2008 系统数据库MASTER的主要功能是

A.控制用户数据库和SQL Server的整体运行

B.为创建新的用户数据库提供模板或原型

C.为临时表或其他临时工作区提供存储区域

D.为调度信息和作业历史提供存储区域

28.在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据

库的结构被划分成用户级、 ( )和存储级3个层次。

A.管理员级 B.外部级 C.概念级 D.内部级

29.采用SPOOLing技术的主要目的是( )。

A.提供内存和磁盘的接口 B.减轻用户编程负担 C.提高CPU和设备交

换信息的速度 D.提高独占设备的利用率

30.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的( )

A.文件的集合 B.数据的集合 C.命令的集合 D.程序的集合

四、C语言程序设计题(10题)

31. 已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:从数组a

中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千

位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位

数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数

字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原

四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个

新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整

除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入

数组b中,并计算满足上述条件的四位数的个数cnt,而后对数组b进

行降序排序。最后main函数调用写函数writeDat把结果cnt以及数组b

中符合条件的四位数输出到out.dat文件中。

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新

数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512

这个四位数满足题意所规定条件。

32. 已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数

ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,

其功能要求:

1.求出该文件中共有多少个正整数totNum;

2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数

totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。

最后main函数调用函数 WriteDat把所求的结果输出到文件out.dat

中。

注意:部分源程序存放在test.c文件中。

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat

和输出函数WriteDat的内容。

33. 已知在文件in.dat中存有100个产品销售记录,每个产品销售记录

由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整

型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数

量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编

制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名

称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell

中。最后mainoi函数调用函数WriteDat把结果输出到文件out.dat中。

提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解

题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp;

注意:部分源程序存放在test.c文件中。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

34. 已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数isVal,其功能是:把千位数

字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字

是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及

把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数

字),如果新组成的两个位数ab>cd,ab必须是偶数且能被5整除,cd必

须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位

数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的

个数cnt。最后main函数调用写函数writeDat把结果cnt以及数组b中

符合条件的四位数输出到0ut.dat文件中。

35. 函数readDat是从文件in.dat中读取20行数据存放到字符串数组

XX中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能

是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍

按行重新存入字符串数组XX中,最后调用函数writeDat把结果XX输

出到文件out.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值升序排序,

右边部分不变,左边经排序后再与右边部分进行交换。如果原字符串长

度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

36. 函数ReadDat实现从文件in.dat中读取一篇英文文章存入到无符

号字符串数组XX中;请编制函数ChA,其函数的功能是:以行为单位

把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到

第一个新的值,存入数组单元xx[i][0]中(其中:i是文章中的某行)。第

二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的值,存

入数组单元xx[i][1]中。以此类推一直处理到最后第二个字符,最后一个

字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的值,存

放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新

存入无符号字符串数组XX中。最后main函数调用函数WriteDat把结

果XX输出到out.dat文件中。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符

号和空格,并也按它的ASCII值作以上处理。注意:部分源程序存放在

test.c文件中。

请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat

的内容。

37. 在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数

ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,

其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些

正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的

这些正整数的算术平均值totPjz。最后main函数调用函数WriteDat把

所求的结果输出到0ut.dat文件中。

注意:部分源程序存放在test.c文件中。

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat

和输出函数WriteDat的内容。

38. 已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把个位数

字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是

原四位数的个位数字,新数的个位数字是原四位数的千位数字),以及把

百位数字和十位数字组成另~个新的含有两位数字的数(新数的十位数

字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如

果两个新组成的数均是偶数并且至少有一个数能被9整除,同时两个新

数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存

入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main函

数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出

到0ut.dat文件中。

39. 编写一个函数findStr(char*str,char*substr),该函数统计一个长度为

2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数

值返回。例如,假定输入的字符串为”asd asasdfg asd as zx67 asdmklo”,

子字符串为”as”,函数返回值是6。

函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,

最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函

数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

40. 函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符

串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX

中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数

WriteDat把结果XX输出到文件 out.dat中。

替代关系:f(p)=p*11 mod 256,mod为取余运算,P是数组XX中某一

个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义

成整型变量),如果原字符的ASCII值是偶数或计算后f(p)值小于等于

32,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

五、设计与应用题(2题)

41.某教务管理系统使用SQL Server 2008数据库管理系统,数据库软硬

件配置信息如下:Ⅰ.数据库运行在两路Intel Xeon E5-2609 2.4GHz

CPU(每路CPU4核心),128GB内存、2块300GB15000转SAS硬盘

(RAID l)的服务器上;Ⅰ.服务器操作系统为Windows 2003 32位企

业版,安装SP2补丁;Ⅰ.数据库为SQL Server 2008 Enterprise(32位),

数据库中总数据量近130GB。近一个学期以来,用户反映系统运行缓慢,

经程序员定位,确定为数据库服务器响应缓慢,需要进行调优。(10分)

42.现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年

份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有

多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序

号。请完成以下操作:(10分)(1)画出E-R图。(2)将E-R图转换成

关系模式,并指出每个关系模式的主键(加下划线)和外键(加波浪线)。

六、单选题[1分](2题)

43.在一台正在运行的SQL Server 2008中,现需使用复制数据库文件的

方法将某数据库从一台服务器移动到另一台服务器。关于复制数据库文

件,有下列实现方法:1.首先从数据库服务器中分离出要复制的数据

库,然后复制数据库文件Ⅰ.首先停止SQL Server数据库引擎服务,然

后复制数据库文件Ⅰ.首先断开所有用户与数据库的连接,然后复制数

据库文件Ⅰ.由Windows系统管理员直接到操作系统中复制数据库文件

上述方法中,可行的是( )。

A.仅I和Ⅰ B.仅Ⅰ和Ⅰ C.仅Ⅰ和Ⅰ D.都可以

44.某公司计划开发一套生产管理系统,在开发前需对数据库产品进行选

型工作。下列有关数据库产品选型的说法,错误的是( )。

A.由于关系数据库均采用SQL语句对数据库中数据进行维护,因此数

据库产品选定后如需进行更换,应用程序无需修改

B.存诜型过程中需要考虑应用系统的可用性、可靠性和连续性要求

C.在选型过程中需要考虑数据库管理系统所支持的操作系统平台,例如

SQL Server数据库管理系统只支持在Windows操作系统上运行

D.部分数据库管理系统在大数据量和大并发情况下可能出现速度变慢、

死锁等问题,因此在选型过程中应充分考虑数据量和性能需求

参考答案

1.B解析:计算机的技术性能指标主要指的是机器本身的硬件性能,不

要把打印机之类的外设扯进来,选项D)虽然涉及到一点,但太片面。

2.B解析:数据模型的分类根据模型应用的不同目的,可以将模型划分

为以下两类,它们分别属于不同的两个层次。概念模型:也称信息模型,

是按用户的观点对数据和信息建模。结构模型:是按计算机系统的观点

对数据建模,包括层次模型、网状模型、关系模型和面向对象模型。

3.A解析:查询处理程序模块、数据更新程序模块属于数据操纵方面的

程序模块;完整性定义模块、安全性定义程序模块属于数据定义方面的

程序模块。掌握数据操纵程序模块和数据定义程序模块的区别和联系。

4.C解析:根据笛卡尔积的定义可知,如果关系R和S的元数分别为r

和s。R和S的笛卡尔积是一个r+s的元的元组集合,每个元组的前r个

分量来自R的一个元组,后s个分量来自S的一个元组;若R中有m

个元组, S有n个元组,则R * S有m * n个元组。因此,本题R与S

的笛卡尔积的元组个数应为100*300=30000。

5.B程序设计语言根据其面向的不同对象(机器过程)分为低级语言和高

级语言两种。面向机器的计算机语言称为低级语言,面向过程的计算机

语言称为高级语言。机器语言是以二进制代码表示的指令集合,是计算

机能直接识别和执行的语言。机器语言的优点是占用内存少,执行速度

快,缺点是面向机器的语言,随机而异,通用性差,而且指令代码是二

进制形式,不易阅读和记忆,编程工作量大,难以维护。汇编语言是符

号化的机器语言,与机器语言相比,汇编语言容易写,容易懂,也容易

记。缺点与机器语言相同,即通用性差,随机而异。高级语言是一种与

具体计算机硬件无关,表达方式接近于人类自然语言的程序设计语言。

高级语言的优点是通用性强,可以在不同的机器上运行,程序可读性强,

便于维护,极大地提高了程序设计的效率和可靠性。BASIC语言、

PASCAL语言和 C语言都属于高级语言。

6.A解析:JCL是Job Control Language的简写,指作业控制语言。JCL

是用户书写作业说明书的特殊的程序语言,通常包含作业描述、资源说

明、作业执行、作业流程控制等作业控制语句。

7.C解析:在虚拟页式存储管理中,当内存中某一页面被淘汰时,可根

据修改标志决定是否将该页写回外存。

8.A解析:顺序结构把逻辑上连续的文件信息依次存放在连续编号的物

理块中.链接结构将逻辑上连续的文件分散存放在若干不连续妁物理块

中,每个物理块设有一个指针,指向其后续的物理块。索引结构是将逻

辑上连续的文件存放在若干个不连续的物理块中,系统为每个文件建立

一张索引表,索引表记录了文件信息所在的逻辑块号和与之对应的物理

块号。

9.D解析:程序在装入内存之前,通常为逻辑地址形式,有时甚至在装

入内存后,程序仍为相对地址形式。为了保证CPU执行程序指令时能

正确访问存储单元,需要将用户程序中的逻辑地址转换为可由机器直接

寻址的物理地址,这一过程称为地址映射。

10.D解析:数据结构是相互之间存在一种或多种特定关系的数据元素的

集合,这种关系包括逻辑关系、物理关系以及相互之间的联系。

11.通信费用 【解析】计算机网络拓扑主要是指通信子网的拓扑构型,

它对网络性能、系统可靠性与通信费用都有重大影响。

12.系统管理员 数据库对象拥有者普通用户

13.61

14.查询查询是从数据表中检索数据的主要方法

15.数据设计数据设计 解析:数据库应用系统的基础是数据库,因此数

据设计是系统设计的基础和核心。

16.响应时间响应时间 解析:并行系统通过并行地使用多个CPU和磁盘

提高处理速度和I/O速度。对数据库系统的性能有两种主要的度量:吞

吐量和响应时间。

17.数据传输 【解析】虚电路的工作方式的工作过程分为3个阶段:虚

电路建立阶段、数据传输阶段与虚电路拆除阶段。

_owner

a Base Administrator,数据库管理员。

20.文件 【解析】NetWare以其强大的的文件和打印服务能力而久负盛

名。

21.C

22.A

23.D

消息认证是指接收者能够检验收到消息真实性的方法,检验的内容包

括:

①证实消息的源和宿

②消息的内容是否保持其完整性、即未篡改

③消息的序号和时间性

24.B

25.A

26.C

OSI参考模型并没有提供一个可以实现的方法。OSI参考模型只是描述

了一些概念,用来协调进程问通信标准的制定。

27.A

28.C

对应于外模式的数据库称为用户级数据库。它是用户可以看到并准许

使用的数据库。模式也叫做概念模式,它是全局逻辑级的,是数据库

的整体逻辑结构。内模式对应于数据库的存储结构,是为了提高模式

对存储设备的独立性而设立的。

29.D解析:在一类设备上模拟另一类设备的技术称为虚设备技术。通常

使用高速设备来模拟低速设备,以此把原来慢速的独占设备改造成为若

干进程共享的快速共事设备。就好像把一台设备变成了多台虚拟设备,

从而提高了设备的利用率.我们称被模拟的设备为虚设备。SPOOLing

技术是一类典型的虚设备技术。

30.B解析:根据数据库的定义可知,数据库是长期储存在计算机内的、

有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、

描述和存储,具有较小的冗余度、较高的数据独立性、和易扩展性,并

可为各种用户所共享。

31.n【审题关键句】个位+于位与百位+十位,奇数,偶数,整除,从大

到小排序。

n【解题思路】

n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,体现在两个方面:①分解后重新组合成十位数的方式不同,

参考答案的第8、9条语句重新指定两位数的组合方式;②新组合的两

位数的奇偶性判断及整除判断,参考答案的第10条语句。

n本题第10条语句中各条件表达式之间的关系有些复杂,大致思路是:

①首先判断新组合的两位数的十位不为0,即表达式“gwbw”;②再判断

新组合的第一个两位数为偶数,第二个两位数为奇数,且两个两位数中

至少有一个能被17整除的情况,两个整除关系表达式式要用或运算符

(11)连接,且用括号括起来先计算或运算,再与奇偶性判断表达式进行

与运算;③最后,在判断新组合的第一个两位数为奇数,第二个两位数

为偶数,且两个两位数中至少有一个能被17整除的情况(各表达式之间

的连接关系同第2步)。完成以上3部分的表达式设计后,再通过与运

算将3部分表达式连接起来。

n【参考答案】

n

n

32.n【审题关键句】读取正数,统计个数,右移后为奇数的个数及平均

值。

n【解题思路】

n本题类似第44套试题,通过审题可以发现仅有一个不同点,即参与

平均值计算的元素是数组xx[i]右移一位之后为奇数的元素,参考答案的

第9条语句。

n【参考答案】

n

n

33.n【审题关键句】计算金额,按产品名称从大到小进行排列,相同的

则按金额从大到小排列,结果存入结构数组。

n【解题思路】

n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第8行进行修改即可。

n【参考答案】

n

n

34.n【审题关键句】千位+十位与个位+百位,比较大小,整除,奇数,

从大到小排序。

n【解题思路】

n本题类似第26套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,即判断新组合的两位数要求第一个为偶数,第二个为奇数,

比较两题的第10条语句,只需将新组合的第二个数的判断条件改为奇

数判断,即“newV2%2”。

n【参考答案】

n

n

35.n【审题关键句】以行为单位从字符串左边部分升序排序,排序后左

边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字

符不参加处理。

n【解题思路】

n本题类似第77套试题,通过审题可以发现主要是对字符串左边部分

排序时所采用的排序方式不同,参考答案的第11行,修改if条件语句

的设置即可。

n【参考答案】

n

n

36.n【审题关键句】以行为单位,新字符串中每个字符的ASCII码值等

于该位置上的原字符ASCII码值加其后面一个字符的ASCII码值,逆

序排序。

n【解题思路】

n①定义整型循环变量i、j和字符局部变量yuan。

n②在第一层for循环中,循环变量i从0开始,依次递增直到其值大于

或等于maxline,在循环体中,首先把第i行的第一个字符)XX[i][0]赋给

变量yuan,在第二层for循环中,循环变量j从0开始,依次递增直到

其值等于该行字符串的长度减1,在循环体中,将字符xx[i][j]的ASCII

码值与字符)XX[i][j+1]的ASCII码值相加的和保存到字符)xx[i][j]中。当

退出第二层for循环后,把第i行的最后一个字符与第一个字符变量yuan

的值相加,最后通过strreV函数对i行字符串逆序排序。

n【参考答案】

n

n

37.n【审题关键句】读取正数,统计个数,各位数字之和为偶数的数的

个数及平均值。

n【解题思路】ntt定义整型循环变量i、j,表示各位数字之和的长整

型变量he以及存储一个四位数的字符数组num[5]。

n②循环变量i从0开始,依次递增到4,对字符数组num[5]的每个元

素赋初值0。

n③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素

xx[i]进行判断,如果xx[i]的值非零,则变量totNum加1,退出循环时,

totNm的值就是文件in.dat中存有的四位正整数的个数。

n④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]

调用库函数sprintf以4个字符宽度形式输出到字符数组num中,用字

符数组num中的每个元素减去0的ASCII码48,就分别得到XX[i]这

个四位数每位上的数字,并把这四个数字相加赋给变量j。再对变量j对

2求余数进行判断其值是否等于0,如果等于0,则说明j是偶数,变量

totCnt加1,并把xx[i]的值累加到变量he。

n⑤退出循环后,把变量he的类型转换成双精度型再除以totCnt得到

符合条件的数的算术平均值totPjz。

n【参考答案】

n

n

38.n【审题关键句】个位+千位与百位+十位,偶数,整除,从大到小排

序。

n【解题思路】

n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,体现在两个方面:①分解后重新组合成两位数的方式不同,

参考答案的第8、9条语句重新指定两位数的组合方式:②新组合的两

位数的偶数的判断及整除判断,参考答案的第10条语句。注意,两个

整除关系表达式要用或运算符(||)连接,且用括号括起来先进行整除运算

(因为或运算级别比与运算级别低,因此要括起来),再与奇偶性判断表

达式进行与()运算。

n【参考答案】

n

n

n

39.n【审题关键句】统计一个长度为2的子字符串在另一个字符串中出

现的次数。

n【解题思路】

n①定义字符指针p,q,并且q指向字符串str。定义计数整型变量cnt,

设置其值等于0。

n②在while循环中调用C语言的字符串库函数strstr,返回子字符串

substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如

果p的值为空,则说明在字符串str没有找到子字符串,退出循环。否

则,变量cnt加1,再把P的值加2(因为子字符串substr的长度为2)赋

给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循

环结束。

n③最后,返回子字符串substr在字符串str中出现的次数。

n【参考答案】

n

40.n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或原字符

的ASCII码是偶数不变,否则替换。

n【解题思路】

n本题类似第70套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。

n【参考答案】

n

n

41.【解题思路】数据库性能优化的基本原则就是通过尽可能少的磁盘访

问获得所需要的数据。SQL SERVER性能优化一般从数据库设计、应用

程序编码、硬件优化、数据库索引、SQL语句、事务处理几个方面人手

考虑问题。(1)分析阶段:在系统分析阶段往往有太多需要关注的地方,

系统各种功能性、可用性、可靠性、安全性需求吸引了我们大部分的注

意力,但必须注意的是,性能往往是很重要的非功能性需求,必须根据

系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好

能有各种需求量化的指标。(2)设计阶段:例如数据库逻辑设计规范化;

合理的冗余;主键的设计;外键的设计;字段的设计;数据库物理存储

和环境的设计;数据库的物理存储、操作系统环境及网络环境的设计,

皆使得我们的系统在将来能适应较多用户的并发操作和较大的数据处

理量。这里需要注意文件组的作用,适用文件组可以有效的把I/O操

作分散到不同的物理硬盘,提高并发能力。(3)系统设计:整个系统的

设计,特别是系统结构的设计对性能具有很大的影响。对于一般的OLTP

系统,可以选择C/S结构、三层的C/S结构等,不同的系统结构其

性能的关键也有所不同。系统设计阶段应归纳某些业务逻辑在数据库编

程阶段实现,数据库编程包括数据库存储过程、触发器和函数。用数据

库编程实现业务逻辑的好处是减少网络流量并能更充分利用数据库的

预编译和缓存功能;索引设计阶段可以根据功能和性能的需求进行初步

的索引设计,这里需要根据预计的数据量和查询来设计索引,可能与将

来实际使用时有所区别。(4)编码阶段:编码阶段首先需要所有程序员

具备优化意识,也就是在实现功能的同时具备考虑优化性能的思想。数

据库是能进行集合运算的工具,所谓集合运算实际是批量运算,即是尽

量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过

程代替。这个阶段主要是注意在SQL语句等方面的优化,如:尽量少做

重复的工作,用SELECT后跟需要的字段代替SELECT*语句,注意事

务和锁,注意I临时表和表变量的用法,慎用游标和触发器,尽量使用

索引等。(5)硬件优化:RAID(独立磁盘冗余阵列)是由多个磁盘驱动

器(一个阵列)组成的磁盘系统。通过将磁盘阵列当作一个磁盘来对待,

基于硬件的RAID允许用户管理多个磁盘。使用基于硬件的RAID与基

于操作系统的RAID相比较可知,基于硬件的RAID能够提供更佳的性

能,如果使用基于操作系统的RAID,那么它将占据其他系统需求的CPU

周期,通过使用基于硬件的RAID,用户在不关闭系统的情况下能够替

换发生故障的驱动器。利用数据库分区技术,可均匀地把数据分布在系

统的磁盘中,平衡I/0访问,避免I/0瓶颈等。(6)事务处理调优:

数据库的日常运行过程中,可能面临多个用户同时对数据库的并发操作

而带来的数据不一致的问题,如:丢失更新、脏读和不可重复读等。并

发控制的主要方法是封锁,锁的含义即是在一段时间内禁止用户做某些

操作以避免产生数据不一致。对于事务性能的调优,要考虑到事务使用

的锁的个数(在所有其他条件相同的情况下,使用的锁个数越少,性能

越好)、锁的类型(读锁对性能更有利)以及事务持有锁的时间长短(持

有时间越短,性能越好)等情形。【参考答案】根据SQL Server 2008数

据库的特性以及题目中的条件,综合给出以下的调优方案。(1)表结构

优化:重新优化数据库设计结构,规范数据库逻辑设计;设计主键和外

键;设计合适大小的字段。(2)硬件优化:购买一块同样大小的硬盘,

将硬盘做成RAID5,用以提高数据库读写速度;增加服务器CPU个数;

扩大服务器的内存。(3)索引优化:采用对经常作为条件查询的列设计

索引,在查询中经常用到的列上建立非聚簇索引,在频繁进行范围查询、

排序、分组的列上建立聚簇索引,对于有频繁进行删除、插入操作的表

不要建立过多的索引。(4)采用视图:合理使用视图和分区视图,在需

要更新和删除操作不多、查询操作频繁的表上建立索引视图。(5)SQL

语句优化:选择运算应尽可能先做,并在对同一个表进行多个选择运算

时,选择影响较大的语句放在前面,较弱的选择条件写在后面,这样就

可以先根据较严格的条件得出数据较少的信息,再在这些信息中根据后

面较弱的条件得到满足条件的信息。应避免使用相关子查询,把子查询

转换成联结来实现。字段提取按照“需多少,提多少’’的原则,避免

“SELECT*”,“SELECT*”需要数据库返回相应表的所有列信息,这对于

一个列较多的表无疑是一项费时的操作,采用存储过程,使用存储过程

提高数据处理速度。

42.【解题思路】(1)ER图的设计原则在设计ER图时,首先应根据需

求分析,确认实体、属性和联系这三种ER图的基本要素。需要强调的

三条设计原则如下:①相对原则建模的过程实际上是对对象抽象的过程。

实体、属性和联系是对同一个对象抽象过程的不同解释和理解。在同一

情况下不同的人,或同一人在不同的情况下,对事物抽象的结果可能是

不同的。在ER图的整个设计过程中,实体、属性和联系不是一成不变,

而是可能会被不断的调整和优化。②一致原则同一对象在同一个管理系

统中的不同子系统抽象的结果要求保持一致。③简单原则为简化ER图,

现实世界中的事物能作属性对待时,应尽量作为属性处理。属性与实体

和联系之间,并无一定界限。当属性满足如下两个条件时,就不能作实

体或关系对待:不再具有需要进一步描述的性质,因为属性在含义上是

不可再分的数据项;属性不能再与其它实体具有联系,即ER图中的联

系只能是实体之间的联系。(2)ER图的组成元素是实体、属性和联系

①实体把客观存在并且可以相互区别的事物称为实体。实体可以是实际

事物,也可以是抽象事件。如一个职工、一场比赛等。②属性描述实体

的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。

③联系联系是实体间有意义的相互作用,即实体问存在的关联。在ER

图中,分别用矩形框表示实体,椭圆表示属性,菱形框表示联系。(3)

联系的类型实体之间的联系分为三种类型:一对一(1:1)、一对多(1:

n)和多对多(n:m)。题目给出了两个实体论文和作者,并且指明了论

文实体的属性包括题目、期刊名称、年份、期刊号,作者实体的属性包

括姓名、单位、地址。实体问的关系包括:一篇论文可以有多个作者,

且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号,可以知

道论文和作者是多对多的关系。同时可知论文题目和期刊号的联合是论

文关系模式的主键,姓名是作者关系模式的主键,而需要作者姓名和论

文题目才能唯一确定发表的关系模式。【参考答案】(1)

43.A复制数据库的方法有:①使用复制数据库向导在服务器之间复制或

移动数据库。②还原数据库备份,若要复制整个数据库,可以使用

BACKUP和RESTORE Transact_SQL语句。通常,还原数据库的完整备

份用于因各种原因将数据库从一台计算机复制到其他计算机。所以选A。

44.A数据库选用中该注意考虑应用系统的可用性、可靠性和连续性要

求、数据库环境,如操作系统要求等。在存在大数据的情况下,还应该

考虑到数据库对大数据的处理能力。虽然关系数据库均采用比较统一的

SQL语句对数据库中的数据进行维护,但是不同的数据库产品提供不同

的应用程序接口,因此在更换数据库产品后,一般原有的应用程序和数

据库的接口会失效,需要重新修改应用程序。


本文标签: 数据库 数据 进行 函数