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

下载本文档

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

文档简介

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

一、1.选择题(10题)1.信息的价值与信息的哪些性质密切相关?()

①准确性

②及时性

③可靠性

④开放性

⑤完整性

A.①、②、③和④B.②、③、④和⑤C.①、②、③和⑤D.①、②、④和⑤

2.下面关于并行数据库的体系结构的叙述,比较全面的是

Ⅰ.共享内存结构

Ⅱ.共享磁盘结构

Ⅲ.无共享资源结构

A.Ⅰ和ⅡB.Ⅱ和ⅢC.Ⅰ和ⅢD.Ⅰ,Ⅱ和Ⅲ

3.设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,哪个是正确的

A.若X→→Y,则X→YB.若X→Y,则X→→YC.若X→→Y,且Y'Y,则X→→Y'D.若X一一Y,则X—Z

4.以下哪个是队列的基本运算?

A.从队首插入一个新元素B.从队列中删除第i个元素C.判断一个队列是否为空D.读取队尾元素的值

5.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是

A.其中有一个是DELETE

B.一个是SELECT,另一个是UPDATE

C.两个都是SELECT

D.两个都是UPDATE

6.下列有关操作系统的叙述中,不正确的是()。

A.操作系统管理计算机系统中的各种资源

B.操作系统为用户提供良好的界面

C.操作系统与用户程序必须交替运行

D.操作系统位于各种软件的最底层

7.虚拟设备是指A.A.模拟独占设备的共享设备

B.允许用户以标准化方式使用的物理设备

C.允许用户使用比系统中拥有的物理设备更多的设备

D.允许用户程序部分装入内存即可使用的系统设备

8.用二维表数据来表示实体之间联系的模型叫做

A.网状模型B.层次模型C.关系模型D.实体-联系模型

9.如果一棵二叉树中任一节点的值都大于其左子树中所有节点的值,且小于其右子树中所有节点的值,现欲得到各节点值的递增序列,试问应采用的遍历的方法是()。

A.先序遍历B.中序遍历C.后序遍历D.层次遍历

10.由3个结点可以构造出多少种不同的二叉树?

A.2B.3C.4D.5

二、填空题(10题)11.传输层的主要任务是向用户提供可靠的___________服务,透明地传送报文。

12.对有14个结点的完全二叉树的结点以从上至下、从左至右的顺序进行编号后,序号最小的叶结点的序号为

【】

13.如果资源分配图中没有______,则系统中没有死锁发生。

14.虚拟页式存储管理,当内存已经被占满而又要调入新页时,必须进行页面淘汰。页面淘汰算法包括:最佳淘汰算法(OPT)、______、最近最少使用淘汰算法(LRU)和最不经常使用淘汰算法(LFU)。

15.为使多个进程有效地同时处理输入和输出,最好使用【】结构的缓冲技术

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

结点

17.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句REVOKE实现其中的______功能。

18.____________服务是用于控制与限定网络用户对主机、应用、数据与网络服务的访问类犁。

19.客户程序访问DBMS的常用标准一般有两个:一个称为开放数据库互连【】标准;另一个是面向Java程序语言的相关标准,称为【】。

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

【】

个字段

三、单选题(10题)21.下面说法中错误的是()

A.子类具有继承性

B.子类的键是其超类的键

C.子类继承超类上定义的全部属性,其本身不可包含其他另外的属性

D.同一实体类型的若干子类之间可相交也可不相交

22.如果以链表为栈的存储结构,则退栈操作时()

A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不作任何判别

23.在SQLServer2008中,设用户U1是某数据库db_datawriter角色中的成员,则U1在该数据库中有权执行的操作是()

A.SELECT

B.SELECT和INSERT

C.INSERT、UPDATE和DELETE

D.SELECT、INSERT、UPDATE和DELETE

24.()可以看成是现实世界到机器世界的一个过渡的中间层次。

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

25.下列不属于创建分区表步骤的是__________。

A.创建分区依据列B.创建分区函数C.创建分区方案D.使用分区方案创建表

26.为了实现数据库的逻辑结构设计和物理结构设计结果,必须使用具体的DBMS提供的数据定义语言建立实际的数据库,此项操作又称为__________。

A.定义数据结构B.数据装载C.数据库运行D.数据库的试运行

