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

下载本文档

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

文档简介

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

一、1.选择题(10题)1.设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用二路归并排序法进行排序,下面哪一个序列是第二趟归并后的结果?

A.G,Q,M,Z,A,N,B,P,H,X,S,Y,L,T,E,K

B.G,M,Q,Z,A,B,N,P,H,S,X,Y,E,K,L,T

C.G,M,Q,A,N,B,P,X,H,Y,S,T,L,K,E,Z

D.A,B,G,M,N,P,Q,Z,E,H,K,L,S,T,X,Y

2.下面软件结构图表示的是浏览器/服务器模式的哪种结构

A.以数据库服务器为中心的软件结构

B.以Web服务器为中心的软件结构

C.以应用服务器为中心的软件结构--基本脚本的方式

D.以应用服务器为中心的软件结构--基本构件的方式

3.PowerBuilder是一种深受广大用户欢迎的快速应用开发工具,它与其他应用开发工具比较,最具有特色的是

A.支持面向对象的开发方法B.提供可视化图形用户界面C.使用ODBC与多种数据库连接D.可通过数据窗口访问数据库

4.下列关于函数依赖的叙述中,哪一条是不正确的?

A.由X→Y,X→Z,有X→YZ

B.由XY→Z,有X→Z,Y→Z

C.由X→Y,WY→Z,有XW→Z

D.由X→Y及,有X→Z

5.保持事务的原子性是数据库管理系统中()部件的责任。

A.事务管理B.存取管理C.性能管理D.安全管理

6.在下面列出的条目中,哪个(些)是当前应用开发工具的发展趋势______。

Ⅰ.采用三层或多层Client/Server结构

Ⅱ.支持Web应用

Ⅲ.支持开放的、构件式的分布式计算环境

A.Ⅰ和ⅡB.只有ⅡC.只有ⅢD.都是

7.对并发操作若不加以控制,可能会带来()。

A.死机B.不一致C.不安全D.死锁

8.进程控制块PCB的内容可以分成哪几部分?

A.进程信息和控制信息B.进程信息和现场信息C.调度信息和现场信息D.调度信息和进程信息

9.在有向图中每个顶点的度等于该顶点的

A.入度B.出度C.入度与出度之和D.入度与出度之差

10.在关系数据库中,索引(index)是三级模式结构中的______。

A.概念模式B.内模式C.模式D.外模式

二、填空题(10题)11.在X.800中将安全攻击分为两类:被动攻击和___________。

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

13.在数据库的三级模式体系结构中,模式与内模式之间的映象(模式/内模式),实现了数据的______独立性。

14.在关系数据模型中,二维表的列称为属性,二维表的行称为______。

15.关系模式分解的等价性标准主要有两个,分别为分解具有______和分解保持函数依赖。

16.数据库技术的研究领域概括地讲可以包括数据库管理系统软件的研制、数据库理论和

【】

17.在多级目录结构中查找一个文件时需要按路径名搜索,当层次较多时要耗费很多时间,为此要引入_____。

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

19.如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,则R的规范化程序达到了______。

20.IP数据报的源路由选项分为两类,一类为严格源路由,另一类为___________源路由。

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

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

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

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

23.数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是______。

A.数据库设计B.数据通信C.数据定义D.数据维护

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

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

25.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出栈的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是()

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

26.()是将若干对象和它们之间的联系组合成一个新的对象。

A.分解B.抽象C.聚集D.概括

27.对于数据库设计来说()是进行详细的数据收集和数据分析所获得的主要成果。

A.数据流图B.数据字典C.E-R图D.关系模式

28.在对全局E-R模型进行优化时,通常利用规范化理论中的()概念消除冗余关系。

A.无损联接B.函数依赖C.范式D.逻辑蕴涵

29.SQL语言集数据定义、数据查询、数据操纵和数据控制功能于一体,语句UPDATE实现()功能。

A.数据定义B.数据查询C.数据操纵D.数据控制

