(2021年)山东省日照市全国计算机等级考试数据库技术真题(含答案)_第1页
(2021年)山东省日照市全国计算机等级考试数据库技术真题(含答案)_第2页
(2021年)山东省日照市全国计算机等级考试数据库技术真题(含答案)_第3页
(2021年)山东省日照市全国计算机等级考试数据库技术真题(含答案)_第4页
(2021年)山东省日照市全国计算机等级考试数据库技术真题(含答案)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

(2021年)山东省日照市全国计算机等级考试数据库技术真题(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.下面不属于使用视图的优点的是

A.分散用户的数据B.降低数据库的复杂性C.组织数据转移到其他应用程序D.简化数据库的管理

2.支持程序浮动的地址转换机制是()

A.页式地址转换B.段式地址转换C.静态重定位D.动态重定位

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

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

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

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

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

4.当V原语对信号量作运算之后,

A.当S<0,进程继续执行

B.当S<0,要唤醒一个就绪进程

C.当S<=0,要唤醒一个等待进程

D.当S<O,要唤醒一个就绪进程

5.概念结构设计的目标是产生DB概念结构(即概念模式),这结构主要反映

A.DBA的管理信息要求B.应用程序员的编程需求C.企业组织的信息需求D.数据库的维护需求

6.关系数据模型通常由3部分组成,它们是

A.数据结构,数据通信,关系操作

B.数据结构,数据操作,数据完整性约束

C.数据通信,数据操作,数据完整性约束

D.数据结构,数据通信,数据完整性约束

7.下列系统故障恢复步骤正确的顺序是()。

Ⅰ、找出故障前已提交的事务,标记为REDO,找出故障时尚未完成的事务,标记为UNDO

Ⅱ、对UNDO队列中的事务做REDO处理

Ⅲ、对REDO队列中的事务做UNDO处理

A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅲ、ⅡC.Ⅱ、Ⅲ、ⅠD.Ⅲ、Ⅱ、Ⅰ

8.设有“供应者”关系模式:Supplier(Sname,Saddress,Item,Price),其中各属性分别表示供应者名、供应者地址、货物名称、货物售价,一个供应者供应一种货物则对应到关系中的一个元组。在这个关系中存在一些问题,其中不正确的说法是

A.数据冗余B.更新异常C.插入异常D.删除正常

9.在一个数据库中,模式与内模式的映像个数是

A.1个B.与用户个数相同C.由设置的系统参数决定D.任意多个

10.用冒泡排序法对下列数据12,37,42,19,27,35,56,44,10进行从小到大排序。在将最大的数“沉”到最后时,数的顺序是()。

A.12,37,42,19,27,35,44,10,56

B.12,37,42,19,27,35,10,44,56

C.12,37,19,27,35,42,44,10,56

D.10,12,19,27,35,37,42,44,56

二、填空题(10题)11.在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选码为【】

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

13.在OSl参考模型中,每层可以使用___________层提供的服务。

14.红外无线局域网的数据传输技术包括:___________红外传输、全方位红外传输与漫反射红外传输。

15.在

【】

数据库系统中,每一个结点都是一个独立的数据库系统

16.顶级域的划分模式为组织模式和___________。

17.

18.【】

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

19.VisualStudio2008是第一个允许开发人员针对【】多个版本开发的VisualStudio版本。

20.在SQL语言中,允许获得某种权限的用户把这种权限再转授给其他用户,可以在GRANT语句中指定______子句。

三、单选题(10题)21.设散列函数为H(k)=kmod7,现欲将关键码23,14,9,6,30,12,18依次散列于地址0~6中,用线性探测法解决冲突,则在地址空间0~6中,得到的散列表是

A.14,6,23,9,18,30,12

B.14,18,23,9,30,12,6

C.14,12,9,23,30,18,6

D.6,23,30,14,18,12,9

22.若让元素1,2,3依次进栈,则出栈次序不可能出现哪一种情况?

A.3,2,1B.2,1,3C.3,1,2D.1,3,2

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.E-R模型转换成关系模型是在数据库设计阶段中的()阶段。

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

25.在SQL语言中,()子句能够实现关系参照性规则。

A.PRIMARYKEY

B.NOTNULL

C.FOREIGNKEY

D.FOREIGNKEY...REFERENCES...

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

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

27.一个数据表10000行数据,每行3500字节,计算表需要空间()

A.20MBB.40MBC.60MBD.80MB

28.为了考虑安全性,每个部门的领导只能存取本部门员工的档案,为此DBA应创建相应的()。

A.视图(view)B.索引(index)C.游标(cursor)D.表(table)

29.在概念模型中,客观存在并可以相互区别的事物称为______。

A.码B.属性C.联系D.实体

30.概念结构设计的目标是产生数据库概念结构(即概念模式),这结构主要反映()

A.DBA的管理信息需求B.应用程序员的编程需求C.企业组织的信息需求D.数据库的维护需求

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

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

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

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

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

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

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

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

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

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

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

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

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

填入你编写的若干语句。

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

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

五、设计与应用题(2题)41.设有高校选课系统,需要对学校的系信息、教师信息、课程信息、学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师号(TNO)、教师名(Tname);课程(Course)信息包括课程号(CNO)、课程名(CName)、课程学分(Credit);学生(Student)信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。选课系统的管理规则如下:Ⅰ.一个系可聘用多名教师,一个教师只受聘于一个系;Ⅱ.一个系可有多名学生,一个学生只属于一个系;Ⅲ.一名教师可讲授多门课程,一门课程可由多名教师讲授;Ⅳ.一名学生可选修多门课程,一门课程可被多名学生选修;V.学生选修完课程后,可获得相应课程的成绩。针对以上描述,完成下列设计内容:(1)构建选修课系统的ER图。(要求图中的实体集名用试卷中给出的英文名,联系所关联的实体集名的首字母,字母问用“一”或“_”连接,大小写不限)。(6分)(2)根据所构建的ER图,设计满足3NF的关系模式,并标出每个关系模式的主码和外码。(要求关系模式名同实体集名或联系名,属性名用试卷中给出的英文名,大小写不限)(4分)

42.设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:BORROWER:借书证号姓名系名班级12011106蒋辉文计算机系12-112011107王丽计算机系12-112012113范园园信息系12-2LOANS:借书证号图书馆登记号借书日期12011106T0010012012.01.0212012113T0010262013.02.O6BOOKS:索书号书名作者图书登记号出版社价格TP311.1数据库系统李明T001001科学19.00TP311.2二级C语言王珊T001026人民32.00(1)检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。(5分)(2)检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。(5分)

六、单选题[1分](2题)43.在进行数据库物理设计时,为了保证系统性能,需要综合考虑所选择的数据库管理系统的特性及软硬件具体情况。下列关于数据库物理设计的说法,错误的是()。

A.在频繁执行插入、修改和删除操作的表上建立索引可能会降低系统整体性能

B.在一张表的某列上需要频繁执行精确匹配查询时,可以考虑为此列建立哈希索引

C.为了提高写入性能,数据库一般应尽量避免存储在RAID10的磁盘存储系统中

D.如果系统中存在频繁的多表连接操作,可以考虑将这些基本表组织为聚集文件,以提高查询效率

44.主要用于描述对象在空间中如何交互,即除了动态交互,也直接描述了对象是如何链接在一起的UML图是()。

A.协作图B.状态图C.顺序图D.部署图

参考答案

1.A解析:使用视图具有以下几个优点:降低数据库的复杂性:使用视图可以使开发者具有更改数据库设计而不影响用户与数据库交流的能力,对于一些复杂的查询来说。数据库设计员可以通过更改视图的定义,对最终用户屏蔽具体细节;集中用户数据:设计人员通过对不同用户提供不同数据,从而可以使用户数据集中显示;简化管理:数据库管理人员可以通过授权方式让用户执行数据操作,从而简化数据库管理;组织数据转移到其他应用程序:设计员可以创建基于连接多个表的查询视图;保密数据。

2.D解析:主存储器是可以被处理器直接访问的,处理器是按绝对地址访问主存储器的。为了使用户编制的程序能存放在主存储器的任意区域执行,用户使用逻辑地址编辑程序,即用户使用了逻辑上的主存储器。存储管理必须为用户分配一个物理上的存储空间,于是,就有一个从逻辑空间到物理空间的转换问题。具体地说,是要把逻辑地址转换成绝对地址,把这样的地址转换工作称为重定位。重定位的方式可以有“静态重定位”和“动态重定位”。静态重定位是指在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址。一旦装入则不能改变。动态重定位是指在装入作业时,不进行地址转换,而是直接把作业装入到分配的主存区域中。在作业执行过程中,每当执行一条指令时都有硬件的地址转换机构将指令中的逻辑地址转换为绝对地址。

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

4.C解析:V操作的物理意义是回收释放的一个资源,即信号量的值加1。在这个过程中,如果信号量的值大于0,表明系统没有其他进程正在等待使用该资源,该进程继续执行或转向进程调度,这取决于进程调度采用的方式。当s<=0时,释放S信号队列上的一个等待进程,使之进入就绪队列。因此正确答案为选项C。

5.C解析:数据库概念结构设计的任务是产生反映企业组织信息需求的数据库结构,即概念模型。

6.B解析:关系模型由关系数据结构、数据操作和数据完整性约束3大要素组成。

7.B解析:系统故障恢复步骤如下:①找出故障前已提交的事务,标记为REDO,找出故障时尚未完成的事务,标记为UNDO。②对UNDO队列中的事务做UNDO处理,即反向扫描日志文件,对每一个需要UNDO的事务的更新操作执行逆操作。③对REDO队列中的事务做REDO处理,即正向扫描日志文件,对每一个需要REDO的事务的更新重新执行日志记录登记的操作。要注意的是以上过程是先UNDO再REDO。因此本题选B)。

