2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)

上传人:cn****1 文档编号:469777304 上传时间:2022-08-22 格式:DOCX 页数:22 大小:972.69KB
返回 下载 相关 举报
2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)_第1页
第1页 / 共22页
2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)_第2页
第2页 / 共22页
2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)_第3页
第3页 / 共22页
2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)_第4页
第4页 / 共22页
2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)》由会员分享,可在线阅读,更多相关《2022年软考-程序员考试题库及全真模拟冲刺卷14(附答案带详解)(22页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-程序员考试题库及全真模拟冲刺卷(附答案带详解)1. 单选题某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若中某数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为( );经过地址变换后,其物理地址应为十六进制( )。问题1选项A.2和518HB.2和C18HC.5和518HD.5和C18H问题2选项A.2C18HB.4C18HC.5C18HD.8C18H【答案】第1题:B第2题:C【解析】本题考查分页存储管理的内容。根据题意,计算机的系统页面大小为4K,即212,表示需要用12位二进制(3位十六进制)来表示页面大小,所以在逻辑地址(4位十六进制表示下)

2、中:后3位为页内地址,前1位为页号。因此:逻辑地址为十六进制2C18H,其页号为2,页内地址为 C18H。查页表后可知:页号为2的页会存储到物理块号为5的页内,所以该地址经过变换后,其物理地址应为物理块号5拼上页内地址C18H,即十六进制5C18H。2. 单选题函数main()、f()的定义如下所示。调用函数f()时,采用引用调用方式(all by reference),从函数f()返回后,main()中x的值为( )。问题1选项A.1B.2C.4D.5【答案】A【解析】本题考查程序语言的基础知识。引用调用是指在被调用函数中,形参是实参的引用(或别名),在被调用函数中对形参的操作即是对实参的操

3、作,因此结束调用后对实参进行修改的结果得以保留。在本例中,形参a即main中的实参x,在f中a为本地变量x减去1,结果为1,main中的x被修改为1,因此最后输出为1。在具体实现中,引用参数的实现是将实参的地址传递给形参,借助指针实现对实参变量的访问。3. 单选题A system( )is a kind of system failure in which the computer stops responding to its control devices and all running programs are lost.问题1选项A.crashB.unloadingC.uninstal

4、lD.deployment【答案】A【解析】系统( )是一种系统故障,此时,计算机停止响应其控制的设备,所有正在运行的程序都丢失。A.crash(崩溃)B.unloading(卸货)C.uninstall(卸载)D.deployment(部署)4. 单选题某系统的可用性达到99.99%,这意味着其每年的停机时间不能超过( )。问题1选项A.5.3分钟B.53分钟C.8.8小时D.4天【答案】B【解析】本题考查应用数学基础知识。系统的可用性(System Usability),系统服务不中断运行时间占实际运行时间的比例。如果系统的可用性达到99.99%,则表示10000分钟停机时间为1分钟,停机

5、时间占比为0.01%。每年按365天算,每年有36524=8760小时,则87600.0001=0.876小时=52.56分钟53分钟。5. 案例题阅读下列说明和C+代码,填写代码中的空缺,将解答写入答题纸的对应栏内。【说明】球类比赛记分系统中,每场有两支球队(Team)进行比赛(Game),分别记录各自的得分。图6-1所示为记分系统的类图。【C+代码】【答案】(1) int goals或int goals= 0(2)this-name(3)goals+或+goals或等价表示(4)Team*(5)new Game(t1, t2)【解析】本题考查考生应用C+语言进行程序设计的能力,涉及类、对象

6、、函数的定义和相关操作。要求考生根据给出的案例和代码说明,阅读并完成程序填空。本题中涉及比赛和球队。根据说明进行设计,题目给出了类图(图6-1类图所示)。图中类Game和Team之间是聚合关系。Game类有两个public的函数:getResults() 和incrementGoal:分别表示获取比赛结果和某支球队进1球后增加比分;private属性就是参加比赛的两支球队。Team类中有3个public函数,分别为本球队进1球后增加得分、获得本队得分和获得球队名称;private的属性为球队名称和得分。球队名采用string类型,得分信息从上下文可知是goals,用int类型。在Team对象创

7、建时,初始化球队名称和得分。C+11标准之后,对象的属性定义时才可显式初始化;对象的属性name类型为string,需要在构造器中对球队名称加以显式初始化。其构造器接收球队名称,参数名称与对象的属性名均为name,用this关键字加以区分。其中this关键字用来引用当前对象或类实例,可以用-取属性或行为,即:this-name = name;this-goals =0;注:没有同名时是否有this-都表示名称所表示的对象属性。从函数getGoals()中的return goals判断,缺少属性goals来表示得分。再从上下文判断,函数increamentGoal()中,表示在比赛中某球队进1球

8、,即goals的值增加1。创建Game对象表示两支球队的一场比赛。构造器参数为两支球队,用以初始化 Game对象的两个属性。函数getResults()用于输出当前比分。函数incrementGoal()用于表示一支球队进1球,具体是哪支球队由参数给定,所以参数类型为Team*。主控逻辑代码在程序主入口函数main()中实现。在main()函数中,先创建两支球队(用new关键字),即两个Team类的对象指针,球队名称分别为“TA”和“TB”,指针名称分别为t1和t2,即:Team *t1 = new Team(TA);Team *t2 = new Team(TB);以这两个对象指针名称为参数,

9、创建一场比赛对象(用new 关键字),指针名称为 football,即:Game *football = new Game(t1,t2);然后用:football-incrementGoal(t1);football-incrementGoal(t2);表示球队TA进一球,球队TB进一球。然后调用getResults()函数输出此时的比分,即:football-getResults ();然后TB再进一球,再调用getResults()函数输出此时的比分,即:football-incrementGoal(t2);football-getResults() ;综上所述,空(1)需要定义表示一支球

10、队的得分goals,题目代码中已经给出用分号结尾,所以空(1)为int goals(或c+11标准之后int goals=0也支持);空(2)需要表示Team对象指针的name属性,即this-name;空(3)需要表示当前球队得分加1, 因为只有一条语句,只要表示goals加1即可,即goals+或+goals(等价表示);空(4)需要表示参数类型为球队指针,即 Team*;空(5)处为创建Game类的对象football, 需要两个Team类型对象的指针,从其后面语句可知,两个指针名称为t1和t2,即new Game(t1, t2)。6. 案例题阅读以下说明和流程图,填写流程图中的空缺,将

11、解答填入答题纸的对应栏内。【说明】某系统中有N个等长的数据记录,其主键值为随机排序且互不相等的正整数编号,表示为K(0),K(1),K(N-1)。现采用杂凑法将各数据记录存入区域S(0),S(1),S(2),S(M-1)中(MN),以加快按主键值检索的效率(初始时各区域都是空的)。下面流程图中,选用适当的质数P(NPM),对每个主键值先计算出它除以P的余数j。如果区域S(j)已占用,则考查下一个区域S(j+1),直到发现某个区域为 空时,则将该主键值相应的数据记录存入该区域(注意,S(M-1)的下一个区域是S(0)。 为了标记每个区域是否已占用,采用了M个标记位F(0),F(1),F(M-1)

12、。初始时所有的标记位都为0,每当一个区域被占用时,将相应的标记位置1。例如,设6个记录的主键值分别为31、15、20、35、18、10,取质数P=7,用上述杂凑法将这些记录存入区域S(0)S(7)后,各区域中记录的主键值依次为35、15、空、31、18、10、20、空。【流程图】注1:“循环开始”框内给出循环控制变量的初值、终值和增值(默认为1),格式为:循环控制变量=初值,终值,增值注2:函数int(x)为取x的整数部分,即不超过x的最大整数。【答案】(1)K(i)/P或等效形式(2)0(3)1F(j)或F(j)=1或等效形式(4) j+1j或j=j+1或j+或等效形式(5)0j或j=0或等

13、效形式【解析】本题旨在考查程序设计(算法流程图设计)的能力。杂凑法是大数据处理时常用的数据存储检索方法,其检索效率很高。本流程图中,将依靠循环i=0,1,N-1,依次将主键值为K(i)的记录存入适当的区 域S(j)中。首先,需要求出K(i)除以质数P的余数j,采用的方法是计算K(i)-P*int(K(i)/P)。例 如,对于P=7,31/7的商的整数部分为4,所以31除以7的余数为31-74=3。因此流程图中的空(1)应填写K(i)/P或其等效形式。然后判断区域S(j)的标志位F(j)是否为0,即空(2)应填写0。如果F(j)=0则表示区域S(j)为空,可以将K(i)直接存入区域S(j)中,并

14、将F(j)置1表示已被占用,即空(3)应填写1F(j)。如果F(j)非0,则表示S(j)已占用,需要考虑下一个区域是否为空。也就是说,需要 将j增1,即空(4)应填写j+1j。如果j增1后已超越最后一个区域,则需要考虑返回区域S(0)。也就是说,当j=M时,需要执行0j,即空(5)应填写0j。7. 单选题若系统中有4个互斥资源R,当系统中有2个进程竞争R,且每个进程都需要i个R(i问题1选项A.1B.2C.3D.4【答案】C【解析】本题考查操作系统死锁基础知识。假设每个进程都需要1个资源R,此时2个进程需要分配2个资源,进程都能得到所需资源,故不会发生死锁。假设每个进程都需要2个资源R,此时2个进程需要分配4个资源,进程都能得到所需资源,故不会发生死锁。假设每个进程都需要3个资源R,此时系统最多有4个互斥资源R,因此不能满足所有进程得到所有资源的需求。假如此时为2个进程各分配2个资源R,任何一个进程都需要再申请1个资源,但系统剩余可用资源数为0, 进程都无法执行,故发生死锁。8. 单选题在面向对象程序设计语言中,对象之间通过( )方式进行通信。( )不是面向对象程序设计语言必须提供的机制。问题1选项A.继承B.引用C.消息传递D.多态问题2选项A.支持被封装的对象B.支持类与实例的概念

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号