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

下载本文档

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

文档简介

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

一、1.选择题(10题)1.当用SQL的ALTERTABLE语句个性基本表时,如果要删除其中的某个完整性的约束条件,应该在该语句中使用短语

A.MODIFYB.DROPC.ADDD.DELETE

2.设关系R和关系S具有相同的元数,且对应的属性取自相同的域。集合{t/t∈R∧t∈S}标记的是()。

A.R∪SB.R-SC.R×SD.R∩s

3.对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为

A.R[0],R[1],R[2],R[3]

B.R[0],R[13],R[2],R[3]

C.R[6],R[2],R[4],R[3]

D.R[6],R[4],R[2],R[3]

4.如果一棵二叉树节点的前序序列是A、B、C,后序序列是C、B、A,则该二叉树节点的对称序序列______。

A.必为A、B、CB.必为A、C、BC.必为B、C、AD.不能确定

5.汇编语言是一种符号语言,通常用指令功能的英文词缩写代替操作码。助记符MOV表示的指令是

A.加法B.中断C.空操作D.传送

6.数据库管理系统中的安全控制模块属于______。

A.数据库定义程序模块B.数据库操纵程序模块C.数据库运行管理程序模块D.数据库组织、存储和管理程序模块

7.试题基于以下的5阶B树结构,该B树现在的层数为2。从该B树中删除关键码15后,该B树的第2层的结点数为2。

A.6B.7C.8D.9

8.在PowerDesigner工具中哪个功能用于物理数据库的设计和应用对象技术及组件的生成?

A.ProcessAnalyst

B.DataArchitect

C.AppModeler

D.WarehouseArchitect

9.用于实现网络设备名字到IP地址映射的网络服务是()。

A.TELNETB.SMTPC.DNSD.FTP

10.下列哪一个与数据库日志无关

A.保障事务原子性B.保障数据库一致性C.故障后恢复D.死锁检测

二、填空题(10题)11.设有二维数组A[1,…,10][1,…,12],其每个元素占2个字节,数据按行优先顺序存储,第一个元素的存储地址为1000,则元素A[5][5]的存储地址为

【】

12.在SQL语言中,为了修改基本表的结构,可以使用的语句是______。

13.在口数据报分片后,通常用___________负责数据报的重组。

14.多个事务在某个调度下的执行是正确的,是能保证数据库一致性的,当且仅当该调度是______。

15.组播路由协议分为___________组播路由协议和域间组播路由协议。

16.使用PowerDesigner的DataArchitect,可以对已有数据库生成物理数据模型(PDM),这种功能通常称为______。

17.IPTV包括视频点播、直播电视和___________3个基本业务。

18.DB2数据库管理系统为了提高性能,当连接所涉及的事实表达到三个或三个以上的时候,DB2可自动地判断是否使用星型连接技术(starjoin)和______索引进行优化。

19.在计算机系统中,一个以科学的方法组织、存储数据,并可高效地获取、维护数据的软件系统称为______。

20.分布式数据库系统兼顾了数据的集中管理和分散处理两个方面,且数据库虽然分布在网络上的各个结点中,但仍然是统一管理的。因此分布式数据库系统有良好的性能,既可独立完成局部应用,也可协作完成【】应用。

三、单选题(10题)21.一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打工,则公司与兼职人员之间具有

A.一对一联系B.一对多联系C.多对多联系D.多对一联系

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

23.在关系代数运算中,五种基本运算为()

A.并、差、选择、投影、自然连接B.并、差、交、选择、投影C.并、差、选择、投影、乘积D.并、差、交、选择、乘积

24.在概念设计和逻辑设计之间起桥梁作用的是()

A.DFDB.E-R图C.数据结构图D.功能模块图

25.下列关于SQLServer数据库服务器登录账户的说法中,错误的是__________。

A.登录账户的来源可以是Windows用户,也可以是非Windows用户

B.所有的Windows用户都自动是SQLServer的合法账户

C.在Windows身份验证模式下,不允许非Windows身份的用户登录到SQLServer服务器

D.sa是SQLServer提供的一个具有系统管理员权限的默认登录账户

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

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

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

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

27.下列关于数据库重构的说法中,错误的是__________。

A.数据库的重构就是对数据库的逻辑结构作必要的小范围改变

B.当存储空间的分配过于零散,导致存取效率下降,所以必须重构数据库

C.数据库重构包括重新设计数据库及其应用程序

D.如果能够重构数据库,尽量不要重新设计数据库及相应的应用程序

28.在关系数据库系统中,一个关系相当于()

A.一张二维表B.一条记录C.一个关系数据库D.一个关系代数运算

29.二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5。M按行存储时元素M[3,5]的起始地址与M按列存储时元素()的起始地址相同。

A.M[2,4]B.M[3,4]C.M[3,5]D.M[4,4]