8.D解析:本题中关系模式Supplier存在如下一些问题:数据冗余。一个供应者每供应一种货物,其地址就要重复一次。更新异常(不一致性的危险)。由于数据冗余,有可能我们在一个元组中更改了某供应者的地址,而没有更改另一个元组中同一供应者的地址,于是同一供应者有了两个不同的地址,与实际情况不符。插入异常。如果某供应者没有供应任何货物,则我们无法记录他的名称和地址,事实上,Sname和Item构成关系模式Supplier的一个码,码值的一部分为空的元组是不能插入到关系中的。删除异常。如果一个供应者供应的所有货物都被删除,则我们无可奈何地丢失了该供应者的名称和地址。

9.A解析:数据库系统有三级模式结构,从内向外依次是:内模式、模式、外模式。内模式是数据物理结构和存储结构的描述;模式是数据库所有数据的逻辑结构和特征描述;外模式是数据库用户看到和使用的局部数据的逻辑结构和特征。三级模式间有两层映像,分别是模式/内模式映像和外模式/模式映像。模式/内模式映像只有一个,外模式/模式映像与用户个数相同。所以正确答案为A。

10.C解析:冒泡排序法的思想是当前一个元素大于后一个元素是交换它们的位置,依次比较下去,一直到最后一个元素。由于42大于19,27,35,这三个元素都要前移,但小于56,不交换,然后56分别与后面的元素比较,都比44,10大,所以44,10前移,56移至最后,得到C的元素序列。

