(2021年)河北省石家庄市全国计算机等级考试数据库技术预测试题(含答案)_第1页
(2021年)河北省石家庄市全国计算机等级考试数据库技术预测试题(含答案)_第2页
(2021年)河北省石家庄市全国计算机等级考试数据库技术预测试题(含答案)_第3页
(2021年)河北省石家庄市全国计算机等级考试数据库技术预测试题(含答案)_第4页
(2021年)河北省石家庄市全国计算机等级考试数据库技术预测试题(含答案)_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

(2021年)河北省石家庄市全国计算机等级考试数据库技术预测试题(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.满足下列的什么条件的二叉树,才能称作AVL树?

A.平均检索长度最小

B.右结点的度大于左结点的度

C.除了最下面的一层可以不满外,其他各层都是充满的

D.任一结点的平衡因子均取值为-1或0或1的二叉排序树

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

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

3.如下是一个稀疏矩阵的三元组法存储表示和相关的叙述正确的是

A.该稀疏矩阵有8列B.该稀疏矩阵有7列C.该稀疏矩阵有9个非0元素D.该稀疏矩阵的第3行第6列的值为0

4.字符A,B,C一次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成多少个不同的字符串?

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

5.设有字符序列(Q,H,C,.Y,P,A,M,S,R,D,F,X),问新序列(H,Q,C,Y,A,P,M,S,D,R,P,X)是下列哪一个排序算法一趟扫描的结果________。

A.起泡排序B.初始步长为4的希尔排序C.以第一元素为分界元素的快速排序D.二路归并排序

6.20世纪70年代数据库系统语言协会(CODASYL)下属的数据库任务组(DBTG)提出的DBTG系统代表哪种数据模型?

A.关系数据模型B.层次数据模型C.对象数据模型D.网状数据模型

7.一个进程执行V操作意味着

A.该进程从等待队列进入就绪队列

B.该进程从磁盘调入内存

C.可能有另一个进程从等待队列进入就绪队列

D.可能有另一个进程从磁盘调入内存

8.下列关于Oracle数据库系统的叙述中,哪一个是不正确的?

A.一个Oracle数据库系统主要由Oracle服务器和工具组成

B.Oracle服务器支持SQL语言

C.Oracle实例指的是数据库存储数据的集合

D.Oracle数据库系统能支持对象-关系数据模型

9.下列哪一个是输入设备?

A.绘图仪B.打印机C.光笔D.数/模转换器

10.在文件系统中,如文件物理结构采用三级索引结构,如果一个文件大小为24块,则存储该文件会用到()。

A.主索引表B.一级索引表C.二级索引表D.三级索引表

二、填空题(10题)11.在数据库的三级模式体系结构中,外模式与模式之间的映像(外模式/模式),实现了数据库的【】独立性。

12.如果多个事务在某个调度下的执行结果与这些事务在某个串行调度下的执行结果相同,则称这个调度为【】调度。

13.在关系数据模型中,二维表的行称为元组,二维表的列称为______。

14.文件系统提供按名存取功能,要求用户在读文件之前调用______文件操作。

15.从工作特性的角度可将设备分类为【】设备和存储设备,运算器,控制器

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

17.为保证对故障恢复的支持,登记日志记录必须先把日志记录写到外存的日志文件中,再把相应的数据库修改写到外存的数据库中。这称为【】原则。

18.在对一组记录(54,38,96,23,15,72,60,45,83)进行希尔排序时,假定取di+1=[di/2],i≤t≤t+1,其中t=[log2n],d0=n,d1=1,n为待排序记录的个数,则第二趟排序结束后,前四条记录为【】。

19.二叉树是结点的有限集合,这个有限集合或者为空集,或者由一个根结点及两棵不相交的、

分别称为根的左子树和右子树的

【】

组成

20.【】

包括类型、取值范围、取值单位的冲突

三、单选题(10题)21.在关系代数的连接操作中,连接操作需要取消重复列的是()。

A.自然连接B.笛卡尔积C.等值连接D.0连接

22.能够对PowerDesigner中所有模型信息只读访问的模块是()。A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

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

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

24.在SQLSever中创建用户数据库,其主要数据文件的大小必须大于__________。

A.master数据库的大小B.model数据库的大小C.msdb数据库的大小D.3MB

25.栈和队列是两种重要的线性结构,对它们的描述错误的是()。

A.栈顶是允许操作的一端,栈底是不允许操作的一端

B.表达式求值一般采用栈来实现

C.队列是一种先进先出的线性表,允许对队列两端进行操作

D.队列可以用链式存储结构

26.如果两个实体之间的联系是1∶M,则实现1∶M联系的方法是()

A.将两个实体转换成一个关系

B.将两个实体转换的关系中,分别加入另一个关系的主码

C.将"1"端实体转换的关系的主码,放入"M"端实体转换的关系中

D.将"M"端实体转换的关系的主码,放入"1"端实体转换的关系中

27.关于水平分割说法错误的是:()

A.根据行的使用特点进行分割

B.分割之后所有表的结构都相同。

C.而存储的数据不同。使用并(Union)操作。

D.使用连接(Join)操作

28.链栈与顺序栈相比,有一个比较明显的优点是()

A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的情况D.删除操作更加方便

29.设数组data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()

A.front:=front1

B.front:=(front1)modm

C.rear:=(rear1)modm

D.front:=(front1)mod(m1)

30.软件生存期的()阶段的最终结果是提供一个可作为设计基础的系统规格说明书。

A.规划B.需求分析C.设计D.程序编制

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

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

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

34.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组XX中;请编制函数eneryptChar,按给定的替代关系对数组XX中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数WriteDat把结果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的内容。

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

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

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

36.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:若一个四位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数位置上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到文件0ut.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.函数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的内容。

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

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

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

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

40.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:从数组a中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入数组b中,并计算满足上述条件的四位数的个数cnt,而后对数组b进行降序排序。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512这个四位数满足题意所规定条件。

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

42.在SQLServer2008中,设有教师表(教师号,姓名,所在部门号,职称)和部门表(部门号,部门名,高级职称人数)。请编写满足下列要求的后触发型触发器(设触发器名字为tri_zc)。每当在教师表中插入一名具有高级职称(“教授”或“副教授”)的教师时,或者将非高级职称教师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师的职称)(10分)