27.下列不是TCP/IP参考模型中的应用层协议()。A.A.电子邮件协议SMTPB.网络文件系统NFSC.简单网络管理协议SNMPD.文件传输协议FTP

28.ODBC是()

A.客户机与服务器之间的接口标准B.数据库查询语言标准C.数据库应用开发工具标准D.数据安全性标准

29.在登录日志文件时,应该

A.将更新数据库与登录文件两个操作同时完成

B.将更新数据库与登录文件两个操作按随机的顺序完成

C.先写数据库的更新,后登录日志文件

D.先登录日志文件,后写数据库的更新

30.在建立表结构时定义关系完整性规则()

A.使DBS能够自动维护数据完整性约束条件B.还需要编程实现数据完整性约束条件C.没有必要定义D.将使系统操作复杂

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

32.程序test.c的功能是:计算100以内满足以下条件的所有整数i的个数cnt以及这些i之和sum。条件:i,i+4,i+10都是素数,同时i+10小于100。请考生编写函数countvalue实现程序要求,最后调用函数wfiteDAT把结果cnt和sum输出到文件out.dat中。(数值l不是素数)

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

34.编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asdasasdfgasdaszx67asdmklo”,子字符串为”as”,函数返回值是6。

函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

35.

函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConvertCharD,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z,其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后main函数调用函数WriteDat把结果xx输出到文件out.dat中。例:原文:Adb.Bcdza

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

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

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

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

37.函数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的内容。

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

39.已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue0,其功能要求:

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

2.求这些正整数右移1位二进制位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到out.dat文件中。

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

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

40.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编写函数Josegh(void)实现此功能,并调用函数writeDat,把结果P输出到文件out.dat中。

设n=100,s=1,m=10。

①将1到n个人的序号存入一维数组P中;

②若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;

③重复第②步直至圈中只剩下p[1]为止。

注意:部分源程序已经给出。

请勿改动主函数main和输出数据函数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.在数据库应用系统设计中,如果在事务中存在和用户的长时问交互,它会带来哪些坏处()。Ⅰ.降低系统的并发度Ⅱ.增加死锁的数量Ⅲ.破坏数据的一致性Ⅳ.影响检查点的效果

A.仅Ⅰ、Ⅱ和ⅢB.仅Ⅰ、Ⅱ和ⅣC.仅Ⅰ、Ⅲ和ⅣD.仅Ⅱ、Ⅲ和Ⅳ

44.设有购买表(顾客号,商品号,购买时间)。现要查询顾客A与顾客B购买的相同商品。有下列查询语句:Ⅰ.SELECT商品号FROM购买表WHERE顾客号=ˊAˊAND商品号IN(SELECT商品号FROM购买表WHERE顾客号=ˊBˊ)Ⅱ.SELECT商品号FROM购买表WHERE顾客号=ˊAˊEXCEPTSELECT商品号FROM购买表WHERE顾客号=ˊBˊⅢ.SELECT商品号FROM购买表WHERE顾客号=ˊAˊINTERSECTSELECT商品号FROM购买表WHERE顾客号=ˊBˊⅣ.SELECT商品号FROM购买表WHERE顾客号=ˊAˊUNl0NSELECT商品号FROM购买表WHERE顾客号=ˊBˊ上述语句中,能够实现该查询要求的是()。

A.仅Ⅰ和ⅡB.仅Ⅰ和ⅢC.仅Ⅰ和ⅣD.仅Ⅲ

参考答案

1.C

2.D解析:数据库的并行处理是提高数据库系统对事务快速响应能力的有效手段。并行数据库系统的体系结构主要有3种:共享内存结构;共享磁盘结构;无共享资源结构。并行数据库技术包括了对数据库的分区管理和并行查询。一个理想的并行数据库系统应能充分利用硬件平台的并行性,采用多进程、多线程的数据库结构,提供不同程度的并行性、不同用户事务间的并行性、同一事务内不同查询间的并行性、同一查询内不同操作间的并行性和同一操作内的并行性。