11.A,(B,C)A→B,A→C,A→D,A可以作为关系的候选码,因为(B,C)→A,所以同样(B,C)可以作为候选码。

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

13.下【解析】0S1参考模型将整个通信功能划分为7个子层,划分层次的原则如下:网中各结点都有相同的层次;不同结点内相邻层之间通过接口通信;同一结点内相邻层之间通过接口通信;每一层使用下层提供的服务,并向其上层提供服务;不同结点的同等层按照协议实现对等层之间的通信。

14.定向光束【解析】红外局域网的数据传输技术主要有3种:定向光束红外传输、全方位红外传输与漫反射红外传输。

15.分布式一个分布式数据库系统包含一个节点的集合,这些节点通过某种类型的网络连接在一起,每一个节点是一个独立的数据库系统节点

16.地理模式【解析】顶级域的划分采用了两种模式,即组织模式和地理模式。

17.iAnywhereWitlessServer【解析】SYBASE的移动与嵌入计算产品主要包括SYBASESQLAnywhereStudio和iAnywhereWirelessServer。

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

19.NETFrameworkNETFramework解析:考查VisualStudio2008的特点。VisualStudio2008是第一个允许开发人员针对NETFramework多个版本开发的VisualStudio版本。

20.WITHGRANTOPTIONWITHGRANTOPTION解析:GRANT语句的一般格式为:

GRANT<权限》[,(权限)]...

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

T0<用户>[<用户>]...

[WITHGRANTOPTION];

其中若指定了WITHGRANTOPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户。若没有指定WITHGRANTOPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

21.B解析:将23,14,9,6,30,12,18依次按散列函数K(k)=kmod7计算,并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6。

22.C解析:栈是限制仅在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。当表中没有元素时称为空栈。

根据上述定义,每次删除(退栈)的总是当前栈中“最新”的元素,即最后插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删除。根据上述原理,C)3,1,2,既然先出栈的是3,说明1,2已经进栈,那么1不可能在2之前出栈。

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

26.A

27.B

28.A解析:视图是从一个或几个基本表中根据用户需要而做成的一个虚表。视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据,视图是只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户。

29.D解析:在概念模型中,客观存在并可以相互区别的事物称为实体。实体可以是具体的人、事物,也可以是抽象的概念和联系。

30.A

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

36.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或原字符的ASCII码是偶数不变,否则替换。

\n【解题思路】

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

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\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【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应大写字母不变,否则替换。

\n【解题思路】

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

\n【参考答案】

\n

\n

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

41.【解题思路】

(1)ER图的画法

建立相应的ER图的过程如下:

第一,确定实体类型。本题有四个实体类型,即Teacher实体,Course实体,Student实体和DEPT实体。

第二,确定联系类型。Teacher实体与Course实体之间是多对多关系,即T-C关系,Student实体与Course实体之间是多对多关系,即S-C关系。DEPT实体与Teacher实体之间是一对多关系,即D-T关系。DEPT实体与Student实体之间是一对多关系,即D-S关系。

第三,把实体类型和联系类型组合成ER图。

第四,确定实体

温馨提示

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

评论

0/150

提交评论