《2022年软考-程序员考前拔高综合测试题(含答案带详解)第53期》由会员分享,可在线阅读,更多相关《2022年软考-程序员考前拔高综合测试题(含答案带详解)第53期(19页珍藏版)》请在金锄头文库上搜索。
1、2022年软考-程序员考前拔高综合测试题(含答案带详解)1. 单选题以下关于字符串的叙述中,正确的是( )。问题1选项A.字符串是长度受限的线性表B.字符串不能采用链表存储C.字符串是一种非线性数据结构D.空字符串的长度为0【答案】D【解析】本题考查数据结构的基础知识。字符串是一种线性表,其特殊性在于元素为字符,同时具有其特别的基本运算,如串比较、求子串、串连接等。选项A是错误的,字符串的长度不受限制。选项B是错误的,字符串可采用链表存储,只是这种存储方式大多数情况下不利于支持串的基本运算。选项C是错误的,字符串属于线性数据结构。2. 单选题企业采用云计算模式部署信息系统所具有的优势中不包括(
2、 )。问题1选项A.企业的全部数据、科研和技术都放到网上,以利共享B.全面优化业务流程,加速培育新产品、新模式、新业态C.从软件、平台、网络等各方面,加快两化深度融合步伐D.有效整合优化资源,重塑生产组织方式,实现协同创新【答案】A【解析】企业采用云计算模式部署信息系统时,一般都会考虑将哪些数据放在公有云或私有云上,如何保护企业的商业秘密以及企业员工的隐私,需要考虑尚在研发的未成熟的技术数据如何保存、保护和管理。3. 单选题在白盒测试中,( )覆盖是指设计若干个测试用例,运行被测程序,使得程序中的每条语句至少执行一次。问题1选项A.语句B.判定C.条件D.路径【答案】A【解析】本题考查软件工程
3、的基础知识。对程序模块进行白盒测试时,语句覆盖是指设计若干个测试用例,运行被测程序,使得程序中的每条语句至少执行一次。4. 单选题某C程序中含有下面语句,其执行后,tmp的值是( )。问题1选项A.0B.2C.4D.8【答案】D【解析】本题考查C程序语言的基础知识。逗号表达式的求值过程为:从左至右依次处理由逗号运算符“,”连接的运算对象,先对左侧的表达式求值,结果丢弃,最后保留右侧表达式的值。对tmp的赋值结果来自逗号表达式(x=2,y=4,z=8),该表达式最后的结果为8,因此tmp的值为8。5. 单选题利用( )可以对软件的技术信息、经营信息提供保护。问题1选项A.著作权B.专利权C.商标
4、权D.商业秘密权【答案】D【解析】商业秘密权是指当事人可以依法对商业秘密享有占有、使用、收益和处分的权利。商业秘密权具有知识产权的本质特征,是对创造性成果给予保护的权利形态,可以对软件的技术信息、经营信息提供保护。6. 单选题( )是正确的统一资源地址(URL)。问题1选项A.stmp: 单选题在UML中,( )展现了运行时处理结点以及其中构件(制品)的配置,给出了体系结构的静态视图。问题1选项A.类图B.组件图C.包图D.部署图【答案】D【解析】本题考查统一建模语言(UML)的基本知识。UML图,包括用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图,是模型中信息的图形表达方式
5、可以从不同角度对系统进行可视化。UML中的图可以归为两大类:静态视图和动态视图。类图、组件图、包图和部署图都是展示系统静态结构的视图。类图中包含类、接口、协作和它们之间的依赖、泛化和关联等关系,常用于对系统的词汇进行建模。组件图专注于系统静态实现视图,描述代码构件的物理结构以及各种构建之间的依赖关系.包图用于把模型本身组织成层次结构,描述类或其他UML构件如何组织成包及其之间的依赖关系。部署图给出了体系结构的静态实施视图,展示运行时处理结点以及其中构件的配置,用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。8. 案例题阅读下列说明和C+代码,填写代码中的空缺,将解答
6、写入答题纸的对应栏内。【说明】球类比赛记分系统中,每场有两支球队(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-1类图所示)。图中类Game和Team之间是聚合关系。G
7、ame类有两个public的函数:getResults() 和incrementGoal:分别表示获取比赛结果和某支球队进1球后增加比分;private属性就是参加比赛的两支球队。Team类中有3个public函数,分别为本球队进1球后增加得分、获得本队得分和获得球队名称;private的属性为球队名称和得分。球队名采用string类型,得分信息从上下文可知是goals,用int类型。在Team对象创建时,初始化球队名称和得分。C+11标准之后,对象的属性定义时才可显式初始化;对象的属性name类型为string,需要在构造器中对球队名称加以显式初始化。其构造器接收球队名称,参数名称与对象的属
8、性名均为name,用this关键字加以区分。其中this关键字用来引用当前对象或类实例,可以用-取属性或行为,即:this-name = name;this-goals =0;注:没有同名时是否有this-都表示名称所表示的对象属性。从函数getGoals()中的return goals判断,缺少属性goals来表示得分。再从上下文判断,函数increamentGoal()中,表示在比赛中某球队进1球,即goals的值增加1。创建Game对象表示两支球队的一场比赛。构造器参数为两支球队,用以初始化 Game对象的两个属性。函数getResults()用于输出当前比分。函数incrementGo
9、al()用于表示一支球队进1球,具体是哪支球队由参数给定,所以参数类型为Team*。主控逻辑代码在程序主入口函数main()中实现。在main()函数中,先创建两支球队(用new关键字),即两个Team类的对象指针,球队名称分别为“TA”和“TB”,指针名称分别为t1和t2,即:Team *t1 = new Team(TA);Team *t2 = new Team(TB);以这两个对象指针名称为参数,创建一场比赛对象(用new 关键字),指针名称为 football,即:Game *football = new Game(t1,t2);然后用:football-incrementGoal(t1
10、);football-incrementGoal(t2);表示球队TA进一球,球队TB进一球。然后调用getResults()函数输出此时的比分,即:football-getResults ();然后TB再进一球,再调用getResults()函数输出此时的比分,即:football-incrementGoal(t2);football-getResults() ;综上所述,空(1)需要定义表示一支球队的得分goals,题目代码中已经给出用分号结尾,所以空(1)为int goals(或c+11标准之后int goals=0也支持);空(2)需要表示Team对象指针的name属性,即this-n
11、ame;空(3)需要表示当前球队得分加1, 因为只有一条语句,只要表示goals加1即可,即goals+或+goals(等价表示);空(4)需要表示参数类型为球队指针,即 Team*;空(5)处为创建Game类的对象football, 需要两个Team类型对象的指针,从其后面语句可知,两个指针名称为t1和t2,即new Game(t1, t2)。9. 单选题在某C程序中有下面的类型和变量定义(设字符型数据占1字节,整型数据占4字节),则运行时系统为变量rec分配的空间大小为( )。问题1选项A.1字节B.4字节C.5字节D.8字节【答案】B【解析】本题考查程序语言的基础知识。共用体变量的大小取
12、决于其所需存储空间最大的成员,最大的整形字符4字节。10. 单选题软件开发中的增量模型具有“( )” 的优点。问题1选项A.文档驱动B.关注开发新技术应用C.开发早期反馈及时和易于维护D.风险驱动【答案】C【解析】本题考查软件工程的基础知识。增量模型强调对每一个增量均发布一个可操作的产品,这有利于发现问题和修改,以文档为驱动是瀑布模型,以风险为驱动是螺旋模型。11. 单选题下图所示为一个二叉排序树(二叉查找树),其先序遍历序列为( )。问题1选项A.12, 15, 18, 23, 29, 34, 56, 71B.12, 18, 15, 34, 29, 71, 56, 23C.23, 15, 5
13、6, 12, 18, 29, 71, 34D.23, 15, 12, 18, 56, 29, 34, 71【答案】D【解析】本题考查数据结构的基础知识。先序遍历二叉树的操作定义如下:若二叉树为空,则进行空操作,否则访问根结点、先序遍历根的左子树、先序遍历根的右子树。题中所示二叉树的先序遍历序列为23, 15, 12, 18, 56, 29, 34, 71。对二叉排序树进行中序遍历得到树中结点关键字的有序序列。12. 单选题两个申请人分别就相同内容的计算机程序的发明创造,先后向专利行政部门提出申请,则( )。问题1选项A.两个申请人都可以获得专利申请权B.先申请人可以获得专利申请权C.先使用人可以获得专利申请权D.先发明人可以获得专利申请权【答案】B【解析】对于专利权而言,遵循的是谁先申请谁拥有的原则,如果同时申请,就需要协商进行处理。13. 单选题假设系统中有运行的事务,此时若要转储全部数据库,那么应采用( )方式。问题1选项A.静态全局转储B.动态全局转储C.静态增量转储D.动态增量转储【答案】B【解析】本题考查数据库技术方面的基础知识。数据的转储分为静态转储和动态转储、海量转储和增