2022年河北省沧州市全国计算机等级考试数据库技术真题(含答案)_第1页
2022年河北省沧州市全国计算机等级考试数据库技术真题(含答案)_第2页
2022年河北省沧州市全国计算机等级考试数据库技术真题(含答案)_第3页
2022年河北省沧州市全国计算机等级考试数据库技术真题(含答案)_第4页
2022年河北省沧州市全国计算机等级考试数据库技术真题(含答案)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022年河北省沧州市全国计算机等级考试数据库技术真题(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.设关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,下列叙述中正确的是()。

A.若X→Y为F所逻辑蕴涵,且ZU,则XZ→YZ为F所逻辑蕴涵

B.若X→Y,Y→Z为F所逻辑蕴涵,则X→Z为F所逻辑蕴涵

C.若YXU,则Y→X为F所逻辑蕴涵

D.若XYU,则X→Y为F所逻辑蕴涵

2.关系模型中,一个关键字

A.可由多个任意属性组成

B.至多由一个属性组成

C.可由一个或多个其值能惟一标识该关系模式或任何元组的属性组成

D.以上都不是

3.下列______运算不是专门的关系运算。

A.选择B.投影C.笛卡尔积D.连接

4.数据库系统的核心是__。()

A.编译系统B.数据库C.操作系统D.数据库管理系统

5.在Oracle中,可以根据用户建立的模型,自动生成数据字典、数据库表、应用代码和文档的工具是

A.OracleFormsB.ModelersC.GeneratorsD.BPR

6.设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码95被放到了第几个位置?

A.7B.8C.9D.10

7.关于进程调度算法中的轮转法,下列描叙不正确的是

A.就绪队列按FCFS方式排队

B.就绪队列按FIFO方式排队

C.每个运行进程一次占有处理器时间可以超过规定的实际单位

D.可以调用调度原语而形成就绪进程轮流使用服务器

8.利用计算机帮助学员进行学习,将教学内容加以组织使学生通过人机交互自如地学习,这属于计算机应用的哪一个领域?

A.CADB.CAIC.CAMD.CAT

9.有如下请求磁盘服务的队列,要访问的磁道分别是98、183、37、122、14、124、65、67。现在磁头在53道上,若按最短寻道时间优先法,磁头的移动道数是

A.234B.235C.236D.237

10.

二、填空题(10题)11.不让死锁发生的策略可以分成静态和动态的两种,死锁预防属于

【】

12.ADSL技术通常使用—___________对线进行信息传输。

13.在双向链表中,每个结点都含有两个指针域,它们一个指向其前驱结点,另一个指向其【】

结点

14.层次模型和网状模型统称为【】模型。

15.若线性表的长度经常发生变化,那么该线性表应采用的存储结构是

【】

16.第三代数据库系统(或新一代数据库系统)是______技术和数据库技术相结合的系统。

17.在HTML语言中,<IMG>标记用于表示___________。

18.UNIX内核部分包括文件子系统和___________控制子系统。

19.在SQL语言中,允许获得某种权限的用户把这种权限再转授给其他用户,可以在GRANT语句中指定______子句。

20.

三、单选题(10题)21.整个软件生存期中时间最长蹬是()

A.需求分析B.设计C.程序编制D.运行维护

22.在关系数据库设计中,设计关系模式是()的任务。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

23.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的()阶段。

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

24.E-R模型转换成关系模型是在数据库设计阶段中的()阶段。

A.概念设计B.逻辑设计C.物理设计D.实现

25.密钥管理包括密钥的生产、存储、装入、分配、保护、销毁以及保密等内容,其中最关键和最困难的问题是()。

A.密钥的分配和存储B.密钥的产生和装入C.密钥的保护和保密D.密钥的销毁

26.下列关于SQLServer数据库服务器登录账户的说法中,错误的是__________。

A.登录账户的来源可以是Windows用户,也可以是非Windows用户

B.所有的Windows用户都自动是SQLServer的合法账户

C.在Windows身份验证模式下,不允许非Windows身份的用户登录到SQLServer服务器

D.sa是SQLServer提供的一个具有系统管理员权限的默认登录账户

27.描述概念模型的常用方法是

A.建立数据模型方法B.需求分析方法C.二维表方法D.实体-联系方法

28.收缩整个数据库的大小,可以采用下列语句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

29.PowerBuilder具有的功能特点包括()。

Ⅰ.提供了良好的跨平台性

Ⅱ.具有自己的编程语言PowerScript

Ⅲ.是一种面向对象的开发工具

Ⅳ.事件驱动的程序设计方式

A.Ⅰ和ⅡB.Ⅰ和ⅢC.Ⅱ、Ⅲ和ⅣD.全都是

30.用户对SQL数据库的访问权限中,如果只允许删除基本表中的元组,应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

四、C语言程序设计题(10题)31.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中。最后mainoi函数调用函数WriteDat把结果输出到文件out.dat中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp;

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

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

32.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中,请编制函数encryptChar,按给定的替代关系对数组)XX中的所有字符进行替代,其替代值仍存入数组XX的对应的位置上,最后调用函数writeDat把结果xx输出到文件out.dat中。

