软件开发考测验考试模拟题答案
- 格式:docx
- 大小:32.64 KB
- 文档页数:27
软件系统开发技术试题(一)答案一、单项选择题(本大题共10小题,每小题1分,共10分)1. 设计软件结构一般不拟定( D )A.模块之间的接口B.模块间的调用关系C. 模块的功能D. 模块内的局部数据2. 软件结构化设计中,好的软件结构应当力求做到(BA.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高中间扇出较少,底层模块高扇入C. 顶层扇入较少,中间扇出较高底层模块高扇入D. 顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为(AA.公共耦合C. 数据耦合B.内容耦合D. 控制耦合4. 划分模块时,下列说法对的的是(A )A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内C. 作用范围与控制范围互不包含D. 作用范围与控制范围不受限制5. 重用率高的模块在软件结构图中的特性是(BA.扇出数大B.扇入数大C. 扇出数小D. 内聚性高6. 面向对象建模得到的三个模型,其中核心的模型是(A)A.对象模型C. 逻辑模型B.功能模型D. 动态模型7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是(CA.具体设计阶段B.概要设计阶段C. 需求分析阶段D. 测试和运营阶段8. 对U ML的叙述不对的的是( D )A.U ML统一了B ooch方法、OMT方法、OO SE方法的表达方法。
B.U ML是一种定义良好、易千表达、功能强大且普遍合用的建模语言。
C. U ML融入了软件工程领域的新思想、新方法和新技术。
D. U ML仅限千支持面向对象的分析与设计,不支持其它的软件开发过程。
9. 以下哪个软件生存周期模型是一种风险驱动的模型( C )A.瀑布模型C. 螺旋模型B.增量模型D.喷泉模型10. 以下哪一项对模块耦合性没有影响( DA.模块间接口的复杂限度B.调用模块的方式C. 通过接口的信息D. 模块内部各个元素彼此之间的紧密结合限度二、填空题(本大题共10小题,每空2分,共20分)1. 数据流图描绘数据在系统中流动和解决的过程。
软考模拟试题及答案解析一、单选题1. 在软件开发过程中,需求分析阶段的主要任务是什么?- A. 编写代码- B. 制定项目计划- C. 确定软件的功能需求- D. 进行软件测试答案:C解析:需求分析阶段是软件开发过程中的第一步,其主要任务是确定软件系统应该做什么,即明确软件的功能需求。
2. 下列哪个选项不是面向对象编程的特点?- A. 封装性- B. 继承性- C. 多态性- D. 结构化答案:D解析:面向对象编程的特点包括封装性、继承性和多态性,而结构化是面向过程编程的特点。
二、多选题1. 以下哪些是敏捷开发的核心原则?- A. 个体和互动高于流程和工具- B. 客户合作高于合同谈判- C. 可工作的软件高于详尽的文档- D. 遵循计划高于适应变化答案:A、B、C解析:敏捷开发的核心原则强调的是个体和互动、客户合作以及可工作的软件,而不是遵循计划。
三、判断题1. 在软件测试中,黑盒测试关注的是程序的内部逻辑结构。
- 对- 错答案:错解析:黑盒测试关注的是程序的功能,而不是内部逻辑结构,它通过程序的输入输出来测试程序的功能。
2. 软件工程的目标是生产出高质量的软件。
- 对- 错答案:对解析:软件工程的目标确实是生产出高质量的软件,这包括软件的可靠性、可维护性、可用性等。
四、简答题1. 请简述软件危机的概念及其主要表现。
答案:软件危机是指在软件开发过程中遇到的一系列问题,如成本超支、进度延误、质量低下等。
主要表现包括:- 项目难以控制,经常超时、超预算。
- 软件产品的质量难以保证,存在大量的缺陷。
- 软件维护困难,成本高昂。
- 软件难以适应用户需求的变化。
解析:软件危机是软件开发过程中普遍存在的问题,它严重影响了软件的开发效率和质量。
五、案例分析题1. 某项目组在开发过程中遇到了需求不断变更的问题,导致项目进度严重延误。
请分析可能的原因并给出解决方案。
答案:可能的原因:- 需求分析不充分,导致需求不明确。
软件开发考试题目及答案一、选择题(每题2分,共20分)1. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 确定软件的最终用户界面B. 确定软件的功能需求和性能需求C. 编写软件的详细设计文档D. 开始编写代码答案:B2. 面向对象编程中的“封装”指的是什么?A. 将数据和操作数据的方法组合在一起B. 将不同的数据类型组合在一起C. 将数据和控制数据的方法组合在一起D. 将不同的方法组合在一起答案:A3. 在敏捷软件开发中,以下哪个不是敏捷宣言的四个价值观之一?A. 个体和交互B. 可工作的软件C. 详尽的文档D. 响应变化答案:C4. 在软件测试中,黑盒测试和白盒测试的区别是什么?A. 黑盒测试关注软件的内部结构,白盒测试关注软件的功能B. 黑盒测试关注软件的功能,白盒测试关注软件的内部结构C. 两者都关注软件的功能D. 两者都关注软件的内部结构答案:B5. 软件项目管理的主要目标是什么?A. 确保软件按时发布B. 确保软件在预算内完成C. 确保软件满足所有需求D. 所有以上选项答案:D二、简答题(每题10分,共30分)1. 请简述软件开发生命周期(SDLC)的主要阶段。
答案:软件开发生命周期(SDLC)的主要阶段包括:需求收集、需求分析、系统设计、编码、测试、部署、维护和退役。
2. 解释什么是软件重构,并给出一个重构的例子。
答案:软件重构是指在不改变软件外部行为的前提下,对软件的内部结构进行调整以提高其可读性、可维护性和性能。
一个常见的重构例子是将一个过长的函数拆分成几个更小的、功能单一的函数。
3. 描述单元测试和集成测试的区别。
答案:单元测试是针对软件中的最小可测试部分(通常是单个函数或模块)进行的测试,以确保它们按预期工作。
集成测试则是在多个模块或组件已经单独测试后,将它们组合在一起进行测试,以确保它们能够协同工作。
三、应用题(每题25分,共50分)1. 假设你是一个软件开发团队的负责人,你的团队正在开发一个电子商务平台。
软件测试基础模拟试题(附答案)一、单选题(共90题,每题1分,共90分)1.关于软件质量的描述,正确的是()A、软件质量是指软件满足规定用户需求的能力B、软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性C、软件质量保证过程就是软件测试过程D、以上描述都不对正确答案:B2.下列关于文档测试描述错误的是()A、文档测试主要检查文档的正确性、完备性、可理解性、可操作性和易维护性B、完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容C、正确性是指不要把软件的功能和操作写错,也不允许文档文档内容前后矛盾D、文档不可以写成散文、诗歌或者侦探、言情小说,要让大众用户看得懂正确答案:A3.软件错误产生的原因有多种多样,以下哪个不属于其中()A、没有测试计划B、程序员编码过程中引入错误C、需求分析不完善D、软件设计错误正确答案:A4.下面有关软件缺陷的说法中错误的是()A、缺陷就是系统所需要实现某种功能的失效和违背B、缺陷开始软件维护过程中存在的错误、毛病等各种问题C、缺陷就是导致系统程序崩溃的错误D、缺陷就是软件产品在开发中存在的错误正确答案:C5.在边界值分析中,下列数据通常不用来做数据测试的是()A、刚刚大于边界的值B、等价类中的等价值C、正好等于边界的值D、刚刚小于边界的值正确答案:B6.下面有关软件使用质量衡量标准说法不正确的是()A、软件满意度指软件产品在特定的使用场景下,让用户满意的能力B、软件有效性指软件产品在特定的使用场景下,使用户根据达到地效果合理使用适当资源的能力C、软件安全性指软件产品在特定的使用场景下,对人、业务、软件、财产或环境的损害达到可以接受水平的能力D、软件使用质量主要从软件有效性、生产性、安全性和满意度等方面来衡量正确答案:B7.()也称功能测试,它是通过测试来检测每个功能是都能正常使用。
A、黑盒测试B、压力测试C、动态测试D、系统测试正确答案:A8.关于软件测试与软件开发的认识,不正确的是()A、软件测试是独立于软件开发的一个工作B、软件生命周期各个阶段都可能产生错误C、测试越早进行,越有助于提高被测软件的质量D、软件开发的需求分析和设计阶段就应开始测试工作正确答案:A9.软件生存周期过程中,修改错误最大的阶段是()A、发布运行阶段B、设计阶段C、需求阶段D、编程阶段正确答案:A10.在进行单元测试时,常用的方法是()A、只使用白盒测试B、采用白盒测试,辅之以黑盒测试C、采用黑盒测试,辅之以白盒测试D、只使用黑盒测试正确答案:A11.下列关于软件验收测试的合格通过准则错误的是()A、软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到B、所有测试项没有残余一级,二级和三级错误C、立项审批表,需求分析文档,设计文档和编码实现不一致D、验收测试工件齐全正确答案:C12.关于自动化测试局限性的描述,以下错误的描述有()A、自动化测试不能提高测试覆盖率B、自动化测试对测试设计依赖性极大C、自动化测试不能取代手工测试D、自动化测试比手工测试发现的缺陷少正确答案:D13.下列软件属性中,软件产品首要满足的应该是()A、性能需求B、功能需求C、容错、纠错能力D、可扩展性和灵活性正确答案:B14.在模块测试的过程中,采用自底向上的测试比自顶向下的测试()A、差B、好C、不确定D、一样正确答案:B15.软件测试的目的是()A、评价软件的质量B、发现软件的错误C、找出软件中的所有错误D、正确软件是正确的正确答案:B16.在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档是()A、用户手册B、测试计划手册C、内部设计规格说明D、外部设计规格说明正确答案:A17.对于维护软件的人员来说,使用质量是()的结果A、效率B、可维护性C、功能性D、可靠性正确答案:B18.软件测试的目的是()A、避免软件开发中出现的错误B、修改软件中出现的错误C、发现软件开发中出现的错误D、尽可能发现并排除软件中潜藏的错误,提高软件的可靠性正确答案:C19.黑盒测试是从()观点出发的测试,而白盒测试是从()观点出发的测试A、开发人员、管理人员B、开发人员、用户C、用户、开发人员D、用户、管理人员正确答案:C20.对计算机软件和硬件资源进行管理和控制的软件是()A、命令处理程序B、文件管理程序C、输入输出管理程序D、操作系统正确答案:D21.软件测试是软件开发其中的重要环节,其主要目的是()A、尽可能多的发现并改正程序中的错误B、发现并排出程序中的所有错误C、发现在软件需求方面中出现的错误D、发现并排出软件结构设计中的错误正确答案:A22.下列项目中不属于测试文档的是()A、测试计划B、测试用例C、程序流程图D、测试报告正确答案:C23.下列可以作为软件测试对象的是()A、需求规格说明书B、软件设计规格说明C、源程序D、以上全部正确答案:D24.从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为()A、调试B、错误检测C、故障排除D、测试正确答案:A25.下列关于测试方法的叙述中不正确的是()A、从某种角度上讲,白盒测试与黑盒测试都属于动态测试B、功能测试属于黑盒测试C、对功能的测试通常是要考虑程序的内部结构D、结构测试属于白盒测试正确答案:C26.以程序的内部结构为基础的测试用例技术属于()A、数据测试B、灰盒测试C、黑盒测试D、白盒测试正确答案:D27.某次程序调试没有出现预计的结果,下列()不可能是导致出错的原因A、代码输入有误B、循环控制出错C、变量没有初始化D、编写的语句书写格式不规范正确答案:D28.集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性()A、可使用性B、正确性C、可维护性D、可靠性正确答案:B29.在windows中crtl+s一般代表什么意思()A、保存B、打开C、新建D、打印正确答案:A30.软件测试规范规定,软件测试的类别可分为:单元测试、集成测试以及()A、系统测试B、验收测试C、系统测试和验收测试D、配置项测试、系统测试和验收测试正确答案:C31.在覆盖准则中,最常用的是()A、语句覆盖B、条件覆盖C、分支覆盖D、以上全部正确答案:D32.在测试中,属于白盒测试方法为()A、代码测试B、仿真测试环境C、全数字仿真测试D、实物测试正确答案:A33.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该()A、较少B、不确定C、相似D、较多正确答案:D34.成功的测试是指运行测试实例后()A、未发现程序错误B、改正了程序错误C、证明程序正确性D、发现了程序的错误正确答案:D35.下面有关测试原则的说法正确的是()A、测试用例应由测试的输入数据和预期的输出结果组成B、测试用例只需选取合理的输入数据C、使用测试用例进行测试是为了检查程序是否做了它该做的事D、程序最好由编写该程序的程序员自己来测试正确答案:A36.关于Action Word ,以下说法不正确的是()A、Action Word(缩写AW)是一种业务的抽象,比如测试用例里的测试步骤,检查验证、消息序列等等B、Action Word抽象方式的不同对可重用性影响很大C、Action Word可以带必选参数也可以带可选参数D、Action Word的实现是不可执行的正确答案:D37.对程序的测试最好由谁来做,对程序的调试最好由谁来做()A、程序开发组/程序开发组B、程序员/第三方测试机构C、程序开发组/程序员D、第三方测试机构/程序员正确答案:D38.单元测试中设计测试用例的依据是()A、详细设计规格说明书B、用户需求规格说明书C、项目计划说明书D、概要设计规格说明书正确答案:A39.下列关于软件测试的叙述中,选择出全部正确的一组()1)用黑盒测试时,测试用例是根据程序内部逻辑设计的2)尽量用公共过程或子程序去代替重复的代码段3)测试是为了验证该软件已正确的实现了用户的要求4)对于连锁型分支结构,若有n个判定语句,则有2n 条路径5)尽量采用复合的条件测试,以避免嵌套的分支结构6)语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁 7)发现错误多的程序模块,残留在模块中的错误也多8)黑盒测试方法中最有效的是因果图法9)在做程序的单元测试时,桩(存根)模块比驱动模块容易编写10)程序效率的提高主要应通过选择高效的算法来实现A、4)5)6)7)10)B、1)2)4)5)7)C、2)4)5)7)9)D、以上描述全部正确正确答案:A40.测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是()A、划分等价B、随机选择C、根据接口进行选择D、根据数据大小进行选择正确答案:A41.以下关于边界值的说法错误的是()A、内点就是在域范围内的任意一个点B、上点指的是边界上的点,如果是闭区间上点就在域范围内,如果是开区间上点就在域范围外C、边界值选取原则就是选取正好等于,刚刚大于或刚刚小于边界值的数据作为测试数据D、离点就是离上点最近的一个点,是开区间就在域范围外,是闭区间就在范围内正确答案:D42.Excel软件可用于()A、文字处理B、设计程序C、电子表格处理D、幻灯片制作正确答案:C43.以下说法正确的是()A、单元测试是对软件基本组成单元进行测试,即测试对象一定是一个函数B、非功能质量属性越高越好C、自底向上的集成测试需要测试人员编写测试驱动程序D、系统备份与恢复中的数据备份与恢复通常只需要针对业务/用户数据正确答案:B44.常用的黑盒测试方法有边界值分析、等价类划分、错误猜测、因果图等。
软件开发考试试卷(机密)考试声明本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。
特此声明。
考生签名:年月日答题纸三、改错题1.2.3.4.5.四.编程题注:选择题请将答案填写在答题纸上,填写在其它位置无效。
软件开发考核试卷考试说明:1、本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废;2、本次考试时间为60分钟,共计100分;3、试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;4、请将答案写在答题纸上,填写在其他位置无效。
一.单项选择题(每题2分,共计60分)1.软件工程研究的内容包括:()技术和软件工程管理: DA.软件测试B.数据分析C.动态测试D.软件开发2.在C语言中(以 16 位PC机为例),一个float型数据在内存中所占的字节数为 4;一个double型数据在内存中所占的字节数为:CA.32B.6C.8D.163.下列描述正确的是:AA. C 语言程序中各函数之间既允许直接递归调用也允许间接递归调用B. C 语言程序中不允许直接递归调用也不允许间接递归调用C. C 语言程序中允许直接递归调用不允许间接递归调用D. C 语言程序中不允许直接递归调用允许间接递归调用4.下面关于完全二叉树的叙述中,错误的是:BA.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为[log2n]+15.在软件生命周期中,能准确完成程序的编码的阶段是:CA.概要设计B.详细设计C.软件实现D.需求分析6.下面程序的输出结果是:B#include <stdio.h>sub(x,y,z)int x,y,*z;{ *z=y–x;}main( ){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}A.5,2,3B.–5, –12, –7C.–5, –12, –17D.5, –2, –77.程序流程图(PFD)中的箭头代表的是:BA.数据流B.控制流C.调用关系D.组成关系8.下面程序的输出是:Cmain ( ){ enum em { em1=3,em2=1,em3};char * aa[ ]={"AA","BB","CC","DD"};printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);}A.DCBBCDB.BBDDCCC.DDBBCCD.DBDBCC9.符合 C 语言语法的赋值语句的是:DA.a=7+b+c=a+7B.a=a+7C.a=7+b,b++,a+7;D.a=7+b,c=a+7;10.若运行时给变量x输入 12,则以下程序的运行结果是:B main( ){int x,y;scanf(“%d”,&x);y=x>12?x+10:x–12;printf(“%d\n”,y);}A.2B.0C.8D.1011.在 C 语言中,要求运算数必须是整型的运算符是:AA.%B./C.<D.!12.以下程序语句中y=–1;if (x!=0)if(x>0) y=1; else y=0;所表示的数学函数关系是:C–1 (x<0) 1 (x<0)A. y= 0 (x=0)B. y= –1 (x=0)1 (x>0) 0 (x>0)0 (x<0) –1 (x<0)C. y= –1 (x=0)D. y= 1 (x=0)1 (x>0) 0 (x>0)13.若有以下函数定义:Cmyfun(double a, int n){…… }则myfun函数值的类型是A. voidB. doubleC. intD. char14.软件需求分析应确定用户对软件的:DA.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求15.C语言中main函数参数的非法表示形式是:DA.main(char *argv[],int argc)B.main(int a,char**b)C.main(int y,char *x[])D.main(int argv,char *argc[])16.以下的for循环:Cfor(x=0,y=0;(y!=123)&&(x<4);x++)A.是无限循环B.循环次数不定C.执行4次D.执行3次17.C语言规定,函数返回值的类型由:AA.在定义时所指定的函数类型所决定B.调用该函数时的主调函数类型所决定C.return语句中的表达式类型所决定D.调用该函数时系统临时决定18.下面描述中,不符合结构化程序设计风格的是:CA.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.自顶向下C.注重提高程序的执行效率D.限制使用 goto 语句19.以下程序中main( ){ int x=3,y=0,z=0;if(x=y+z)printf("* * * *");else printf("####");}DA.有语法错误不能通过编译B.输出* * * *C.可以通过编译, 但是不能通过连接, 因而不能运行D.输出####20.执行下面程序片段的结果是:Bint x=123;do{ printf("=\n",x--);}while(!x);A.打印出321B.打印出123C.不打印任何内容D.陷入死循环21.下述对C语言字符数组的描述中错误的是:CA.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较22.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是:DA.acbedB.decabC.deabcD.cedba23.C 语言提供的合法的数据类型关键字是:BA.DoubleB.floatC.integerD.Char24.以下程序的输出结果正确的是:B#include <stdio.h>sub(int *s,int y){ static int t=3;y=s[t];t––;}main( ){ int a[ ]={1,2,3,4},i, x=0;for(i=0;i<4;i++) {sub(a,x);printf("%d",x); }printf("\n");}A.1234B.0000C.4321D.444425. C程序中的语句:char *func(int x,int y); 它是:CA. 对函数func的定义B. 对函数func的调用C.对函数func的原型说明D. 不合法的26. 下列程序的运行结果是:Amain( ){ union EXAMPLE{ struct{ int x; int y; } in;int a;int b;}e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf("%d,%d\n",e.in.x,e.in.y);}A.4,8B.2,6C.8,16D.12,1627.下列选项中可用于C语言用户标识符的是:BA.voiddefinewordB.a3_b3_123CarC.For-abcIFCaseD.2aDOsizeof28.对下述程序,描述正确的是:Amain (){ int a, b;scanf("%d,%d",&a,&b);if(a>b)a=b;b=a;else a++;b++;printf("%d,%d",a,b);}A.有语法错误不能通过编译B.若输入4,5则输出5,6C.若输入5,4则输出4,5D.若输入5,4则输出5,529.下面程序的输出是:Bmain( ){int arr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=1;i<4;i++)k+=arr[i]+i;printf("%d\n",k);}A.8B. 6C. 4D.1230.若有以下定义,则不移动指针p,且通过指针p引用值为 98 的数组元素的表达式是:BDint w[10] = {23,54,10,33,47,98,72,80,61},*p = w;A.(p+5)*B.*(p+5)C. p%[5]D.p[5%]二.多项选择题 (每题2分,共计20分)1.下列有关函数的说法中正确的是:ABCA. C语言中的函数只具有static和extern两种类型B. C语言中允许函数的递归调用C. 调用函数时,C语言要求实参与形参的个数,类型完全一致D. C语言函数的缺省数据类型是空类型(void型)2.下面的变量说明中()是错误的:ABDA.char:a, b, c;B.char a; b; c;C.char a, b, c;D.char a, b, c3.假如有以下调用语句,则正确的fun函数的首部是:ABC main(){ …int a[50],n;…fun(n, &a[9]);…}A.void fun(int m, int x[])B.void fun(int s, int h[41])C.void fun(int p, int *s)D.void fun(int n, int a)4.下列常量中哪些是合法的:BCDA.2e32.6B. 0.2e-5C. “basic”D. 0x4b005.关于if后一对圆括号中的表达式,以下叙述中错误的是:ABCA.只能用逻辑表达式B.只能用关系表达式C.既可用逻辑表达式也可用关系表达式D.可用任意表达式6. 下列叙述中错误的是:BCDA.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构7.若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中正确的是:ABDA.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC.对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D.函数f无返回值,所以可用void将其类型定义为无返回值型8.根据C语言的语法规则,下列()是合法标识符:BCDA.doB. NameC. R5D. _exam9. 下列关于复合语句和空语句的说法正确的是:ABDA.复合语句是由“{”开头,由“}”结尾的B.复合语句在语法上视为一条语句C.复合语句内,可以有执行语句,不可以有定义语句部分D.C程序中的所有语句都必须由一个分号作为结束10. 下列说法中错误的是:ACDA.全局变量的作用域一定比局部变量的作用域大B.静态(static)类型变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值三.改错题 (每题2分,共计10分)将下列程序中不正确的语句改正。
软件开发试题及答案一、选择题(每题2分,共10分)1. 下列关于软件开发生命周期的描述中,错误的是:A. 需求分析阶段是软件开发的第一步B. 设计阶段需要确定软件的内部结构C. 编码阶段是将设计转换为代码D. 测试阶段是软件开发的最后阶段答案:D2. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 确定软件的功能和性能C. 进行软件测试D. 部署软件答案:B3. 敏捷开发方法的核心理念是:A. 过程和工具B. 文档和规范C. 个人和交互D. 客户合作答案:C4. 在面向对象编程中,封装的目的是:A. 提高代码的可读性B. 隐藏对象的实现细节C. 提高代码的执行效率D. 增加代码的复杂性答案:B5. 下列关于软件测试的描述中,正确的是:A. 测试是为了证明软件无错误B. 测试是为了发现软件的错误C. 测试可以提高软件的性能D. 测试是软件开发的可选步骤答案:B二、填空题(每题2分,共10分)1. 在软件开发过程中,需求分析阶段的主要任务是确定软件的________和________。
答案:功能;性能2. 敏捷开发方法强调的是________和________。
答案:迭代;增量3. 在面向对象编程中,继承的目的是________。
答案:代码重用4. 软件测试的主要目的是________。
答案:发现错误5. 在软件开发中,维护阶段包括________和________。
答案:纠错;改进三、简答题(每题5分,共20分)1. 请简述软件开发生命周期的主要阶段。
答案:需求分析、系统设计、实现、测试、部署、维护。
2. 敏捷开发方法与传统开发方法相比有哪些优势?答案:敏捷开发方法具有更高的灵活性和适应性,能够更快地响应变化,强调团队合作和客户参与,以及持续交付价值。
3. 面向对象编程的三大特性是什么?答案:封装、继承、多态。
4. 软件测试的目的是什么?答案:软件测试的目的是确保软件的质量,通过发现和修复错误来提高软件的可靠性和性能。
软考模拟试题及答案汇总一、单选题1. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 设计数据库C. 确定软件需求D. 进行系统测试答案:C2. 以下哪项不属于软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 项目管理答案:D3. 在项目管理中,哪个过程负责定义项目的工作分解结构(WBS)?A. 项目启动B. 项目规划C. 项目执行D. 项目收尾答案:B二、多选题1. 软件工程的基本原则包括以下哪些方面?A. 抽象B. 模块化C. 迭代开发D. 重用答案:A, B, C, D2. 在敏捷开发方法中,以下哪些实践是常见的?A. 持续集成B. 每日站立会议C. 需求文档的详细编写D. 用户故事答案:A, B, D三、判断题1. 软件需求规格说明书(SRS)是软件开发过程中最重要的文档之一。
()答案:正确2. 软件测试的目的是发现尽可能多的错误,而不是证明软件没有错误。
()答案:正确四、简答题1. 请简述软件开发生命周期(SDLC)的主要阶段。
答案:软件开发生命周期的主要阶段包括需求收集、需求分析、系统设计、编码与实现、测试、部署以及维护。
2. 什么是敏捷开发方法?请列举其主要特点。
答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。
其主要特点包括快速响应变化、持续交付价值、团队协作、客户参与以及技术卓越。
五、案例分析题阅读以下案例,并回答问题。
案例描述:某软件开发团队正在开发一个新的电子商务平台。
在项目初期,团队决定采用敏捷开发方法。
在开发过程中,团队发现需求不断变化,需要频繁地进行需求调整。
问题:1. 在这种情况下,敏捷开发方法的优势是什么?2. 团队应该如何处理需求变化?答案:1. 敏捷开发方法的优势在于其能够快速适应需求变化,通过短周期的迭代开发,团队可以持续交付价值,并且及时调整开发方向以满足客户需求。
2. 团队应该采用用户故事来捕捉需求,通过每日站立会议来沟通需求变化,并在每个迭代周期结束时进行回顾,以确保需求的持续集成和产品的逐步完善。
一、选择题1、以下软件属性中,软件产品首要满足的应该是【A 】A.功能需求B.性能需求C.可扩展性和灵活性D.容错纠错能力2、软件缺陷产生的原因是【 D 】。
A.交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷B.软件的复杂性;软件项目的时间压力C.程序开发人员的错误;软件项目文档的缺乏D.以上都是3、导致软件缺陷的最大原因是【 A 】A.规格说明书 B.设计 C.编码 D.测试4、修复软件缺陷费用最高的是【 D 】阶段A.编制说明书 B.设计 C.编写代码 D.发布5、以下【 A 】不属于软件缺陷。
A.测试人员主观认为不合理的地方B.软件未到达产品说明书标明的功能C.软件出现了产品说明书指明不会出现的错误D.软件功能超出产品说明书指明范围6、软件测试的目的是【 B 】A.防止软件开发中出现的错误B.发现软件开发中出现的错误C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性D.修改软件中出现的错误7、软件测试技术可以分为静态测试和动态测试,以下说法中错误的选项是【 D 】。
A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C.动态测试包括黑盒测试和白盒测试。
D.白盒测试是静态测试,黑盒测试是动态测试。
8、白盒测试是根据程序的【 C 】来设计测试用例。
A.功能B.性能C.内部逻辑D.内部数据9、黑盒测试是根据软件的【 B 】来设计测试用例。
A.功能B.规格说明C.内部逻辑D.内部数据10、用黑盒技术设计测试用例的方法之一为【 A 】A.因果图 B.逻辑覆盖 C.循环覆盖 D.基本路径测试11、坚持在软件的各个阶段实施以下哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期【 A 】。
A.技术评审B.程序测试 C.改正程序错误 D.管理评审12、为了提高测试的效率,正确的做法是【 A 】。
软件测试理论知识模考试题+答案一、单选题(共70题,每题1分,共70分)1、如果某段代码简明、易懂并且注释准确没有歧义,那么我们说此代码具备()。
A、一致性B、规范性C、清晰性D、正确性正确答案:C2、编码阶段的测试目标是确定程序代码的质量,代码质量的确定依据是()。
A、执行程序评估工作,分析程序是否是设计说明的正确翻译,是否与程序编码标准相符B、设计规格说明可跟踪到程序相应的代码,程序代码可跟踪到设计需求C、以上全部D、分析程序接口并与接口文档相对照正确答案:C3、关于白盒测试与黑盒测试的最主要区别,正确的是()。
A、白盒测试侧重于程序结构,黑盒测试侧重于功能B、白盒测试可以使用测试工具,黑盒测试不能使用工具C、黑盒测试比白盒测试应用更广泛D、白盒测试需要程序员参与,黑盒测试不需要正确答案:A4、下列各项中___不是一个测试计划所应包含的内容A、测试资源、进度安排B、测试策略C、测试预期输出D、测试范围正确答案:C5、进行兼容性测试的目的在于()。
A、测试程序在不同的平台上可以正常运行B、测试程序与平台上的其他程序可以同时正常运行C、以上选项都正确D、测试数据格式在不同应用程序之间可以通用正确答案:C6、当对发现的缺陷进行修改之后,执行一系列基准测试,以确认程序的修改没有对程序的其他部分产生干扰。
这种测试通常称为()。
A、系统测试B、回归测试C、验证测试D、确认测试正确答案:B7、单元测试中用来模拟被测模块调用者的模块是( )A、子模块B、父模块C、桩模块D、驱动模块正确答案:D8、集成测试分为渐增组装测试和()A、非渐增组装测试B、测试计划C、确认测试D、单元测试正确答案:A9、()是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、决策表B、基本路径测试C、数据流测试D、逻辑覆盖正确答案:C10、对程序的调试最好由()来做A、第三方测试机构B、程序开发组C、程序员D、客户正确答案:C11、数据流覆盖关注的是程序中某个变量从其声明,赋值到引用的变化情况,它是下列哪种覆盖的变种A、分支覆盖B、控制覆盖C、语句覆盖D、路径覆盖正确答案:D12、软件的单元测试工作通常是由( )完成。
软件测试理论知识模拟试题与参考答案一、单选题(共70题,每题1分,共70分)1、下列哪个模型没有采用迭代的思想()A、渐增模型B、RUP模型C、螺旋模型D、瀑布模型正确答案:D2、有一个功能增强型的项目,其以前的产品已经很稳定,并且新增的项目只有少数几个构件被增加或修改,那么对该项目进行集成测试最适合采用的策略是( )。
A、基于功能的集成策略B、自项向下集成策略C、非增量集成策略D、自底向上集成策略正确答案:C3、用来代替被测模块的子模块的是()A、调用模块B、配置模块C、驱动模块D、桩模块正确答案:D4、测试“关闭文件”操作时,下列说法不正确的是()。
A、编辑文件后保存,文件正常关闭B、编辑文件后不保存,单击窗口右上角的关闭按钮,系统应有是否保存再关闭类似的提示C、编辑文件后不保存,从任务管理器中结束任务,程序应直接被关闭D、编辑文件后不保存,直接从菜单关闭,系统应有是否保存再关闭类似的提示正确答案:A5、下列不属于系统模块等级的是( )A、高危模块B、一般模块C、低危模块D、缺陷模块正确答案:D6、下列项目中不属于测试文档的是( )A、测试计划B、测试报告C、测试用例D、程序流程图正确答案:D7、在设计一个充分的健壮性测试思路上通常考虑使用的策略有( )。
1)基于覆盖率的策略 2)基于可靠性的策略 3)基于错误的策略4)基于失效的策略A、1)和3)B、1)C、1)和3)和4)D、所有都应考虑正确答案:C8、在各种资源超负荷情况下,观察系统的运行情况的测试是什么测试方法( )。
A、负载测试B、容量测试C、压力测试D、失效恢复测试正确答案:C9、对下列产品进行测试,要优先考虑自底向上集成策略的是( )。
A、采用契约式设计的产品B、底层接口比较稳定的产品C、以上全部D、高层接口变化极为频繁的产品正确答案:C10、()是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
软件开发考试试卷(机密)考试声明本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。
特此声明。
考生签名:年月日答题纸1.2.3.4.5.四.编程题注:选择题请将答案填写在答题纸上,填写在其它位置无效。
软件开发考核试卷考试说明:1、本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废;2、本次考试时间为60分钟,共计100分;3、试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩;4、请将答案写在答题纸上,填写在其他位置无效。
一.单项选择题(每题2分,共计60分)1.软件工程研究的内容包括:()技术和软件工程管理: DA.软件测试B.数据分析C.动态测试D.软件开发2.在C语言中(以 16 位PC机为例),一个float型数据在内存中所占的字节数为 4;一个double型数据在内存中所占的字节数为:CA.32B.6C.8D.163.下列描述正确的是:AA. C 语言程序中各函数之间既允许直接递归调用也允许间接递归调用B. C 语言程序中不允许直接递归调用也不允许间接递归调用C. C 语言程序中允许直接递归调用不允许间接递归调用D. C 语言程序中不允许直接递归调用允许间接递归调用4.下面关于完全二叉树的叙述中,错误的是:BA.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为[log2n]+15.在软件生命周期中,能准确完成程序的编码的阶段是:CA.概要设计B.详细设计C.软件实现D.需求分析6.下面程序的输出结果是:B#include <stdio.h>sub(x,y,z)int x,y,*z;{ *z=y–x;}main( ){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}A.5,2,3B.–5, –12, –7C.–5, –12, –17D.5, –2, –77.程序流程图(PFD)中的箭头代表的是:BA.数据流B.控制流C.调用关系D.组成关系8.下面程序的输出是:Cmain ( ){ enum em { em1=3,em2=1,em3};char * aa[ ]={"AA","BB","CC","DD"};printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);}A.DCBBCDB.BBDDCCC.DDBBCCD.DBDBCC9.符合 C 语言语法的赋值语句的是:DA.a=7+b+c=a+7B.a=a+7C.a=7+b,b++,a+7;D.a=7+b,c=a+7;10.若运行时给变量x输入 12,则以下程序的运行结果是:B main( ){int x,y;scanf(“%d”,&x);y=x>12?x+10:x–12;printf(“%d\n”,y);}A.2B.0C.8D.1011.在 C 语言中,要求运算数必须是整型的运算符是:AA.%B./C.<D.!12.以下程序语句中y=–1;if (x!=0)if(x>0) y=1; else y=0;所表示的数学函数关系是:C–1 (x<0) 1 (x<0)A. y= 0 (x=0)B. y= –1 (x=0)1 (x>0) 0 (x>0)0 (x<0) –1 (x<0)C. y= –1 (x=0)D. y= 1 (x=0)1 (x>0) 0 (x>0)13.若有以下函数定义:Cmyfun(double a, int n){…… }则myfun函数值的类型是A. voidB. doubleC. intD. char14.软件需求分析应确定用户对软件的:DA.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求15.C语言中main函数参数的非法表示形式是:DA.main(char *argv[],int argc)B.main(int a,char**b)C.main(int y,char *x[])D.main(int argv,char *argc[])16.以下的for循环:Cfor(x=0,y=0;(y!=123)&&(x<4);x++)A.是无限循环B.循环次数不定C.执行4次D.执行3次17.C语言规定,函数返回值的类型由:AA.在定义时所指定的函数类型所决定B.调用该函数时的主调函数类型所决定C.return语句中的表达式类型所决定D.调用该函数时系统临时决定18.下面描述中,不符合结构化程序设计风格的是:CA.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.自顶向下C.注重提高程序的执行效率D.限制使用 goto 语句19.以下程序中main( ){ int x=3,y=0,z=0;if(x=y+z)printf("* * * *");else printf("####");}DA.有语法错误不能通过编译B.输出* * * *C.可以通过编译, 但是不能通过连接, 因而不能运行D.输出####20.执行下面程序片段的结果是:Bint x=123;do{ printf("=\n",x--);}while(!x);A.打印出321B.打印出123C.不打印任何内容D.陷入死循环21.下述对C语言字符数组的描述中错误的是:CA.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较22.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是:DA.acbedB.decabC.deabcD.cedba23.C 语言提供的合法的数据类型关键字是:BA.DoubleB.floatC.integerD.Char24.以下程序的输出结果正确的是:B#include <stdio.h>sub(int *s,int y){ static int t=3;y=s[t];t––;}main( ){ int a[ ]={1,2,3,4},i, x=0;for(i=0;i<4;i++) {sub(a,x);printf("%d",x); }printf("\n");}A.1234B.0000C.4321D.444425. C程序中的语句:char *func(int x,int y); 它是:CA. 对函数func的定义B. 对函数func的调用C.对函数func的原型说明D. 不合法的26. 下列程序的运行结果是:Amain( ){ union EXAMPLE{ struct{ int x; int y; } in;int a;int b;}e;e.a=1;e.b=2;}A.4,8B.2,6C.8,16D.12,1627.下列选项中可用于C语言用户标识符的是:BA.voiddefinewordB.a3_b3_123CarC.For-abcIFCaseD.2aDOsizeof28.对下述程序,描述正确的是:Amain (){ int a, b;scanf("%d,%d",&a,&b);if(a>b)a=b;b=a;else a++;b++;printf("%d,%d",a,b);}A.有语法错误不能通过编译B.若输入4,5则输出5,6C.若输入5,4则输出4,5D.若输入5,4则输出5,529.下面程序的输出是:Bmain( ){int arr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=1;i<4;i++)k+=arr[i]+i;printf("%d\n",k);}A.8B. 6C. 4D.1230.若有以下定义,则不移动指针p,且通过指针p引用值为 98 的数组元素的表达式是:BDint w[10] = {23,54,10,33,47,98,72,80,61},*p = w;A.(p+5)*B.*(p+5)C. p%[5]D.p[5%]二.多项选择题 (每题2分,共计20分)1.下列有关函数的说法中正确的是:ABCA. C语言中的函数只具有static和extern两种类型B. C语言中允许函数的递归调用C. 调用函数时,C语言要求实参与形参的个数,类型完全一致D. C语言函数的缺省数据类型是空类型(void型)2.下面的变量说明中()是错误的:ABDA.char:a, b, c;B.char a; b; c;C.char a, b, c;D.char a, b, c3.假如有以下调用语句,则正确的fun函数的首部是:ABCmain(){ …int a[50],n;…fun(n, &a[9]);…}A.void fun(int m, int x[])B.void fun(int s, int h[41])C.void fun(int p, int *s)D.void fun(int n, int a)4.下列常量中哪些是合法的:BCDA.2e32.6B. 0.2e-5C. “basic”D. 0x4b005.关于if后一对圆括号中的表达式,以下叙述中错误的是:ABCA.只能用逻辑表达式B.只能用关系表达式C.既可用逻辑表达式也可用关系表达式D.可用任意表达式6. 下列叙述中错误的是:BCDA.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构7.若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中正确的是:ABDA.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC.对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D.函数f无返回值,所以可用void将其类型定义为无返回值型8.根据C语言的语法规则,下列()是合法标识符:BCDA.doB. NameC. R5D. _exam9. 下列关于复合语句和空语句的说法正确的是:ABDA.复合语句是由“{”开头,由“}”结尾的B.复合语句在语法上视为一条语句C.复合语句内,可以有执行语句,不可以有定义语句部分D.C程序中的所有语句都必须由一个分号作为结束10. 下列说法中错误的是:ACDA.全局变量的作用域一定比局部变量的作用域大B.静态(static)类型变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值三.改错题 (每题2分,共计10分)将下列程序中不正确的语句改正。