30.SQLServer数据库是由文件组成的。下列关于数据库所包含的文件的说法中,正确的是__________。

A.一个数据库可包含多个主要数据文件和多个日志文件

B.一个数据库只能包含一个主要数据文件和一个日志文件

C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件

D.一个数据库可包含多个次要数据文件和多个日志文件

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

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

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

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

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

33.程序test.C的功能是:利用以下所示的简单迭代方法求方程cos(x).x=0的一个实根。迭代公式:Xn+1=cos(xn)(n是迭代次数)

迭代步骤如下:

(1)取X1初值为0.0;

(2)X0=X1,把X1的值赋给x0;

(3)X1=cos(x0),求出一个新的x1;

(4)若x0.X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue实现程序的功能,最后main函数调用函数writeDAT把结果输出到文件0ut.dat中。注意:部分源程序存放在test.C文件中。

请勿改动主函数main和输出数据函数writeDAT的内容。

34.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数组a中取出一个四位数,如果该四位数小于该四位数以后的连续五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt,并把这些四位数存入数组b中,而后对数组b进行升序排序,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

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

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。

35.设有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的内容。

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

37.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjzl,以及所有不满足此条件的四位数平均值pjz2。最后main函数调用写函数writeDat把结果cnt,pjz1,pjz2输出到out.dat文件中。

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

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

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

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

五、设计与应用题(2题)41.在SQLServer2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售表的第5列“本次利润”。请编写实现上述功能的后触发型触发器代码。(10分)

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

六、单选题[1分](2题)43.AD0对象模型中,RecordSet对象的AddNew方法的功能是()。

A.在对应的数据库表中增加一条新记录

B.在记录集中增加一个新列

C.在内存中开辟存放一条新记录的空间

D.增加一个新的记录集

44.以下关于两段锁协议的原理叙述错误的是()。

A.每个事物的执行程序划分两个阶段,加锁阶段和解锁阶段

B.加锁阶段事务可以申请获得任何数据项上的任何类型的锁,允许释放任何锁

C.在解锁阶段,事务可以释放在任何数据项上任何类型的锁,但是不能再申请任何锁

D.每个事务开始执行后就进入了加锁阶段

参考答案

1.B解析:初始状态没有部分排序的文件中若有n个记录,可以把它看作n个子文件,每个子文件中只包含一个记录,因而是部分排序的。通常先将两个子文件归并,得到n/2个部分排序的较大的子文件,每个子文件中只包含2个记录。再将这些子文件归并,如此反复,直到归并到一个文件中,排序完成。上述每步归并都是将两个子文件合成一个文件,这种做法叫“二路归并排序”。按照上述指导思想,第一趟归并后为(G,Q,M,Z,A,N,B,P,H,X,S,Y,L,T,E,K),第二趟归并后的结果为(G,Q,M,Z,A,N,B,P,H,X,S,Y,L,T,E,K)。所以本题正确答案为选项B。

2.C解析:以应用服务器为中心的软件结构是Web服务器和三层客户机/服务器结合的成果。为了解决Web服务器负责接收客户机浏览器的HTTP请求,并将请求的页面和控件返回给客户端,对于客户端的变现逻辑,存在两种不同的解决方式:一种是基于构建的方式;另一种是基于脚本的方式。

3.C解析:PowerBuilder使用专门接口或ODBC,可同时支持与多种数据库的连接。

4.B解析:根据Armstrong公理系统的三条推理规则知:选项A)为合并规则;选项C)为伪传递规则,选项D)为分解规则,选项B)错误。

5.A解析:数据库管理系统中事务管理部件的责任是保证事务的原子性。数据库管理系统中恢复管理部件的责任是确保事务的持久性。

6.D解析:当前数据库应用开发软件的发展趋势包括:采用三层或多层Client/Server结构;支持Web应用;支持开放的、构件式的分布式计算环境。因此当前应用开发工具的发展趋势包括题干中的3个分项,本题正确答案为D(都是)。

