2022年软考-程序员考前拔高综合测试题(含答案带详解)第99期

上传人:住在山****ck 文档编号:95997915 上传时间:2022-05-25 格式:DOCX 页数:23 大小:1.10MB
返回 下载 相关 举报
2022年软考-程序员考前拔高综合测试题(含答案带详解)第99期_第1页
第1页 / 共23页
2022年软考-程序员考前拔高综合测试题(含答案带详解)第99期_第2页
第2页 / 共23页
2022年软考-程序员考前拔高综合测试题(含答案带详解)第99期_第3页
第3页 / 共23页
点击查看更多>>
资源描述
2022年软考-程序员考前拔高综合测试题(含答案带详解)1. 单选题Windows操作系统通常将系统文件保存在( )。问题1选项A.“MyDrivers”文件或“update文件中B.“MyDrivers文件夹或“update文件夹中C.“Windows文件或“Program Files”文件中D.“Windows”文件夹和“Program Files”文件夹中【答案】D【解析】本题考查Windows操作系统方面的基础知识。在操作系统中,文件是保存在文件夹(根目录或子目录)中的,故选项A、选项C是错误的。Windows系统中,系统文件是计算机上运行Windows所必需的文件。系统文件通常保存在“Windows文件夹或“Program Files” 文件夹中,可见选项B也是错误的。根据排除法,正确选项为D。注意:默认情况下,系统文件是隐藏的,以避免将其意外修改或删除。2. 单选题在以用户界面(UI)层、系统交互(SI)层、问题领域(PD)层和数据管理(DM)层构成的软件架构中,业务实体和业务逻辑属于( )层。问题1选项A.UIB.SIC.PDD.DM【答案】C【解析】本题考查软件工程的基础知识。业务实体和业务逻辑属于企业需要解决的实际问题的领域。3. 单选题数控编程常需要用参数来描述需要加工的零件的图形。在平面坐标系内,确定一个点需要2个独立的参数,确定一个正方形需要( )个独立的参数。问题1选项A.3B.4C.5D.6【答案】B【解析】本题考查初等数学基础知识。在平面坐标系中,确定一个点需要横坐标和纵坐标值。如果需要确定一个正方形,则需要四个参数两个点的横坐标和纵坐标值。当然还可以选取一个点的坐标值,以及边长长度及与X轴的倾斜角度。4. 案例题阅读下列说明和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-1类图所示)。图中类Game和Team之间是聚合关系。Game类有两个public的函数:getResults() 和incrementGoal:分别表示获取比赛结果和某支球队进1球后增加比分;private属性就是参加比赛的两支球队。Team类中有3个public函数,分别为本球队进1球后增加得分、获得本队得分和获得球队名称;private的属性为球队名称和得分。球队名采用string类型,得分信息从上下文可知是goals,用int类型。在Team对象创建时,初始化球队名称和得分。C+11标准之后,对象的属性定义时才可显式初始化;对象的属性name类型为string,需要在构造器中对球队名称加以显式初始化。其构造器接收球队名称,参数名称与对象的属性名均为name,用this关键字加以区分。其中this关键字用来引用当前对象或类实例,可以用-取属性或行为,即:this-name = name;this-goals =0;注:没有同名时是否有this-都表示名称所表示的对象属性。从函数getGoals()中的return goals判断,缺少属性goals来表示得分。再从上下文判断,函数increamentGoal()中,表示在比赛中某球队进1球,即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);以这两个对象指针名称为参数,创建一场比赛对象(用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)需要定义表示一支球队的得分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)。5. 单选题Good coding( )makes reading the code easier.问题1选项A.testB.styleC.compilerD.debug【答案】B【解析】良好的编程( )使阅读代码更容易。A.test(测试)B.style(风格)C.compiler(编译器)D.debug(排错)6. 案例题阅读以下说明和C代码,回答问题,将解答写入答题纸的对应栏内。【说明】函数bubbleSort(int arr, int n, int (*compare)(int,int)的功能是根据调用时传递的比较函数compare对数组arr的前n个元素进行排序。【C代码】#define swap(a, b) a = ab; b = ab; a = ab; /交换a与b的值int less(int x,int y) return (xy) ? 1 : 0);void bubbleSort(int arr , int n, int (*compare)(int,int) int i,j; int swapped = 1; for( i=0; swapped; i+) swapped = 0; for(j=0; j【问题】设有如下数组定义:int data1 = 4, 2, 6, 3, 1; int data2 = 4, 2, 6, 3, 1; int data3 = 4, 2, 6, 3, 1;请分别给出下面的函数调用执行后,数组data1、data2和data3各自的元素序列。 (1)bubbleSort(data1, 5, less); (2) bubbleSort(data2, 5, larger); (3) bubbleSort(data3, 3, larger); 【答案】(1)1,2,3,4,6(2)6,4,3,2,1(3)6,4,2,3,1【解析】swap函数是将两元素值进行相互交换。less函数是判断x和y的关系,如果xy,则函数值为真。在bubbleSort函数中,第二个参数表示进行比较元素的个数,第三个参数表示进行排序的方式,如果传入less函数,则是从小到大排序;如果传入large函数,则是从大到小排序。7. 单选题两个申请人分别就相同内容的计算机程序的发明创造,先后向专利行政部门提出申请,则( )。问题1选项A.两个申请人都可以获得专利申请权B.先申请人可以获得专利申请权C.先使用人可以获得专利申请权D.先发明人可以获得专利申请权【答案】B【解析】对于专利权而言,遵循的是谁先申请谁拥有的原则,如果同时申请,就需要协商进行处理。8. 单选题在C程序中,对于如下的两个for语句,其运行后a和b的值分别为( )。for(int a=0;a=0;a+);for(int b=0;b=0;b+);问题1选项A.0,0B.0,1C.1,0D.1,1【答案】C【解析】本题考查程序语言基础知识。for循环的结构是:for(表达式1;表达式2;表达式3)代码块;,执行顺序是:执行表达式1后,判断表达式2是否成立,成立则执行大括号内的代码块,然后执行表达式3后,又回到表达式2进行判断,如果仍然成立,则继续循环执行;当表达式2不成立时,则退出。值得注意的是,当代码块外没有大括号时,此时表达式2成立时,只会执行后续紧跟的第一条语句。语句1:for(int a=0;a=0;a+); 执行过程:a初始值为0,判断a是否为0,此时成立,执行“ ; ”这一个空语句,然后执行a+,则a值为1,再判断a是否为0,此时不成立,因此退出,a最终结果为1。语句2:for(int b=0;b=0;b+);执行过程::b初始值为0,判断b=0的结果,这个语句的结果为b最终的值为0,此时不成立,退出循环,b的值为0。 该题主要的考点就是关于“=”(关系运算符,表示是否相等)和“=”(赋值运算符,进行将右侧的值赋值给左侧的变量)的区别,要注意区分。9. 单选题某企业拟开发一套大数据可视化平台,其系统架构包括:集成与管理层、数据可视化层、数据分析处理层、数据访问接入层,可图示如( )。问题1选项A.B.C.D.【答案】D【解析】本题考查网络新技术-大数据知识。首先数据可视化层最接近用户层,位于最上层;数据访问接入层位于最底层,其次再是数据分析处理层。10. 单选题右图是求数组A中最大元素的程序流程图,图中共有( )条路径。假设数组A有5个元素(n=5),输入序列(即数组A的元素)为( )时, 执行过程不能覆盖所有的语句。问题1选项A.1B.2C.3D.4问题2选项A.1,2,3,4,5B.2,1,3,4,5C.3,1,4,2,5D.5,4,3,2,1【答案】第1题:C第2题:D【解析】本题考查软件工程软件测试的基础知识。很容易看出来本题的流程图中包含3条路径(循环的只计算1次),分别对应YN,YYN,YNN,因此第一空选择C。而第二空是要满足覆盖所有的语句,前3个选项测试用例都有AjAk的情况,此时,第二个判断为Y,会执行语句k=j,而选项D给出的测试用例在第二个判断均为N,不会执行k=j这条语句。11. 单选题在面向对象程序设计语言中,对象之间通过( )方式进行通信。( )不是面向对象程序设计语言必须提供的机制。问题1选项A.继承B.引用C.消息传递D.多态问题2选项A.支持被封装的对象B.支持类与实例的概念C.支持继承和多态D.支持通过指针进行引用【答案】第1题:C第2题:D【解析】第1题:第2题:本题考查面向对象的基础知识。在采用面向对象技术开发的系统中,最基本的运行时实体是对象,对象既包括数据(属性),又包括作用于数据的操作(行为),即对象把属性和行为封装为一个整体。对象之间通过发送消息进行交互,对象在收到消息时予以响应。面向对象程序设计语言满足面向对象程序设计范型,采用对象、类及其相关概念进行程序设计,即面向对象程序设计语言中提供对象及其引用、类、消息传递、继承、多态等机制,而并不限定必须支持通过指针进行引用。12. 案例题阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】如果n位数(n2)是回文数(从左到右读与从右到左读所得结果一致),且前半部分的数字递增(非减)、后半部分的数字将递减(非增),则称该数为拱形回文数。例如, 12235753221就是一个拱形回文数。显然,拱形回文数中不含数字0。下面的流程图用于判断给定的n位数(各位数字依次存放在数组的各个元素Ai中, i=1,2, .,n)是不是拱形回文数。流程图中,变量T动态地存放当前位之前一位的数字。当n是奇数时,还需要特别注意中间一位数字的处理。【流程图】注1: “循环开始”框内给出循环控制变量的初值、终值和增值(默认为1),格式为: 循环控制变量=初值,终值,增值注2: 函数int(x)为取x的整数部分,即不超过x的最大整数。【答案】(1)n-i+1(2)T&Ai!=0或T&Ai0(3)T(4)n(5)T或An/2或A(n-1)/2【解析】1)跟Ai对称的后半部分元素下标是n-i+1;2)T动态地存放当前位之前一位的数字,所以这里Ai大于前一项T值。且在拱形回文数中,不含数字0,所以再加上一个条件Ai!=03)比较完后,将Ai值赋给T,T进行动态地存放当前位之前一位的数字。4、5)判断元素个数是偶数还是奇数,如果是奇数,则还需要进行判断最中间的元素,所以4空这里填n,5空填的是为奇数个时最中间元素的前一项元素的表示。13. 单选题为了避免重复,将在程序中多处出现的一组无关的语句放在一个模块中,则该模块的内聚类型是( )。问题1选项A.逻辑内聚B.瞬时内聚C.偶然内聚D.通信内聚【答案】C【解析】本题考查软件设计的基础知识。模块独立是软件设计时考虑的重要方面,指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系要简单。衡量模块独立程度的标准有两个:耦合性和内聚性。其中内聚是一个模块内部各个元素彼此结合的紧密程度的度量,有多种类型:功能内聚:最强的内聚,完成一个单一功能,各个部分协同工作,缺一不可。顺序内聚:各个处理元素都密切相关与同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入。通信内聚:所有处理元素集中在一个数据结构的区域上,或者各处理使用相同的输入数据或产生相同的输出数据。过程内聚:模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行。瞬时内聚(时间内聚):把需要同时执行的动作组合在一起形成的模块。逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。偶然内聚(巧合内聚):模块内的各处理元素之间没有任何联系,可能因为某种原因,将在程序中多处出现的一组无关的语句放在一个模块中。14. 单选题以下关于汇编语言的叙述中,正确的是( )。问题1选项A.汇编语言源程序只能由伪指令语句构成B.汇编语言源程序都是通过对某高级语言源程序进行编译而得到的C.汇编语言的每条指令语句可以没有操作码字段,但必须具有操作数字段D.汇编语言的每条指令语句可以没有操作数字段,但必须具有操作码字段【答案】D【解析】本题考查程序语言中汇编语言的基础知识。汇编语言(Assembly Language)是一种低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。汇编语言不能直接由机器执行,需要通过汇编程序翻译为机器语言后再执行。汇编语句可以有四个组成部分:标号(可选),指令助记符(操作码,必需),操作数(通常是必需的),注释(可选)。15. 单选题Software( )is defined as an activity to check whether the actual results match the expected results and to ensure that the software system is defect free.问题1选项A.developmentB.designC.testingD.maintenance【答案】C【解析】软件( )定义为检查实际结果是否符合期待的结果以确保软件系统无缺陷的活动。A.development(开发)B.design(设计)C.testing(测试)D.maintenance(维护)16. 单选题( )is a portable computing device featuring a touch-sensitive screen that can be used as writing or drawing pad.问题1选项A.A tablet computerB.A notebook computerC.A personal computerD.A desktop computer【答案】A【解析】平板电脑是便携式计算设备,其特征是有触摸屏,可用作写字板或画板。17. 单选题若系统中有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, 进程都无法执行,故发生死锁。18. 案例题阅读以下说明和C代码,填补C代码中的空缺,将解答写在答题纸的对应栏内。【说明】【C代码】【答案】(1) fabs(x)本题考查C程序基本运算和流程控制的应用。函数cubeRoot(x)根据给定的公式计算x的立方根。根据精度要求,绝对值小于1e-6的数,其立方根为0,因此,空(1)处应填入“fabs(x)n,x2对应公式中的xn+1,每次循环时,需要将x2传给x1,再计算出新的x2,因此空(2)处应填入“x2”,空(3)处应填入“x/(x1*x1)”。在满足精度要求时结束循环,即空(4)处应填入“(x2-x1)/x1 ”。根据题干部分的说明,显然空(5) 处应填入“x+=0.1”或其等效形式。19. 单选题假设事务T1对数据D1加了共享锁,事务T2对数据D2加了排它锁,那么( )。问题1选项A.事务T2对数据D1加排它锁成功B.事务T1对数据D2加共享锁成功,加排它锁失败C.事务T1对数据D2加排它锁或共享锁都成功D.事务T1对数据D2加排它锁和共享锁都失败【答案】D【解析】本题考查数据库控制功能基础知识。事务并发处理时,如果对数据读写不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks ,简称X锁)和共享锁(Share Locks,简称S锁)。排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁 。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。20. 单选题采用直线和曲线等元素来描述的图是( )。问题1选项A.点阵图B.矢量图C.位图D.灰度图【答案】B【解析】矢量图是根据几何特性、通过多个对象的组合生成图形,矢量可以是一个点或一条线。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。位图也称为点阵图、像素图等,构成位图的最小单位是像素,位图就是由像素阵列的排列来实现其显示效果的,每个像素有自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个像素,可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。对位图进行缩放时会失真。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!