【2022年】甘肃省陇南市全国计算机等级考试数据库技术预测试题(含答案)_第1页
【2022年】甘肃省陇南市全国计算机等级考试数据库技术预测试题(含答案)_第2页
【2022年】甘肃省陇南市全国计算机等级考试数据库技术预测试题(含答案)_第3页
【2022年】甘肃省陇南市全国计算机等级考试数据库技术预测试题(含答案)_第4页
【2022年】甘肃省陇南市全国计算机等级考试数据库技术预测试题(含答案)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

【2022年】甘肃省陇南市全国计算机等级考试数据库技术预测试题(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.为了减少栈溢出的可能性,可让两个栈共享一片连续内存空间,两个栈的栈底分别设在这片空间的两端,这样,只有________时才可能产生上溢。

A.两个栈的栈顶在栈空间的某一位置相遇

B.其中一个栈的栈顶到达栈空间的中心点

C.两个栈的栈顶同时到达栈空间的中心点

D.两个栈均不为空,且一个栈的栈顶到达另一个栈的栈底

2.在一个关系模式R(M,N,O,P)中,若各个属性间没有任何函数依赖关系,则该模式的主属性有()。

A.M、N、O、PB.R、MC.M、ND.R、M、N、O、P

3.二维数组A[0..8,0..9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为

A.570B.506C.410D.482

4.下列排序方法中,哪一种方法的总的关键码比较次数与记录的初始排列状态无关?______。

A.直接插入排序B.起泡排序C.快速排序D.直接选择排序

5.从软件归类来看,微机中的“DOS”应属于________。

A.应用软件B.系统软件C.T具软件D.管理软件

6.关于计算机病毒的传播途径,不正确的说法是

A.通过文件的复制B.通过共用软盘C.通过共同存放软盘D.通过计算机网络

7.如果时间片用完,则正在运行的进程的状态变为()。

A.就绪态B.结束态C.阻塞态D.挂起态

8.下列关于链式存储结构的叙述中,正确的是()。

Ⅰ、逻辑上相邻的结点物理上不必邻接

Ⅱ、每个结点都包含恰好一个指针域

Ⅲ、用指针来体现数据元素之间逻辑上的联系

Ⅳ、可以通过计算直接确定第i个结点的存储地址

Ⅴ、存储密度小于顺序存储结构

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

9.在关系数据库中,关于外模式的描述正确的是

A.外模式双称逻辑模式B.外模式又称存储模式C.外模式又称为子模式或用户模式D.外模式描述数据的物理结构和存储结构

10.下列关键码序列不符合堆定义的是()。

A.A、C、D、G、H、M、P、Q、R、X

B.A、C、M、D、H、P、X、G、Q、R

C.A、D、P、R、C、Q、X、M、H、G

D.A、D、C、G、P、H、M、Q、R、X

二、填空题(10题)11.设根结点的层次为0,则高度为k的完全二叉树的最小结点数为______。

12.目前用得相当普遍而被广泛承认的一种综合评测计算机系统性能的方法是【】。

13.一些进程相互合作共同完成一项任务,进程之间的这种直接的协同工作关系称为_____。

14.用二维表结构表示试题数据模型称为

【】

数据模型

15.运行IP协议的Intemet可以为其高层用户提供___________的、面向无连接的、尽最大努力的数据报投递服务。

16.Oracle数据库系统中快速生成报表的工具是Oracle______。

17.在关系数据库规范化理论的研究中,在函数依赖的范畴内,_____达到了最高的规范化程度。

18.计算机是一类智能机器,这是因为它除了能完成算术运算外还能完成某些【】。

19.从工作特性的角度可将设备分类为______设备和存储设备。

20.数据结构包括的三个方面的内容是:数据的【】,数据的存储结构,数据的运算。

三、单选题(10题)21.在建立表结构时定义关系完整性规则()

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

22.关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点()。A.A.结构简单

B.高度非过程化

C.有标准语言

D.可表示复杂的语义

23.下列关于时钟的叙述中,哪一条是不正确的?()A.A.时钟中断可以屏蔽

B.时钟是操作系统运行的必要机制

C.时钟可以分成硬件时钟和软件时钟

D.利用时钟中断可以实现进程的轮转运行

24.四个元素a1、a2、a3和a4依次通过一个栈,入栈过程中允许栈顶元素出栈。假设某一时刻栈的状态如下:则不可能的出栈序列是()

A.这种体系结构由客户、服务器以及客户与服务器之间的连接三部分组成

B.在这种结构中,客户机和服务器协同完成一项任务

C.连接客户和服务器最广泛采用的接口是开放数据库连接

D.客户进程与服务器进程之间的通信层次与OSI参考模型有根本不同

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.块B.扇区C.簇D.字节

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

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

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

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

29.下列关于SQLServer数据库用户权限的说法中,错误的是__________。

A.数据库用户自动具有该数据库中全部用户数据的查询权

B.通常情况下,数据库用户都来源于服务器的登录账户

C.一个登录账户可以对应多个数据库中的用户

D.数据库用户都自动具有该数据库中public角色的权限

30.用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为()

A.(rear-frontm)modm

B.(rear-front1)modm

C.(rear-front-1m)modm

D.(rear-front)modm

四、C语言程序设计题(10题)31.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,其功能要求:

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

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

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

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

32.在文件in.dat中已存有200个正整数,且每个数均在1000至9999之间。函数readDat是读取这200个数存放到数组aa中。请编制函数jsSort,其函数的功能是:要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排序后的前10个数存入数组bb中。

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

33.已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出到文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新数的十位数字,这样组成的新数并存入数组C中。

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

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

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

37.已知在文件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的内容。

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

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

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

填入你编写的若干语句。

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

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

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

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

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

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

五、设计与应用题(2题)41.设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。要求商品号和年份为输入参数,总毛利用输出参数返回。(10分)

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.数据库管理员需要通过历史数据分析并根据应用系统情况,对数据库所使用的空间情况进行预测

C.应重点监控空间增长比较快的表,当数据量超过存储能力前及时增加存储空间

D.当硬件存储空间无法满足数据库需求时,可以考虑将部分不使用的历史数据转移到其他廉价存储中

参考答案

1.A解析:两栈共享连续存储空间,两个栈的栈底分别设在这个存储空间的两端的存储结构中,为了使两栈的空间能够做到互补余缺,减少溢出的可能性,两个栈的栈满溢出都不能按位置判别,仅当两栈的栈顶相遇时,才可能栈满溢出。选项B、C、D都是按栈顶位置来判别是否不产生上溢,因此是错误的。选项A符合上述判别规则,即两个栈的栈顶在栈空间的某一位置相遇时才可能产生上溢。

2.A解析:设K为关系模式R<U,F>中的属性或属性组,若K→U在F+中,而找不到K的任何一个真子集K'能使K'→U在F+中,则称K为关系模式R的候选码。包含在任何一个候选码中的属性叫做主属性.在本题中,候选码是(NNOP),所以主属性是M、N、O、P。

3.A解析:由题意可知,二维数组A[0..8,0..9]是按行优先顺序存放的,而顺序存放计算结点存储位置的公式为Li=L0+(i-1)*m,其中LO是第一个结点的存储位置,Li是第i个结点的存储位置,m为每个结点所占用的存储单元个数。按行优先的顺序存放结构,在数组A中元素A[8,5]是第8*10+6=86个元素,按照上面的公式可以计算出元素A[8,5]的存储地址为Li=L0+(i-1)*m=400+(86-1)*2=570。因此正确答案为A。

4.D解析:直接选择排序的基本思想是:每次从待排序的记录中选出关键码值最小(或最大)的记录,顺序放在已排序的最后,直到全部排完。排序时,第一趟从n个关键码中选出最小关键码,需进行n-1次排序,第二趟从n-1个关键码中选出最小关键码,需进行n-2次排序,……。因此直接选择排序法的总的关键码比较次数与记录的初始排列状态无关,正确答案为选项D。

5.B解析:软件分为系统软件和应用软件两大部分。题中的工具软件属于系统软件,管理软件是应用软件的一种。“DOS”是磁盘操作系统的简称,用来管理微机的硬件资源和软件资源,不属于应用软件,而属于系统软件。

6.C解析:计算机病毒是一种特殊的具有破坏性的计算机程序,它具有很强的传染性.通过文件复制、共用软盘或计算机网络,不断进行传染和扩散。共同存放软盘没有病毒激发条件,不会传染。

7.A解析:运行中的进程可以处于以下3种状态之一:运行、就绪、等待。运行状态是指进程已获得CPU,并且在CPU上执行的状态.就绪状态是指一个进程已经具有运行条件,但由于没有获得CPU而不能运行所处的状态。等待状态是指进程因等待某种事件发生而暂时不能运行的状态。进程在运行过程中,由于它自身的进展情况和外界环境的变化,3种状态可以相互转换,下图表示3种基本状态之间的转换及其典型的转换原因:

8.D解析:链式存储结构的主要特点是:结点中除自身信息外,还有表示链接信息的指针域,因此比顺序存储结构的存储密度小,存储空间利用率低;逻辑上相邻的结点物理上不必相邻,可用于线性表,树、图等多种逻辑结构的存储表示;插入、删除操作灵活方便,不必移动结点,只要改变结点中的指针值即可。

9.C解析:三级模式是对数据的3个抽象级别,从外向内依次为外模式、模式和内模式。外模式又称为子模式或用户模式,它是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,是数据库用户的数据视图:模式又称逻辑模式,是数据库全体数据的逻辑结构和特征的描述,不涉及数据物理存储,是数据库管理人员视图。内模式又称为存储模式,它描述数据的物理结构和存储结构,它是系统程序员视图。

10.C解析:根据堆的定义:堆是一个关键码序列(K1,K2,……Kn),它具有如下特征:Ki≤K2i,Ki≤K2i+1,i=1,2,……,[n/2]堆实质上是一棵完全二叉树结点的层次序列,此完全二叉树的每个结点对应于一个关键码,根结点对应于关键码K1。堆的特性在此完全二叉树里解释为:完全二叉树中任一结点的关键码值都小于或等于它的两个子女结点的关键码值。根据这个特征,选项C)中的K2>K5(即D>C)、K4>K8(即R>M)、K4>K9(即R>H),因此选项C)不符合堆的定义。