六、单选题[1分](2题)43.下列有关基于C/S和基于B/S数据库应用系统体系结构的说法中,错误的是()。

A.在C/S结构中,应用业务规则主要是在客户端实现的

B.在B/S结构中,应用业务规则主要是在数据库服务器端实现的

C.在C/S结构中,客户端属于“胖客户端”;在B/S结构中,客户端属于“瘦客户端”

D.在C/S结构中,客户端需要专门开发;在B/S结构中,客户端一般只需要安装浏览器

44.与下述ER图等价的UML类图是()。A.B.C.D.

参考答案

1.D解析:平均检索长度最小的二叉排序树称作最佳二叉排序树。最佳二叉排序树中,除了最下面的一层可以不满外,其它各层都是充满的。若任一结点的平衡因子均取值为-1或0或1,则此二叉排序树为AVL树。掌握最佳二叉排序树和AVL树的联系和区别。

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

3.B解析:该稀疏矩阵有7列;该稀疏矩阵有7个非0元素;该稀疏矩阵的第3行第6列的值为1。

4.D解析:全部进栈后再一次出栈:CBA。每一个都是进栈后马上出栈:ABC;A进,B进,B出,C进,C出,A出:BCA;A进,A出,B进,C进,C出,B出:ACB;A进,B进,B出,A出,C进,C出:BAC。

5.D解析:起泡排序一趟扫描的结果为:(H,C,Q,P,A,M,S,R,D,F,X,Y)。初始步长为4的希尔排序一趟扫描的结果为:(P,A,C,S,Q,D,F,X,R,H,M,Y)。二路归并排序一趟扫描的结果为:(H,Q,C,Y,A,P,M,S,D,R,P,X)。以第一元素为分界元素的快速排序一趟扫描的结果:(F,H,C,D,P,A,M,Q,R,S,Y,X)。

6.B解析:网状数据模型的典型代表是DBTG系统,亦称CODASYL系统。

7.C解析:P操作和V操作都是原语。所谓原语是由若干条机器指令构成的一段程序,用以完成特定功能。原语在执行期间是不可分割的,即原语一旦开始执行,直到执行完毕之前,不允许中断。每执行一次P操作意味着要求分配一个资源;每执行一次V操作,意味着释放一个资源。当一个进程进行V操作时,意味着可能有另一个进程从等待队列进入到就绪队列。