30.某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接操作实现的,此操作性能较差。在保证功能不变的前提下,若要提高该查询的执行效率,下列方法中可行的是()

A.将此查询语句放置在视图中,使用视图实现该查询操作

B.修改实现此功能的查询语句,将连接查询改为嵌套查询

C.将此功能涉及到的表进行合并,然后对合并后的表进行查询

D.将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作

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

32.

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

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

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

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

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

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

填入你编写的若干语句。

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

38.程序test.c的功能是:计算出自然数SIX和NINE满足条件SIX+SIX+SIX=NINE+NINE的个数cnt,以及满足此条件的所有SIX与NINE的和SUM。请编写函数countValue实现程序的要求,最后main函数调用函数writeDAT把结果cnt和sum,输出到文件0ut.dat中。

其中的S,I,X,N,E各代表一个十进制数字,允许代表的数字相同,但s和N不能为0。例如:944+944+944=1416+1416注意:部分源程序存放在test.c文件中。

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

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.程序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的内容。

五、设计与应用题(2题)41.设某连锁商店数据库中有关系模式R:R(商店编号,商品编号,库存数量,部门编号,负责人)如果规定:每个商店的每种商品只在一个部门销售,每个商店的每个部门只有一个负责人,每个商店的每种商品只有一个库存数量。(10分)(1)请根据上述规定,写出关系模式R的函数依赖集;(2)请给出关系模式R的候选码;(3)请说明关系模式R属于第几范式,并给出理由;(4)请将R分解成满足3NF的关系模式。

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.仅Ⅰ、Ⅲ和ⅣD.仅Ⅱ、Ⅲ和Ⅳ

44.设某数据库在非工作时间(每天8:00以前、18:00以后、周六和周日)不允许授权用户在职工表中插入数据。下列方法中能够实现此需求且最为合理的是()。

A.建立存储过程B.建立后触发型触发器C.定义内嵌表值函数D.建立前触发型触发器

参考答案

1.B解析:ALTERTABLE语句的一般格式如下:ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>]ADD子句用于增加新列和新的完整性约束条件;DROP子句用于删除指定的完整性约束条件:MODIFY子句用于修改原有的列定义。

2.D解析:逻辑运算∧表示逻辑与,集合{t/t∈R∧t∈S}表示属于R并且属于S的元素,正是交运算的逻辑表示。