替代关系:)=p*17mod256,mod为取余运算,p是数组)xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不变,否则用f(p)替代所对应的字符。

33.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数StrCharJR,其函数的功能是t以该文章中的行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组XX中。最后main函数调用函数WriteOat把结果XX输出到文件out.dat中。

例如:

”z”对应的ASCII值为7AH,二进制值为01111010,右移4位后为00000111,加上原来”2”的ASCII值01111010得到10000001结果。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按字符处理。

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

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

34.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsValue,其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main函数调用写函数writeDat把数组b中的数输出到文件0ut.dat中。

35.函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCII值从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存放,排序后的结果仍按行重新存入字符串数组)XX中,最后调用函数WrriteDat把结果xx输出到out.dat文件中。

36.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

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

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

37.已知数据文件in.dat中存有300个四位数,并已调用读函数rcadDat把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把数组b中的数输出到文件out.dat中。

38.函数readDat是从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组XX中,最后调用函数writeDat把结果XX输出到文件out.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值升序排序,右边部分不变,左边经排序后再与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

39.函数readDat是从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)。请编制函数isSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组XX中,最后调用函数writeDat把结果)XX输出到文件0ut.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

40.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置上,最后调用函数wmeDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*11mod256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

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

五、设计与应用题(2题)41.某教务管理系统使用SQLServer2008数据库管理系统,数据库软硬件配置信息如下:Ⅰ.数据库运行在两路IntelXeonE5-26092.4GHzCPU(每路CPU4核心),128GB内存、2块300GB15000转SAS硬盘(RAIDl)的服务器上;Ⅱ.服务器操作系统为Windows200332位企业版,安装SP2补丁;Ⅲ.数据库为SQLServer2008Enterprise(32位),数据库中总数据量近130GB。近一个学期以来,用户反映系统运行缓慢,经程序员定位,确定为数据库服务器响应缓慢,需要进行调优。(10分)

42.设某教学管理系统,其查询模块需要提供如下功能:Ⅰ.查询系信息,列出各系编号、系名和系办公电话;Ⅱ.查询某系教师的信息,列出教师号、教师名、工资和聘用日期;Ⅲ.查询某教师讲授的课程信息,列出课程号、课程名和学分;Ⅳ.查询讲授某门课程的教师信息,列出教师名和职称;V.查询某门课程的先修课程信息,列出先修课程号和先修课程名。系统有如下业务规则:Ⅰ.一个系可聘用多名教师,一名教师只能受聘于一个系;Ⅱ.一名教师可讲授多门课程,一门课程可由多名教师讲授;Ⅲ.一门课程可以有多门先修课程,也可以没有先修课程。(1)请根据以上查询功能与业务规则,用ER图描述该系统的概念模型。(5分)(2)将ER图转换为满足3NF的关系模式,并说明每个关系模式的主码和外码。(5分)