8.C解析:Oracle实例是一些进程,包括Oracle(系统)进程和为一个数据库操作的特定实例而创建的所有用户进程。

9.C解析:输入设备有:键盘、鼠标、光笔、纸袋输入机、模/数转换器、声音识别输入等。输出设备有:打印机、显示器、绘图仪、数/模转换器。注意:A),B),D)选项的内容属于计算机的输出设备,故C)选项正确。掌握计算机的系统组成和计算机软件的相关知识。

10.B

11.逻辑逻辑解析:数据库系统的三级模式是对数据的三个抽象级别。为了能够在内部实现这3个抽象层次之间的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立和物理独立性。

12.可串行化可串行化解析:几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同时,称这种并行调度策略为可串行化的调度。可串行化是并行事务正确性的唯一准则。

13.属性属性解析:在关系数据模型中,一个关系对应一个二维表,二维表中的列(字段),称为属性,二维表中的一行(记录的值),称为一个元组,而二维表中的行定义(记录的型)称为关系模式,元组中的一个属性值称为分量。

14.目录目录解析:文件系统一个最大的特点就是“按名存取”,用户只要给出文件的符号名就能方便地存取在外存空间的文件信息,而不必关心文件的具体物理地址。而实现文件符号名到文件物理地址映射的主要环节是检索文件目录。

15.输入/输出或I/O冯诺伊曼提出来的计算机结构,一般包括5个功能结构,运算器,控制器,存储器,输入和输出设备

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

17.先写日志先写日志解析:为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:登记的次序严格扫描并行事务执行的时间次序;必须先写日志文件,后写数据库。为了安全,一定先写日志文件,即首先把日志记录写到日志文件中,然后写到数据库修改。

18.(15,23,54,38)先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止

19.二叉树二叉树的概念,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(leftsubtree)和“右子树”(rightsubtree)

20.属性冲突当将局部E-R图集成为全局E-R图时,可能存在3种冲突:属性冲突,结构冲突,命名冲突。属性冲突包括类型,取值范围和取值单位的冲突

21.A解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。一般的连接操作是从行的角度进行运算,但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

22.B【答案】B

【解析】DataArehitect是可以对PowerDesigner中所有模型信息进行访问的只读模块。

23.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的关键码比较次数最少。

24.B

25.C解析:队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另一端进行删除,允许插入的一端叫做队尾,允许删除的一端叫做队头。

26.C

27.D

28.B

29.D

30.B

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第26套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,即判断新组合的两位数要求第一个为偶数,第二个为奇数,比较两题的第10条语句,只需将新组合的第二个数的判断条件改为奇数判断,即“newV2%2”。

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,在源程序中已经定义了一个无符号变量va1,因此,在编写答案程序时,不需要再重新定义。

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

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

\n【解题思路】

\n①首先,本题要定义多个变量,包括两个循环变量循环i、i,一个用于数据交换的整型变量ab,以及分别用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位)。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四位数,根据题目要求,判断其“千位<=百位<=十位<=个位”的条件是否满足,并通过a[i]%2==0表达式判断该四位数是否为偶数,各判断表达式之间用运算符进行连接,当满足条件时,则将a嘲的值赋给数组变量b[cnt],同时数组下标变量cnt的值加1。循环结束后,所有满足条件的四位数都将保存到数组blent1中。

\n③将所有的四位数判断完毕后,最后通过两个for循环,对b[cnt]数组中的元素按从小到大的顺序排序。

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n本题第10条语句中各条件表达式之间的关系有些复杂,大致思路是:①首先判断新组合的两位数的十位不为0,即表达式“gwbw”;②再判断新组合的第一个两位数为偶数,第二个两位数为奇数,且两个两位数中至少有一个能被17整除的情况,两个整除关系表达式式要用或运算符(11)连接,且用括号括起来先计算或运算,再与奇偶性判断表达式进行与运算;③最后,在判断新组合的第一个两位数为奇数,第二个两位数为偶数,且两个两位数中至少有一个能被17整除的情况(各表达式之间的连接关系同第2步)。完成以上3部分的表达式设计后,再通过与运算将3部分表达式连接起来。

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

温馨提示

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

评论

0/150

提交评论