(2021年)吉林省白山市全国计算机等级考试数据库技术测试卷(含答案)_第1页
(2021年)吉林省白山市全国计算机等级考试数据库技术测试卷(含答案)_第2页
(2021年)吉林省白山市全国计算机等级考试数据库技术测试卷(含答案)_第3页
(2021年)吉林省白山市全国计算机等级考试数据库技术测试卷(含答案)_第4页
(2021年)吉林省白山市全国计算机等级考试数据库技术测试卷(含答案)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

(2021年)吉林省白山市全国计算机等级考试数据库技术测试卷(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.信息认证主要是验证______。

A.信息发送者的真实性和信息的完整性B.信息传输过程中是否出错C.信息中是否有误码D.信息传输的速率

2.在下面的两个关系中,学号和班级号分别为学生关系和班级关系的主键(或称主码),则外键是学生(学号,姓名,班级号,成绩)班级(班级号,班级名,班级人数,平均成绩)

A.学生关系的“学号”B.班级关系的“班级号”C.学生关系的“班级号”D.班级关系的“班级名”

3.下列关于文件索引结构的叙述中,哪一个是不正确的?______。

A.采用索引结构,逻辑上连续的文件存放在连续的物理块中

B.系统为每个文件建立一张索引表

C.索引结构的优点是访问速度快,文件长度可以动态变化

D.索引结构的缺点是存储开销大

4.典型的局域网可以看成由以下三部分组成:网络服务器、工作站与()。

A.IP地址B.通信设备C.TCP/IP协议D.网卡

5.如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列不稳定的排序方法是

A.冒泡排序B.归并排序C.直接插入排序D.直接选择排序

6.OLAP是以数据库或数据仓库为基础的,其最终数据来源是来自底层的

A.数据仓库B.操作系统C.数据字典D.数据库系统

7.10.文件的逻辑记录的大小

A.是恒定的B.随使用要求变化的C.可随意改变的D.无法确定是哪种可能

8.SQL中的DROPINDEX语句的作用是()。

A.建立索引B.修改索引C.删除索引D.更新索引

9.下列不属于操作系统功能的是

A.进程管理B.存储管理C.作业管理D.数据库管理

10.计算机系统上的数据库(DB)是()。

A.硬件B.计算机打印的统计报表C.计算机软件D.结构化的、有联系的数据集合

二、填空题(10题)11.虚拟存储管理分为虚拟页式、虚拟段式和______。

12.按网络覆盖范围分类,___________用于实现几十公里范围内大量局域网的互联。

13.SQL支持数据库的外模式、模式和内模式结构。外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于【】

14.OSl参考模型中,网络层的主要功能有:___________、拥塞控制和网络互联等。

15.数据库语言由数据定义语言(DDL)【】和数据操纵语言(DML)组成,它为用户提供了交互使用数据库的方法。

16.FTP服务器利用___________来控制用户对服务器的访问权限。

17.投影操作是在关系中选择某些______。

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

19.“报表向导”中设置字段排序时,一次最多能设置

【】

个字段

20.数据库运行控制功能包括数据的【】控制、【】控制、【】和数据恢复等4个方面。

三、单选题(10题)21.如果两个实体之间的联系是M∶N,则在转换成关系模型时,()引入第三个交叉关系。

A.需要B.不需要C.无所谓D.将两个实体合并

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

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

23.对于学生信息表S(SNUMBER,SNAME,SEX,AGE,DEPT)(STUDENT由学号SNO,姓名SNAME,性别SEX,年龄AGE,所在系DEPT5个属性组成,其中SNUMBER为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是()。

A.SELECTSNAME,AGEFROMSWHEREAGE>20ANDAGE<23

B.SELECTSNAME,AGEFROMSWHEREAGEBETWEEN20AND23

C.SELECT*FROMSWHERE.AGEBETWEEN20AND23

D.以上均不正确

24.进程具有并发性和()两大重要属性。

A.动态性B.静态性C.易用性D.封闭性

25.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()

A.94、32、40、90、80、46、21、69

B.32、40、21、46、69、94、90、80

C.21、32、46、40、80、69、90、94

D.90、69、80、46、21、32、94、40

26.数据库管理系统中用于定义和描述数据库逻辑结构的语言称为()

A.数据库模式描述语言(DDL)B.数据库子语言(SubDL)C.数据操纵语言(DML)D.数据结构语言

27.整个软件生存期中时间最长蹬是()

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

28.索引使用原则中不可以为该列建立索引的是:()

A.经常在查询中作为条件被使用的列。

B.频繁进行排序或分组的列。

C.一个列的值域很大时。

D.如果待排列的列有多个,选择任意一列。

29.“把查询sc表和更新sc表的grade列的权限受予用户user1”的正确SQL语句是()。

A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuser1

B.GRANTSELECTsc,UPDATEsc,gradeTOuser1

C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuser1

D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TOuser1

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

A.DROPB.DELETEC.ALTERD.UPDATE

四、C语言程序设计题(10题)31.程序test.C的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT把结果输出到0ut.dat文件中。

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

例:原文:dAe,BfC.

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

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

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

33.将文件in.dat中的200个整数读至数组XX中。请编制jsValue函数,要求:求出数组XX中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组XX下标为奇数的元素值的算术平均值pj。

结果cnt1,cnt2,pj输出到out.dat中。注意:部分源程序存在test.c文件中。请勿改动数据文件in.dat中的任何数据、主函数main、读函数read_dat和输出函数writeDat的内容。

34.在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到0ut.dat文件中。

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

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat的内容。

35.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把一个四位数的千位数位置上的值减去百位数位置上的值再减去十位数位置上的值最后减去个位数位置上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt,并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

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

36.程序test.c的功能是:选出1000至5000范围内(包括1000、5000)符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue实现程序的要求。最后main函数调用函数writeDAT把结果crlt和sum输出到out.dat文件中。

37.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把千位数字和个位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成的数均是奇数并且至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

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

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

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

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

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

例如:sell[i]=temp;

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

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

五、设计与应用题(2题)41.某网上商城因为业务发展,原有的系统不能很好的满足需要,因此采用了一套新的经营管理系统,此系统使用SQLServer2008数据库管理系统。此系统上线运行前,需将商场原有的数据导入到新系统中。原有系统使用SQLServer2000,数据结构与新系统不完全一致。因此需要把数据从SQLServer2000导入到SQLServer2008中,为了保证数据一致性,数据导入过程中要求暂停业务且必须在3小时内完成。(1)在原有数据导入新系统的过程中,实施人员发现原有数据量很大,导人数据需要四小时,业务无法接受。经分析某工程师认为,数据导入过程中的数据库I/O很高,但导人数据的程序本身对系统资源占用率很低。该工程师建议将数据导入过程中的数据恢复模式从“完整”模式改为“简单”模式以提高数据导人速度;而另一位工程师则认为此方法未必能提高数据导入速度,而且还可能导致数据丢失,不建议使用此方法。请分析此方法是否能够提高数据导入速度并给出理由,同时分析此操作的数据丢失风险。(5分)(2)在成功导入历史数据后,此系统顺利上线运行。在上线运行的第一周,发现数据库服务器的CPU使用率很高,达到近90%,高峰期间达到100%,且系统内存占用率达到90%,但系统I/O很轻。业务人员反应系统操作速度很慢。为了提高系统运行速度。在不修改应用程序的前提下,两位工程师提出了不同的解决办法:Ⅰ.为服务器增加2颗CPU,缓解CPU使用率很高的问题;Ⅱ.为服务器增加一倍内存,缓解内存使用率很高的问题。考虑成本,现阶段只能按照一种方案实施。请指出在现有情况下,哪种方案更合理并给出理由。(5分)

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

六、单选题[1分](2题)43.下列关于SQLServer2008视图的说法,错误的是()。

A.数据库中只存储标准视图的定义,并不存储标准视图的内容

B.如果在视图上创建了唯一聚集索引,则数据库中将保存该视图的内容

C.索引视图的数据源可以是基本表,也可以是已建立的其他标准视图

D.索引视图引用的基本表必须与视图在同一个数据库中

44.从功能上讲,数据库应用系统设计包括下列四个层次,其中包括构件设计的是()。

A.表示层B.业务逻辑层C.数据访问层D.数据持久层

参考答案

1.A解析:信息认证,首先是验证信息的发送者的真实性,即不是假冒的;其次是验证信息的完整性,即验证信息在传输或存储过程中未被篡改、重放或延迟等。因此信息认证主要是验证信息发送者的真实性和信息的完整性,本题正确答案为选项A。

2.C解析:外键的概念是:当关系中的某个属性(或属性组合)虽不是该关系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,则称该属性(或属性组合)为这个关系的外部关键字或外键。

3.A解析:文件的物理结构分顺序结构、链式结构和索引结构。其中采用索引结构时,逻辑上连续的文件存放在若干不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在钠逻辑块号和与之对应的物理块号;这种结构的优点是访问速度快,文件长度可以动态变化,缺点是存储开销大。因此本题4个选项中的A所述内容不是文件索引结构的特点,正确答案为A。

4.B解析:网络操作系统中经常将一台或几台高档微型机、工作站或大型机作为局域网服务器,用于集中管理局域网共享资源、提供文件服务、打印服务与通信服务,同时,将很多台用户的微型机作为工作站连入局域网。典型的局域网可以看成由以下三部分组成:网络服务器、工作站与通信设备。

5.D解析:排序方法有很多种,在这些排序方法中,直接插入排序、冒泡排序、归并排序和基数排序是稳定的排序方法,直接选择排序、希尔排序、快速排序和堆排序是不稳定的。

6.D数据仓库是支持管理决策过程的、面向主题的、集成的、随时间变化的持久的数据集合。构建数据仓库的过程就是根据预先设计好的逻辑模式从分布在企业内部各处的OLTP数据库中提取数据并对经过必要的变换最终形成全企业统一模式数据的过程。当前数据仓库的核心仍是RDBMS管理下的一个数据库系统。数据仓库中数据量巨大,为了提高性能,RDBMS一般也采取一些提高效率的措施:采用并行处理结构、新的数据组织、查询策略、索引技术等等。

7.B解析:文件的逻辑记录的大小是可以随使用要求变化的。

8.C解析:建立索引的语句是CREATEINDEX,删除索引的语句是DROPINDEX,索引一旦建立,系统会自动使用、维护、修改和更新索引,不需要用户干预。

9.D解析:操作系统功能有进程管理、存储管理、文件管理、设备管理、作业管理。掌握操作系统的特征,操作系统在计算机中的地位。

10.D解析:数据库是长期存储在计算机中的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,在一定范围内高度共享。

11.虚拟段页式虚拟段页式解析:虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器。虚拟存储管理可分为虚拟页式、虚拟段式、虚拟段页式存储管理。

12.城域网【解析】城域网是介于广域网和局域网之接的一种高速网络。城域网的设计目标是满足几十千米范围内的大量企业、机关、公司的多个局域网的互联需求,以实现大量用户之间的数据、语音、图形与视频等多种信息传输。

13.存储文件外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。

14.路由选择【解析】OSl参考模型中,网络层要实现路由选择、拥塞控制和网络互联等功能。

15.DDL数据控制语言(DCL)

16.用户账号【解析】FTp服务器利用用户账号来控制用户对服务器的访问权限。

17.属性列属性列

18.面向对象或OO面向对象或OO

19.4利用报表向导来建立报表,在设置字段排序时,一次最多不超过4个

20.完整性;安全性;并发操作完整性;安全性;并发操作

21.A

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

23.B解析:需要查询的是姓名和年龄属性,故主句为SELECTSNAME,AOE。WHERE子句中可以使用BETWEEN进行查询,BETWEEN指定允许取值的范围,AND前面是低值,后面是高值。年龄在20到23岁之间的条件表达式应为BETWEEN20AND23。

24.A

25.C解析:直接插入排序的基本算法是:当插入第i(i>=1)个对象时,前面的v[0],V[1].……V[i-1]已经排好序,这时,用V[i]的关键码与V[i-2],V[i-2],……的关键码顺序进行比较,找到插入位置即将v[i]插入,原来位置上的对象则向后移。由此可知,直接插入排序法的关键码比较次数与对象的初始排列有关,准确的说,就是与i可以取的值有关。对于本题来说,A中i可以取1,B中i可以取2,C中i可以取3,D中i可以取1。所以C的关键码比较次数最少。

26.A解析:数据库管理系统提供数据定义语言(DDL)来描述逻辑模式,严格定义数据的名称、特征、相互关系、约束等。DML是实现对数据库数据检索、插入、更新与删除操作的数据库操纵语言。

27.D

28.D

29.A解析:SQL语言用GRANT语句向用户授予数据访问权限,GRANT语句的一般格式为:

GRANT<权限>[,<权限>]…

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

TO<用户>[,<用户>]…

[WITHGRANTOPTION]

所以正确的是选项A)。

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

31.【审题关键句】所有字符左移一个位置,串中的第一个字符移到最后。

\n【解题思路】

\n定义循环变量i,字符变量first和字符指针变量P,并使P指向字符串S。

\n②把字符串S的第一个字符赋给first变量保存起来。

\n③在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于(int)strlen(s)一1,把*(p+i+1)的值赋给+(p+i),实现把字符串S中的所有字符左移一个位置,循环结束后,把first的值赋给p[strlen(s).1],即把字符串的首字符移动到字符串的最后位置上。

\n【参考答案】

\n

\n

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

\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

33.\n【审题关键句】读入数值,奇数个数,偶数个数,数组下标为奇数的平均值。

\n【解题思路】

\n本题类似第42套试题,通过审题可以发现仅有一个不同点,即本题是计算数组下标为奇数的元素的平均值,参考答案的第6条语句。

\n【参考答案】

\n

\n

34.\n【审题关键句】读取正数,统计个数,各位数字之和为偶数的数的个数及平均值。

\n【解题思路】\n\t\t定义整型循环变量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

35.\n【审题关键句】千位-百位-十位-个位,结果大于等于零且原四位数是奇数,统计出满足此条件的个数,并按从小到大的顺序存入数组。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现主要有两个不同点:一是要求统计的四位数的条件是“千位一百位-十位-个位>=0”,二是要求该四位数是奇数,这两个不同点都体现在参考答案的第8条语句中,对该语句进行修改即可,其中,可以判断奇数的表达式是“a[i]%2”。

\n【参老答案】

\n

\n

\n

36.\n【审题关键句】千位+百位等于十位十个位,且千位+百位等于个位.千位的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和。

\n【解题思路】

\n①首先定义一个循环变量i,以及分别用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位)。