3.B解析:多值依赖的性质包括:①若X→→Y,则X→→2,其中Z=U-X-y,即多值依赖具有对称性;②若X→Y,则X→→y,函数依赖可以看作多值依赖的特殊情况;③设属性集之间的关系是,那么当X→→Y在R(U)上成立的时,X→→Y在R(W)上也成立;反过来当X→→Y在R(W)上成立时,X→→Y在R(U)上不一定成立;④若X→→Y,且'Y'y,但不能断言X→→Y'也成立。因为多值依赖的定义中涉及了U中除X、Y之外的其余属性z,考虑X→→Y'是否成立时涉及的其余的属性Z'=U-X-Y'比确定X→→Y成立时的其余属性Z=U-X-y包含的属性列多,因此X→→Y'不一定成立。由上面的叙述可知本题正确答案为选项B。

4.C解析:本题是对队列的基本运算的考查,队列是另一种特殊的线性表,限定所有的插入都在表的一端进行,所有的表的删除都在另一端进行,即先进先出.基本运算包括从队尾插入一个新元素、读取队首元素的值和判断一个队列是否为空.所以正确答案为选项C。

5.C解析:如果有两个事务,同时对数据库中同一数据进行操作,除SELECT外,其余SQL语句都不能同时使用,否则会引起冲突。

6.CC。【解析】操作系统是计算机系统中的一个系统软件,它能有效地组织和管理计算机系统中的各种资源,并且为用户提供良好的界面。没有任何软件支持的计算机称为裸机,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机,而操作系统位于各种软件的最底层。

7.A解析:本题考核操作系统中虚拟设备的基本概念和知识,参考3.6.4“设备分配”一节。虚拟设备技术通常是在一台共享设备(如高速大容量磁盘)上模拟独占设备,把一台低速独占设备改造成若干台可并行操作的虚拟设备。所以,本题答案为A。

8.C解析:在数据库系统中,有3种数据模型:网状模型使用网状结构来表示实体之间的联系;层次模型使用层次(树型)结构来表示实体之间的联系;关系模型用二维表数据来表示实体之间联系。

9.B解析:对树的三大部分:树根、左子树、右子树,存在树根节点大于左子树各节点,小于右子树各节点,因此要得到各节点值递增序列,应按“左子树-树根节点-右子树”的顺序进行访问,这就是中序遍历的遍历过程。

10.D解析:由3个结点可以构造出二叉树的数目通过画图可得出共有5种。

11.端到端(或End.t0.End)【解析】传输层的主要任务是向用户提供可靠的端到端服务,透明地传送报文。它向高层屏蔽了下层数据通信的细节,因而是计算机通信体系结构中最关键的一层。

12.8完全二叉树与满二叉树能一一对应,14个结点可分为4层,最后一层7个叶节点。序号最小的叶节点即是第四层第一个结点,即为8.

13.环或环路或回路或进程环路环或环路或回路或进程环路解析:死锁是一种系统状态,在多道程序系统中,一组进程的每一个进程均无限期地等待被该组进程中的另一个进程所永远不会释放的资源。产生死锁的必要条件是:

①互斥条件

②不可剥夺(不可抢占)

③部分分配(占有等待)

④循环等待

如果没有一个资源占有的环路,是不会形成死锁的。

14.先进先出淘汰算法(FIFO)先进先出淘汰算法(FIFO)解析:虚拟页式存储管理中页面淘汰的算法常见的有:最佳淘汰算法(OPT),先进先出淘汰算法(FIFO),最近最少使用淘汰算法(LRU),最不经常使用淘汰算法(LFU)。

15.缓冲池当某进程需要使用缓冲区时,提出申请,由管理程序分配给它,用完后释放缓冲区.这样可用少量的缓冲区为更多的进程服务.

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

17.数据控制数据控制解析:SQL语言功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词,如下:

•数据查询:SELECT;

•数据定义:CREATEDROPALTER;

•数据操纵:INSERTUPDATEDELETE;

•数据控制:GRANTREVOKE。

因此本题填数据控制。

18.访问控制【解析】一个功能完备的网络系统提供以下基本的安全服务功能:保密性、认证、数据完整性、防抵赖和访问控制。其中访问控制服务用于控制与限定网络用户对主机、应用、数据与网络服务的访问类型。

19.ODBCJDBC开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准。开放数据库互连定义了访问数据库的API一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言。JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序

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

21.C

22.B

23.C

24.A

25.A

26.A