11.2k2k解析:如果一棵二叉树最多只有最下面的两层结点,度数可以小于2,且最下面一层的结点都集中在该层最左边的若干位置,称此二叉树为完全二叉树。可知,若要二叉树结点最少,则最后一层上只有1个结点,其余层是满二叉树,所以,最少有2k个结点。

12.基准程序测试法基准程序测试法

13.进程同步或同步进程同步或同步

14.关系关系模型:用二维表的形式表示实体和实体间联系的数据模型。

15.不可靠【解析】互联网应该屏蔽低层网络的差异,为用户提供通用的服务。具体地讲,运行IP协议的互联层可以为其高层用户提供如F3种服务:(1)不可靠的数据投递服务;(2)面向无连接的传输服务;(3)尽最大努力投递服务。

16.Reports

17.BCNF

18.信息处理信息处理解析:数据处理和信息处理是计算机的重要应用领域,当前的数据也已有更广泛的含义,如图、文、声等多媒体数据,它们都已成为计算机的处理对象。

19.输入/输出或I/O输入/输出或I/O

20.逻辑结构逻辑结构

21.A

22.D关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以及实体问的各种联系均用关系来表示。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准或基础。关系模型的一个优点是高度非过程化。

23.D

24.C

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.B

27.B

28.A

29.A