7.B解析:并发操纵带来的是破坏数据库一致性的问题。死锁是在并发控制中采用了两阶段封锁协议后带来的问题,而不是并发操作本身的问题。所以本题选“不一致”。

8.C解析:进程控制块PCB的内容可以分成调度信息和现场信息两大部分。注意:由于进程控制块是由调度信息和现场信息组成,因此A),C),D)选项中的说法都是错误的。掌握进程的概念,以及进程的组成。

9.C有向图是一个二元组,其中\r\n1.V是非空集合,称为顶点集。\r\n\u3000\u30002.E是V×V的子集,称为边集,在有向图中每个顶点的度等于该顶点的入度和初度之和。\r\n

10.B解析:模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等。外模式是模式的子集,所以也称子模式或用户模式,是数据库用户能够看见的和使用的、局部的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。内模式也称物理模式或存储模式。一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据库内部的表示方法。例如,记录的存储方式是顺序存储、索引按照什么方式组织;数据是否压缩存储,是否加密等。

11.主动攻击【解析】在X800中将安全攻击分为两类:被动攻击和主动攻击。被动攻击试图了解或利用系统的信息,但不影响系统资源。主动攻击试图改变系统资源或影响系统工作。

12.属性列属性列

13.物理物理解析:三级模式是对数据的3个抽象级别,从外向内依次为外模式、模式和内模式,三级模式之间存在两级映像,即外模式/模式映像和模式/内模式映像。

三级模式和两级模式映像保证了数据具有较高的逻辑独立性和物理独立性。

14.元组或记录元组或记录

15.无损连接性无损连接性解析:规范化过程中将一个关系模式分解若干个关系模式,应该保证分解后产生的模式与原来的模式等价。常用的等价标准有要求分解是具有无损连接性的和要求分解是保持函数依赖的两种。

16.数据库设计数据库技术的研究领域包括数据库管理系统软件的研制,数据库设计和数据库的理论。

17.当前目录当前目录

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

19.4NF4NF解析:若关系模式R∈1NF,且对于每一个非平凡的多值依赖X→→Y(Y不属于X),都有X包含码,则R∈4NF。4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

20.松散【解析】源路由选项可以分为两类,一类是严格源路由选项,一类是松散源路由选项。严格源路由选项规定IP数据报要经过路径上的每一个路由器,相邻路由器之间不得有中间路由器,并且所经过的路由器的顺序不可更改:松散源路由选项只是给出IP数据包必须经过的一些“要点”,并不给出一条完备的路径,无直接连接的路由器之间的路由尚需IP软件的寻址功能补充。

21.B解析:根据数据库的定义可知,数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性、和易扩展性,并可为各种用户所共享。

22.C

23.C解析:数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的成果。数据字典通过对数据项和数据结构的定义宋描述数据流、数据存储的逻辑内容。所以数据字典的最基本的功能是数据定义。

24.A

25.C

26.C解析:聚集是将若干对象和它们之间的联系组合成一个新的对象。

27.B

28.B

29.CSQL语言集数据定义、数据查询和数据操纵和数据控制功能于一体。数据定义语言的动作包括CREATE、DROP和ALTER;数据操纵语言的动作包括:INSEPT、UPDATE和DELETE;数据控制语言的动作包括GRANT和REVOKE。

30.D

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

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

\n【解题思路】

\n本题类似第67套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。本题值得一提的是在设置判断条件的时候,一定要注意两题要求中的两个细微的差别,第67套要求的是新字符所对应的数字是0~9的不变,是对数值型数据进行判断;而本套要求的是原字符所对应的字符是o~9的保持不变,是对字符型数据进行判断,在条件表达式的写法上需要大家注意区分。

\n【参考答案】

\n

\n

33.\n【审题关键句】Xn+1=cos(Xn)的迭代计算。

\n【解题思路】

\n①因为方程cos(x).x=0的根为实数,所以定义两个双精度型变量x0,x1。并把变量x1的初值设为0.0。