六、单选题[1分](2题)43.实体联系模型简称ER模型,是数据库设计常用的一种建模方法。关于ER模型,下列说法错误的是()。

A.ER模型能帮助建模人员用一种简单的方法描述现实世界中的数据及数据之间的联系

B.用ER模型建模的基本思路是分类标识客观事物,将具有相同属性特征的事物抽象为实体集

C.ER模型可以描述实体集之间一对一、一对多和多对多联系,也可以描述一个实体集中记录之间的联系

D.用ER模型描述实体集之问的联系时,需要考虑数据在计算机中存储及处理的特征

44.下列哪些属性不适合建立索引()。

A.经常出现在GROUPBY字句中的属性

B.经常参与连接操作的属性

C.经常出现在WHERE字句中的属性

D.经常需要进行更新操作的属性

参考答案

1.A解析:逻辑蕴含的定义是:设R<U,F>是一个关系模式,X、Y是U中的属性组,若在R<U,F>的任何一个满足F中函数依赖的关系r上,都有函数依赖X→Y成立,则称F逻辑蕴含X→Y。另外,Armstrong公理系统包括3条推理规则:①自反律。若YXU,则X→Y为F所逻辑蕴含。②增广律。若X→Y为F所逻辑蕴含,且ZU,则XZ→YZ为F所逻辑蕴含。③传递律.着X→Y及Y→Z为F所逻辑蕴含,则X→Z为F所逻辑蕴含。根据这个定义和以上几条推理规则,可以知道选项C)和D)是错误的(两题本质上是一样的)。选项B)看上去像是传递律的表述,不过仔细看可以发现结论反了。

2.C解析:关键字:属性或属性的集合,其值惟一标识一个元组。

3.C解析:选择、投影和连接运算属于专门的关系运算,而笛卡尔积属于集合运算。

4.D解析:数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。

5.C解析:在Oracle中,OracleForms用来快速生成基于屏幕的复杂应用的工具;BPR用于过程建模;Modelers用于系统设计与建模;Generators根据用户建立的模型,自动生成数据字典、数据库表、应用代码和文档。掌握Oracle数据库服务器功能及其特点,Oracle的连接产品及其功能。

6.B解析:快速排序法的基本方法是:在待排序序列中任取一记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的一部分,关键码值比它大的另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。在本题中采取以第一个关键码25为分界元素,按照快速排序的思想,第一趟完成后关键码序列变为(18,9,12,25,33,67,82,53,95,70),所以关键码95位置没变,还是第8。本题正确答案为选项B(8)。

7.C解析:进程调度算法中的轮转法:就绪队列按FCFS方式排队。每个运行进程一次占有处理器时间都不超过规定的实际单位。若超过,即调用调度原语而形成就绪进程轮流使用服务器。FCFS算法指先进先服务算法又称FIFO算法。

8.B解析:CAD是计算机辅助设计,是利用计算机帮助设计人员进行产品、工程设计的重要技术手段;CAI是计算机辅助教学,利用计算机对帮助学员进行学习,将教学内容加以组织使学生通过人机交互自如地学习;CAM是计算机辅助制造,利用计算机进行生产设备的控制、操作和管理的系统;CAT是计算机辅助测试,利用计算机来辅助进行复杂而大量的测试工作的系统。

9.C解析:“最短寻道时间优先”算法总是让查找时间最短的那个请求先执行,而不管请求访问者到来的先后时间。即靠近当前移动臂位置的请求访问者将优先执行。当前磁头在53道上,则总的移动道数是:12+2+30+23+84+24+2+59=236。

10.D解析:设R(U)是属性集U上的关系模式,X,Y,Z是U的子集,并且Z=U-X-Y。多值依赖X→→Y成立,当且仅当对R(U)的任意关系r,给定一对(X,Z)值,对应一组Y值,这组值仅仅决定于X值,而与Z值无关。平凡多值依赖:若X→→Y,X=φ则称X→→Y为平凡多值依赖。