27.C解析:应用层协议主要有以下7种。①网络终端协议TELNET,用于实现互联网中远程登录功能。②文件传送协议FTP,用于实现互联网巾交互式文件传输功能。③电子邮件协议SMTP,用于实现互联网中电子邮件传送功能。④域名服务DNS,用于实现网络设备名字到IP地址映射的网络服务。⑤路由信息协议RIP,用于网络设备之间交换路由信息。⑥网络文件系统NFS,用于网络中不同主机间的文件共享。⑦HTTP协议,用于WWW服务。

28.A

29.D解析:为保证数据库是可恢复的,登记日志文件时必须遵循以下两条原则:1、登记的次序严格按并发事务执行的时间次序;2、必须先写日志文件,后写数据库。

30.A

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

\n【解题思路】

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

\n【参考答案】

\n

\n

32.\n【审题关键句】100以内(含l00)满足i、i+4、i+10都是素数的整数的个数以及这些i之和。

\n【解题思路】

\n①首先定义循环变量i,然后将i的值赋初值为3,每循环一次则将i的值加1,直到i<90。

\n②在for循环中,每执行一次循环则调用函数isPrime(该函数具体的算法已经在源程序中给出,直接用即可),对i、i+4、i+10是否同时是素数进行判断,如果这三个数同时为素数,则计数变量cnt值加1,同将时将变量i的值累加到sum上。

\n【参考答案】

\n

\n

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

\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

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

35.\n【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,大小写不变,其他字符不变。

\n【解题思路】

\n①定义整型循环变量i、j。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的处理。第二层for循环中,循环变量J从0开始,依次递增直到其值大于或等于strlen(xx[i]),在循环体中,利用if条件语句判断如果xx[i][j]的值为字符’a’,则把xx[i][j]的值设置为字符’2’。否则如果XX[i][D]的值在小写字符’at与’2’之间,则把xx[i][j]的值减1,把其值变成其前一个字符的ASCII码。

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

38.\n【审题关键句】四位数的千位>=百位>=十位>=个位,且四位数是奇数,统计出满足此条件的个数,按从小到大的顺序存入数组。

\n【解题思路】

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

\n【参考答案】

\n

\n

39.\n【审题关键句】读取正数,统计个数,右移后为偶数的个数及平均值。

\n【解题思路】

\n①定义整型变量i、j和长整型he,并把其初始值设置为0。

\n②用for循环语句对数组XX进行扫描,如果当前数组元素xx[i]零,则全局变量totNum加1。

\n③在for循环语句中,循环变量i从0开始递增到totNum一1,对数组xx中的每个元素XX[i]右移一位,把这个值赋给整型变量i,再对j的值对2求余数,如果余数等于0,则变量totCnt加1,并把数组元素xx[i]累加到变量he。

\n④退出循环时,把变量he的数据类型转换成双精度型再除以变量totCnt的值,就得到算术平均值totPjz。

\n【参考答案】

\n

\n

40.\n【审题关键句】围圈问题。

\n【解题思路】

\n①定义整型变量i、j,表示出圈人位置的变量s1和出圈人序号的变量W。并将S的值赋给变量s1(s的值已在源程序中赋值为1)。

\n②通过一个for循环,将n个人的序号存入一维数组P中(n的值已在源程序中赋值为100)。

\n③再建立一个for循环,循环变量i从n开始,即从100开始,依次递减直到其值小于2时退出循环。由于每执行一次循环,人数就会减少1个,因此,此处的for循环应表示为递减方式。在该循环体中,先计算每次出圈人的位置,通过表达式“(s1+m.1)%i”计算每次出圈人的位置(m的值已在源程序赋值为1O)。若所得结果为0,则说明要开始报数的是最后一个人,在此人前面的那个人就是要出圈的人,再通过一个循环将要出圈的人移到数组最后。

\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*语句,注意事务和锁,注意I临时表和表变量的用法,慎用游标和触发器,尽量使用索引等。(5)硬件优化:RAID(独立磁盘冗余阵列)是由多个磁盘驱动器(一个阵列)组成的磁盘系统。通过将磁盘阵列当作一个磁盘来对待,基于硬件的RAID允许用户管理多个磁盘。使用基于硬件的RAID与基于操作系统的RAID相比较可知,基于硬件的RAID能够提供更佳的性能,如果使用基于操作系统的RAID,那么它将占据其他系统需求的CPU周期,通过使用基于硬件的RAID,用户在不关闭系统的情况下能够替换发生故障的驱

温馨提示

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

评论

0/150

提交评论