\n②通过for循环依次对数组中的每个四位数进行分解,循环初值为1000,终值为5000,每循环一次,循环变量i的值加1。每分解一个四位数,根据题目要求,判断其“千位十百位=十位+个位”的条件是否满足,同时判断“(千位+百位)=(个位-于位)*10”的条件是否满足,两个条件之间用运算符进行连接。当同时满足以上两个判断条件时,计数变量cnt的值加1,同时将该四位数累加到求和变量sum中,最终得到满足条件的四位自然数个数cnt及它们的和sum。

\n本题中cnt和sum变量在源程序中已经定义,在该子程序中就不需要再重新定义了。

\n【参考答案】

\n

\n

37.\n【审题关键句】千位+个位与百位+十位,奇数,整除,从大到小排序。

\n【解题思路】

\n本题类似第27套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在两个方面:①分解后重新组合成两位数的方式不同,参考答案的第8、9条语句重新指定两位数的组合方式;②新组台的两位数的奇数的判断及整除判断,参考答案的第10条语句。

\n【参考答案】

\n

\n

38.\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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

41.【解题思路】(1)SQLServer2008的数据恢复模式有三种:①简单恢复模式,此方法可以最大幅度减少事务13志的管理开销,因为恢复模式不备份事务日志。但是如果数据库损坏,则简单恢复模式将面临极大的数据丢失风险。在这种恢复模式下,数据只能恢复到最新备份状态。因此对于用户数据库,简单恢复模式只适用于测试和开发数据库,或用于主要包含只读数据的数据库。②完整恢复模式,此方法可以完整的记录所有事务,并将事务日志记录保留到对其备份完毕为止。此方法相对简单恢复模式来说,更占用时间。③大容量日志恢复模式,此方法只对大容量操作进行最小记录,使事务日志不会被大容量加载操作所填充。在数据导入过程中,所有的业务都是暂停的,因此可以采用简单恢复模式提高数据导入速度。且只在数据导入的过程中暂时的修改恢复模式,因此数据并不会丢失。(2)提高数据库性能的方法一般是从外部环境、调整内存分配、调整磁盘I/0、调整竞争资源等几方面着手来改变数据库的参数。SQLServer2008采用将数据缓冲在内存的方式,因此在数据库系统运行的过程中会占用一定的内存,又因为I/O并不存在问题,说明内存尚满足需求。CPU使用率很高,表明CPU的计算能力不足,应该增加CPU的数量。【参考答案】(1)此方法能够提高数据导入速度。原因:此系统I/O很高,修改恢复模式后,系统最大限度减少日志开销,可提高导入速度。由于仅在数据导入过程中修改恢复模式,所以并无数据丢失风险。(2)第一种方案比较合理。原因:SQLServer2008采用将数据缓冲在内存的方式,因此内存的使用率比较高是正常情况,且现阶段I/O并不存在问题,表明内存满足需求。此阶段CPU使用率很高,表明CPU计算资源不足,因此增加CPU数量对解决问题有效。