11.静态的根据死锁产生的四个必要条件,只要使其一不发生,则可避免死锁发生,死锁预防是属于一种静态的策略

12.1【解析】ADSL技术通常使用l对线进行信息传输。

13.后继双向链表中,一个指针指向前驱或前件,一个指针指向后继或后件。

14.非关系非关系

15.链式存储结构在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).\r\n\u3000\u3000它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点\r\n

16.面向对象或OO面向对象或OO

17.图像【解析】页面是一种结构化文档,采用超文本标记语言(HTML)书写而成。HTML是一个简单的标记语言。用来描述Web文档的结构。①基本结构

18.进程【解析】UNIX的系统结构可分为两大部分,一部分是操作系统的内核,另一部分是系统的外壳。内核部分由文件子系统和进程控制子系统组成;外壳由Shell解释程序、支持程序设计的各种语言、编译程序和解释程序、实用程序和系统调用接口等组成。

19.WITHGRANTOPTIONWITHGRANTOPTION解析:GRANT语句的一般格式为:

GRANT<权限》[,(权限)]...

[ON<对象类型><对象名>]

T0<用户>[<用户>]...

[WITHGRANTOPTION];

其中若指定了WITHGRANTOPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户。若没有指定WITHGRANTOPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

20.[(n-1)/2]【解析】完全二叉树中除最下面一层外,各层都被结点充满了,每一层结点个数恰是上一层结点个数的2倍。因此,从一个结点的编号就可以推知它的双亲及左、右子女结点的编号。当i≤n/2时,结点i的左子女是结点2i,否则结点i没有左子女;当i≤(n-1)/2时,结点i的右子女是结点2i+1,否则结点i没有右子女;当i≠1时,结点i的双亲是结点[i/2]。

21.D

22.C解析:把概念设计阶段设计好的基本E-R图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。这些模式在功能上、完整性和一致性约束及数据库的可扩充性等方面均应满足用户的各种要求。

23.B

24.B

25.A

26.B

27.D解析:概念模型的表示方法很多,其中最为著名和常用的是P.P.S.Chen提出的实体—联系方法。该方法用E-R图来描述现实世界的概念模型。

28.A

29.D解析:PowerBuilder是由美国著名的数据库应用开发工具厂商PowerSoft公司(于1991年6月推出的完全按照客户机/服务器体系结构设计的快速应用开发系统,是一个客户机前端开发工具。它除了具有题中选项中的特点,其特点还有可同时支持与多种数据库的连接,支持动态数据交换(DDE)、动态链接库(DLL)、对象链接与嵌入(OLE)强大的调试器和多种调试方式等。

30.B解析:允许删除基本表中的元组的权限是DELETE。

31.\n【审题关键句】计算金额,按产品名称从大到小进行排列,相同的则按金额从大到小排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

32.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或ASCII码是奇数不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

33.\n【审题关键句】字符的ASCII值右移4位二进制位,高位补0后加原字符的ASCII值。

\n【解题思路】

\n①定义两个循环变量i、j和一个无符号字符变量tmp。

\n②在第一个for循环语句中,循环变量i从0开始,依次递增直到其值等于文章最大行数maxline。在第二个for循环中,从每行第1个字符开始,依次递增直到其值等于该行字符串的最大长度,然后在循环体中指定每次循环时,将第i行第i个位置上的字符的ASCII值的二进制数右移4位,然后将所得的值再加上原字符的ASCII码值。

\n【参考答案】

\n

34.\n【审题关键句】千数-百位-十位-个位数大于零的个数,把所有满足此条件的数依次存入数组,按从小到大的顺序排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“千数-百位-十位-个位数大于零”,参考答案的第8条语句修改if语句的判断条件。另外,对于数据交换的整型变量trap可以自定义其变量名。

\n【参考答案】

\n

\n

\n

35.\n【审题关键句】以行为单位对字符串变量的下标为奇数的字符按从小到大排序,结果仍按行重新存入字符串数组中。

\n【解题思路】

\n①因为要进行字符之间的互换,所以定义局部字符变量ch。定义循环变量i、i、k。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于或大于20,在循环体中实现对每行字符串的处理。在循环体中执行第二层for循环,循环变量j从1开始,依次递增2直到其值等于(int)strlen(xx[i]),在第三层for循环中,循环变量k从j+2开始,依次递增2,直到其值等于(int)strlen(xx[i]),如果字符)XX[i][j]的ASCIl码值大于)XX[i][k]的ASCII码值,则两者进行互换,实现字符串)XX[i]中下标为奇数的位置上的字符按其ASCII值从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存放的功能。