\n②根据题目中给出的求方程一个实根的迭代算法,在while循环中,首先把变量x1的值赋给x0,然后利用表达式cos(xO)

\n求出一个值x1,再调用vc6.0的求绝对值的库函数fabs0,判断如果x0与x1差的绝对值小于0.000001,就认为x1的值是方程cos(x).x=0的一个实根,此时退出循环,把xl的值返回。

\n【参考答案】

\n

34.【审题关键句】小于后连续5个数,偶数,从小到大排序。

\n【解题思路】

\n①首先定义两个循环整型变量i、j和一个用于数据交换的整型变量ab。

\n②然后在for循环语句中,先指定循环变量i从0开始,依次递增到MAX-5(到MAX.5的原因是因为从倒数第5个数开始,其后面的数都不满5个数,与题目要求不符,因此可以省略最后5个数),接着对每个数组元素a[i]判断其是否为偶数且小于其后面连续的5个数,然后把满足此条件的数组元素a[i]赋给数组元素b[cnt],同时数组的下标变量cnt加1。③最后,用双重for循环语句对数组b中的数组元素两两比较大小,如果前一个数组元素大于后一个数组元素,则两者进行互换,实现对数组b进行升序或降序的排列。

\n【参考答案】

\n

\n

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

37.\n【审题关键句】求素数的个数及平均值,并计算非素数的平均值。

\n【解题思路】

\n①首先定义循环变量i,然后通过for循环对数组a[300]d0的每个元素a[i]调用函数isV(a[i])判断a[i]是否是素数(素数的算法已在isP函数中给出,此处直接调用即可),如果是素数,则把其加到变量pjz1上,同时计数变量cnt加1,否则a[i]值加到变量pjz2上。直到判断完数组a[300]00的所有数据后退出循环。

\n②求出pJz1、pjz2和cnt的值之后,再用变量pjz1的值除以cnt的值就得到素数的平均值,同时把这个值赋给变量pjz1,最后用变量pjz2的值除以300.cnt的值就得到非素数的平均值,并把这个值赋给变量pjz2。

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在两个方面:①分解后重新组合成两位数的方式不同,参考答案的第8、9条语句重新指定两位数的组合方式:②新组合的两位数的偶数的判断及整除判断,参考答案的第10条语句。注意,两个整除关系表达式要用或运算符(||)连接,且用括号括起来先进行整除运算(因为或运算级别比与运算级别低,因此要括起来),再与奇偶性判断表达式进行与()运算。

\n【参考答案】

\n

\n

\n

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

\n【解题思路】

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

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的处理。第二层for循环中,循环变量j从0开始,依次递增直到其值等于strlen(xx[i]),在循环体中,利用if条件语句首先判断)xx[i][j]的值是否在小写字符字符’a’~’z’之间,然后,再判断在此范围之内的小写字母,如果是z,则该字符转换为a,如果字符不是z,则将其改写成它的下一个字母。

\n【参考答案】

\n

\n

\n

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

41.【解题思路】触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但比约束更加灵活,可以实施比FOREIGNKEY约束、CHECK约束更为复杂的检查和操作,具有更精细和强大的数据控制能力。触发器的创建格式:CREATETRIGGER[schema_name.]trigger_nameON{tablelview}{FORlAFFERIINSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}AS{Sql_statement}[;]对应于本题中,触发事件为在销售表中插入前四列,条件为无条件执行,触发体动作为计算本次利润并插入表中。【参考答案】CREATETRIGGERcalcu_productAFTERINSERTON销售表FOREACHROWASBEGINDECLARE@PurchasePrisefloat/*对应商品的进价的参数*/SELECT@PurchasePrise=进货价格FROM商品表WHERE商品号=new.商品号UPDATE销售表SET本次利润=new.销售数量*(new.销售价格-@PurchasePrise)WHERE商品号=new.商品号AND销售时间=New.销售时间/*因为是行级触发器,所以可以使用更新后的新值,用new*/END

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

温馨提示

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

最新文档

评论

0/150

提交评论