30.A

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

\n【解题思路】

\n本题类似第44套试题,通过审题可以发现仅有一个不同点,即参与平均值计算的元素是数组xx[i]右移一位之后为奇数的元素,参考答案的第9条语句。

\n【参考答案】

\n

\n

32.\n【审题关键句】按每个数的后三位降序排列,然后取出满足此条件的前10个数依次存入数组;如果后三位的数值相等,则按原先的数值进行升序排列。

\n【解题思路】本题类似第7套试题,通过审题可以发现主要有两个不同点:①按每个数的后三位降序排列,参考答案的第5条语句,修改两数组元素的大小比较符即可;②后三位的数值相等则按原先的数值进行升序排列,参考答案的第13条语句,同样也是修改两数组元素的大小比较符即可。

\n【参考答案】

\n

\n

\n

33.\n【审题关键句】数组相同下标位置上的奇数,数组a中十位数等于新数的千位数字,个位等于新数个位数字,数组b中的十位等于新数的百位数字,个位数字等于新数的十位数字,存入数组,从小到大排序。

\n【解题思路】

\n①定义整型循环变量i、j和局部变量trap。

\n②在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于MAX,用if条件语句判断如果a[i]和b[j]同时为奇数,由a[i]的十位数字为新数的千位数字,个位数字为新数的个位数字,b[i]的十位数字为新数的百位数字,个位数字为新数的十位数字,把这个新组成的数存入数组元素c[cn],同时数组下标变量cn加1。

\n③在第一层for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于cnt,在第二层循环中,循环变量{从i+1开始,依次递增直到其值等于cnt,用if条件语句判断如果数组元素c[i]大于c[j],则两者进行互换,实现数组C中的数按从小到大的顺序进行排序。

\n【参考答案】

\n

\n

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

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

\n【解题思路】

\n本题类似第46套试题,通过审题可以发现仅有一个不同点,即四位数的各位数之和为奇数,参考答案的第13条语句,将该该语句为判断各位数字之和是奇数的表达式即可。

\n【参考答案】

\n

\n

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

41.存储过程是由PL/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程具有以下优点:其已经编译和优化过了,所以运行效率高,提供了在服务器端快速执行SQL语句的有效途径;存储过程降低了客户端和服务器之间的通信量;方便实施企业规则,当企业规则发生变化时只要修改存储过程,而无需修改其他应用程序。创建存储过程:createprocedure过程名@[参数名][类型],@[参数名][类型]/*过程首部*/AsDeclare/*as下面对应的<PL/SQL>块为过程体*/beginend如上所示,存储过程包括过程首部和过程体。过程名是数据库服务器合法的对象标识;参数列表:用名字来标识调用时给出的参数值,必须指定值的数据类型。参数可以是输人参数或输出参数,默认为输人参数。【参考答案】CREATEPROCEDUREPRODUCT@商品号int,@年份int,@毛利intoutputASDECLARE@某商品销售量int,@某商品进价int,@某商品销售单价int/*中间变量定义:*/BEGINSelect@某商品进价=单价from商品表where@商品号=商品号Select@某商品销售单价=销售单价,@某商品销售量=count(*)from销售表where@商品号=商品号and销售时间=@年份IF@某商品进价isNULLTHEN/木判断该商品是否存在*/ROLLBACK;RETURN;ENDIFIF@某商品销售单价isNULLTHEN/*判断该两晶是否可卖*/ROLLBACK;RETURN;ENDIFSET@毛利=(@某商品销售单价-@某商品进价)*@某商品销售量GO

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

温馨提示

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

评论

0/150

提交评论