\n【参考答案】

\n

\n

36.【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新存入字符串数组中。

\n【解题思路】

\n①首先定义字符变量ch和无符号整型变量i、j、k。

\n②对字符二维数组XX,在第一层for循环中,变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的扫描,在第二层for时循环中,变量j从0开始,依次递增直到其值等于strlen(xx[i]),即第i行的长度。在第三层循环语句中,变量k从j开始,依次递增直到其值等于strlen(xx[i]),对每一行中的数组元素xx[il[j]、XX[i][k]按照它们的ASCII码值的大小进行比较,如果xx[i][j]的ASCII码小于XX[i][k]的ASCII码,则两者交换,实现整篇文章中的字符按ASCII码值从大到小的顺序进行排序。

\n【参考答案】

\n

\n

37.\n【审题关键句】千位+百位等于十位+个位的数的个数,把所有满足此条件的四位数依次存入数组,然后对数组按从大到小的顺序进行排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计的四位数的条件是“千位+百位=十位+个位”,参考答案的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即可。另外,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

\n

38.\n【审题关键句】以行为单位从字符串左边部分升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理。

\n【解题思路】

\n本题类似第77套试题,通过审题可以发现主要是对字符串左边部分排序时所采用的排序方式不同,参考答案的第11行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

39.\n【审题关键句】以行为单位从字符串左边部分降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理。

\n【解题思路】

\n①定义循环变量i、j、k和整型变量len、p。

\n②第一层for循环中,循环变量i从0开始,依次递增直到其值等于20,实现对20行数据的逐行处理。在循环体中,对于i行首先调用函数strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用1en除以2,得到第i行字符串长度的一半,赋给变量P。在第二层for循环中,循环变量J从0开始,依次递过来增直到其值等于(p-1),在第三层for循环中,循环变量k从J+1开始,依次递过来增直到其值等于P,比较字符xx[i][j]ASCII码值与xx[i][k]ASCII码值的大小,如果字符xx[i]啪的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第i行字符串左半部分的字符串按降序排列。

\n③用变量len的值对2求余数,如果余数为1,则调用函数字符串拷贝函数strcpy,把从字符串xx[i]+P+1开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的中间字符连接到字符串变量str的后面,再调用字符串连接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后面;如果余数不等于1,则调用字符串拷贝函数strcpy,把从字符串xx[i]+P开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后面,实现字符串xx[i]左右部分子字符串的交换。

\n④调用字符串拷贝函数strcpy,把字符串变量str的值拷贝到字符串xx[i],实现把排序后的结果仍按行重新存入字符串数组XX中。

\n【参考答案】

\n

\n

40.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应小写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

41.【解题思路】数据库性能优化的基本原则就是通过尽可能少的磁盘访问获得所需要的数据。SQLSERVER性能优化一般从数据库设计、应用程序编码、硬件优化、数据库索引、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)事务处理调优:数据库的日常运行过程中,可能面临多个用户同时对数据库的并发操作而带来的数据不一致的问题,如:丢失更新、脏读和不可重复读等。并发控制的主要方法是封锁,锁的含义即是在一段时间内禁止用户做某些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论