42.【解题思路】数据库性能优化的基本原则就是通过尽可能少的磁盘访问获得所需要的数据。SQLSERVER性能优化一般从数据库设计、应用程序编码、硬件优化、数据库索引、SQL语句、事务处理几个方面人手考虑问题。(1)分析阶段:在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用性、可靠性、安全性需求吸引了我们大部分的注意力,但必须注意的是,性能往往是很重要的非功能性需求,必须根据系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好能有各种需求量化的指标。(2)设计阶段:例如数据库逻辑设计规范化;合理的冗余;主键的设计;外键的设计;字段的设计;数据库物理存储和环境的设计;数据库的物理存储、操作系统环境及网络环境的设计,皆使得我们的系统在将来能适应较多用户的并发操作和较大的数据处理量。这里需要注意文件组的作用,适用文件组可以有效的把I/O操作分散到不同的物理硬盘,提高并发能力。(3)系统设计:整个系统的设计,特别是系统结构的设计对性能具有很大的影响。对于一般的OLTP系统,可以选择C/S结构、三层的C/S结构等,不同的系统结构其性能的关键也有所不同。系统设计阶段应归纳某些业务逻辑在数据库编程阶段实现,数据库编程包括数据库存储过程、触发器和函数。用数据库编程实现业务逻辑的好处是减少网络流量并能更充分利用数据库的预编译和缓存功能;索引设计阶段可以根据功能和性能的需求进行初步的索引设计,这里需要根据预计的数据量和查询来设计索引,可能与将来实际使用时有所区别。(4)编码阶段:编码阶段首先需要所有程序员具备优化意识,也就是在实现功能的同时具备考虑优化性能的思想。数据库是能进行集合运算的工具,所谓集合运算实际是批量运算,即是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。这个阶段主要是注意在SQL语句等方面的优化,如:尽量少做重复的工作,用SELECT后跟需要的字段代替SELECT*语句

温馨提示

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

评论

0/150

提交评论