3.C解析:折半查找是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的K值和有序表R[0]到R[n-1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>K,则说明待查找的结点只可能在左子表R[0]到R[mid-1]中,我们只要在左子表中继续进行折半查找,若R[mid].key<K,则说明待查找的结点只可能在右子表R[mid+1]到R[n-1]中,我们只要在右子表中继续进行折半查找。这样,经过一次关键字比较就缩小一半的查找空间。如此进行下去,直到找到关键字为K的结点,或者当前的查找区间为空(表示查找失败)。根据这个思想,查找的顺序即为R[6],R[2],R[4],R[3]。

4.D解析:根据题目给定的前序序列和后序序列,满足条件的二叉树有多个,所以该二叉树节点的对称序序列不能确定。

5.D解析:用有助于记忆的符号和地址符号来表示指令,便是汇编语言。通常用有指令功能的英文词的缩写代替操作码,如“传送”指令用助记符MOV表示,“加法”指令用助记符ADD表示。

6.C解析:本题是对数据库管理系统的基本功能的考查。数据库的功能模块包括数据库定义程序模块、数据库存取模块、数据库运行管理程序模块、数据库组织、存储和管理程序模块和数据库建立、维护模块。数据库运行管理方面的程序模块一方面保证用户事务的正常运行及其原子性,一方面保证数据库的安全性和完整性,所以正确答案为选项C。

7.B解析:如果删除关键码15,则原来的结点只剩下一个关键码,刚好等于[5/2]-1=1,所以可以删除,不用进行移动其他关键码。所以结点数仍为7。

8.C解析:ProeessAnalyst用于数据分析和数据发现。DataArchitect用于两层的概念层和物理层数据库设计和数据库构造。AppModeler用于物理数据库的设计和应用对象技术及组件的生成。WarehouseArchitect用于数据仓库和数据集市的建模和实现。掌握PowerDesigner的DataArchitect模块功能,以及它的使用方法。

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

10.D解析:保证在故障发生后仍保持数据库一致性以及事务的原子性的算法称为恢复算法。恢复算法由两部分组成:一是在正常事务处理时采取措施,记录数据库中的更新活动,保证有足够的信息可用于故障恢复;二是故障发生后采取措施,将数据库内容恢复到某个保证数据库一致性、事务原子性及持久性状态。使用最为广泛的记录数据库中更新活动的结构是日志。

11.1088A[5][5]前面有4行元素,第5行有4个元素,所以前面元素个数为10*4+4=44,44*2=88,所以结果为1088.

12.ALTERTABLEALTERTABLE解析:修改表可能的操作包括:增加或修改一个列的定义;增加或删除表的完整性约束等。SQL语言用ALTERTABLE语句修改基本表,其一般格式为:

ALTERTABLE<表名>

[ADD<新列名><数据类型>[完整性约束]]

[DROP<完整性约束名>]

[MODIFY<列名><数据类型>]

其中,<表名>为指定需要修改的基本表名,ADD子句用于增加新列和新的完整性约束,DROP子句用于删除指定的完接性约束,MODIFY子句用于修改原有的列定义。

13.目的主机【解析】在接收到所有分片的基础上,主机对分片进行重新组装的过程称为IP数据报重组。IP协议规定,只有最终的目的主机才可以对分片进行重组。

14.可串行化的或可串行化可串行化的或可串行化解析:本题考察调度可串行化的概念。

如果多个事务在某个调度下的执行结果与这些事务在某串行调度下的执行结果一致,则称该调度为可串行化的调度。可串行化是多个事务并发执行的正确性准则。所以答案为:可串行化的。

15.域内【解析】组播协议分为主机和路由器之间的协议,即组播组管理协议以及路由器和路由器之间的协议。目前,组管理协议包括hxtemet组管理协议IGMP和Cisc0专用的组管理协议CGMP,组播路由协议又分为域内组播路由协议和域间组播路由协议两类。

16.逆向工程逆向工程解析:PowerDesignerDataArchitect用于两层的即概念层和物理层的数据库设计和数据库构造。DataArchitect提供概念数据模型设计,自动的物理数据模型生成,针对多种数据库管理系统(DBMS)的数据库生成,开发工具的支持和高质量的文档特性。使用其逆向工程能力,设计人员可以得到一个数据库结构的“蓝图”,可用于文档和维护数据库或移植到一个不同的DBMS。

17.时移电视【解析】IPTV是一种利用宽带网络为用户提供交互式多媒体服务的业务,具体来说,电视类服务是指与电视服务相关的服务,如视频点播、直播电视和时移电视等。

18.动态位图动态位图解析:DB2优化器能够使用动态位图索引,即根据需要在相应字段上自动地动态生成位图索引,从维表中挑选出符合条件的记录,再和事实表连接,提高了访问多维数据的性能。当连接所涉及的表达到三个或三个以上时,DB2可自动判断是否使用星型连接技术和动态位图索引进行优化。

19.数据库管理系统(DBMS)数据库管理系统(DBMS)解析:数据库管理系统(DBMS)是位于用户与操作系统之间的一个数据管理软件,它通过数据定义、数据操纵、数据库的运行管理和控制、数据库的建立和维护来科学地组织、存储数据,高效地获取、维护数据。

20.全局全局解析:应填“全局”,这是分布式数据库系统的特点。

21.C解析:本题主要考查了实体之间多对多的联系。如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,称为一对一联系;如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,称实体集A与B的联系为一对多联系;如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个实体,实体集A中有m个实体与之联系,称为多对多联系。所以C)正确。

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

23.B

24.B

25.B

26.D

27.C

28.A

29.B

30.C

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

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

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

\n【解题思路】

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

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\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【审题关键句】统计一个长度为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

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

\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

38.【审题关键句】计算满足条件的sIX+sIX+sIx-NINE+NINE的SIX和NINE的个数以及满足此条件所有的SIX与NINE的和,S,I,X,N,E各代表一个十进制数字。

\n【解题思路】

\n①定义整型变量S,i,X,n,e,six,nine。

\n②在第一层for循环中,因为S的值不能为0,所以循环变量s从1开始,依次递增直到其值等于10,退出循环。在第二层for循环中,循环变量i从0开始,依次递增直到其值等于10,退出循环。在第三层for循环中,循环变量X从0开始,依次递增直到其值等于10,退出循环。在第四层for循环中,因为n的值不能为0,所以循环变量n从1开始,依次递增直到其值等于10,退出循环。在第五层for循环中,循环变量e从0开始,依次递增直到其值等于10。

\n③设置完所有for循环条件后,在循环体中,由变量S的值乘以l00,变量i的值乘以10,以及变量X组成一个三位数赋给变量six,由变量n的值乘以1000,变量i的值乘以100,变量n的值乘以10,以及变量e组成一个四位数赋给变量nine,再用if条件语句判断,如果三倍的six等于两倍的nine,则计数变量cnt加1,把six与nine的和累加到变量sum,同时在屏幕上,输出six与nine的值。

\n【参考答案】

\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【审题关键句】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

41.(1)【解题思路】函数依赖定义:设R(u)是属性集U上的关系模式,X,Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,在Y上的属性值不等,则称

温馨提示

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

评论

0/150

提交评论