为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

河海大学《软件工程导论》考研复习题库

2019-02-18 3页 pdf 255KB 145阅读

用户头像 个人认证

a谷雨c燕

擅长CFD模拟仿真、考研、模板

举报
河海大学《软件工程导论》考研复习题库专业课复习资料(最新版)封面-1-一、单选题(60分,每小题1分)1.能把高级语言编写的源程序进行转换,并生成机器语言形式的目标程序的系统软件称为__?__。A.连接程序B.汇编程序C.解释程序D.编译程序2.系统软件是给其他软件提供服务的程序集合,下面的叙述中错误的是__?__。A.系统软件与计算机硬件有关B.在通用计算机系统中系统软件几乎是必不可少的C.操作系统是系统软件之一D.IE浏览器也是一种系统软件3.条件选择结构语句,例如if(P)A;属于高级语言中的__?__成分。(P表示条件,A表示操作)A.数据B.运算C.控...
河海大学《软件工程导论》考研复习题库
专业课复习资料(最新版)封面-1-一、单选题(60分,每小题1分)1.能把高级语言编写的源程序进行转换,并生成机器语言形式的目标程序的系统软件称为__?__。A.连接程序B.汇编程序C.解释程序D.编译程序2.系统软件是给其他软件提供服务的程序集合,下面的叙述中错误的是__?__。A.系统软件与计算机硬件有关B.在通用计算机系统中系统软件几乎是必不可少的C.操作系统是系统软件之一D.IE浏览器也是一种系统软件3.条件选择结构语句,例如if(P)A;属于高级语言中的__?__成分。(P表示条件,A表示操作)A.数据B.运算C.控制D.传输4.计算机软件的发展受到应用和硬件发展的推动和制约,大致经历了三个阶段,下面的叙述中错误的是__?__。A.第一阶段主要是科学与工程计算,使用低级语言编制程序B.第二阶段使用高级程序语言编制程序,并产生了操作系统和数据库管理系统C.20世纪80年代初期,出现了"软件"术语,软件技术走向成熟D.为适应开发大型软件的需要,第三阶段提出了"软件工程"的概念5.BIOS的中文名叫做基本输入/输出系统。下列说法中错误的是__?__。A.BIOS是固化在主板上ROM中的程序B.BIOS中包含系统自举(装入)程序C.BIOS中包含加电自检程序D.BIOS中的程序是汇编语言程序6.程序设计语言分成3类,它们是机器语言、汇编语言和__?__。A.高级语言B.自然语言C.数学语言D.置标语言7.用于解决各种不同具体应用问题的专门软件,称为应用软件,应用软件又分为通用应用软件和定制应用软件两类。下列软件中全部属于通用应用软件的是__?__。A.WPS、Windows、WordB.Powerpoint、SPSS、UNIXC.ALGOL、Photoshop、FORTRAND.Powerpoint、Excel、Word8.UNIX和Linux是使用较为广泛的多用户交互式分时操作系统。下列叙述中,错误的是__?__。A.TCP/IP网络协议是在UNIX系统上开发成功的B.UNIX系统的大部分代码是用C语言编写的C.它们是目前互联网服务器使用得很多的操作系统-2-D.它们适用于大中型机或网络服务器,不能用于便携机9.下列软件产品都属于数据库管理系统软件的是__?__。A.Sybase、FoxPro、SQLServer、FORTRANB.FoxBase、SQLServer、Access、ExcelC.FoxBase、ORACLE、SQLServer、FoxProD.DB2、UNIX、Access、SQLServer10.直接运行在裸机上的最基本的系统软件是__?__。A.Flash和LinuxB.Unix和FoxProC.Word和OS/2D.WindowsXP和Unix11.按照不同的翻译处理方法,可把翻译程序分为__?__三类。A.目标程序、解释程序和编译程序B.汇编程序、程序模块和编译程序C.汇编程序、解释程序和源程序D.汇编程序、解释程序和编译程序12.下列软件中属于系统软件的是__?__。A.WordB.C语言源程序C.FrontPageD.C语言编译系统13.高级语言编写的程序必须将它转换成__?__程序,计算机才能直接执行。A.汇编语言B.机器语言C.中级语言D.编译14.说Linux是一种"自由软件"的主要理由是__?__。A.Linux的源代码是公开的B.Linux是多用户、多任务的操作系统C.Linux具有可移植性D.Linux属于GPL软件15.下面是关于解释程序和编译程序的论述,其中正确的是__?__。A.编译程序和解释程序均能产生目标程序B.编译程序和解释程序均不能产生目标程序C.编译程序能产生目标程序而解释程序则不能D.编译程序不能产生目标程序而解释程序能-3-16.算法的好坏不必考虑__?__。A.正确性B.易理解C.需要占用的计算机资源D.编程人员的爱好17.下列关于Windows操作系统的说法中,错误的是__?__。A.Windows提供图形用户界面(GUI)B.Windows支持“即插即用”的系统配置方法C.Windows具有支持多种协议的通信软件D.Windows的各个版本都可作为服务器使用的操作系统18.__?__不是程序设计语言。A.FORTRANB.C++C.JavaD.Flash19.虚拟存储系统能够为用户程序提供一个容量很大的虚拟地址空间,但其大小有一定的范围,它受到__?__的限制。A.内存容量大小B.外存空间及CPU地址表示范围C.交换信息量大小D.CPU时钟频率20.下列关于高级语言翻译处理方法的说法错误的是__?__。A.解释程序的优点是实现算法简单B.解释程序适合于交互方式工作的程序语言C.运行效率高是解释程序的另一优点D.编译方式适合于大型应用程序的翻译21.比较算法和程序,以下说法中正确的是__?__。A.算法可采用“伪代码”或图等方式来描述B.程序中的指令和算法中的运算语句都必须用高级语言表示C.算法和程序都必须满足有穷性D.算法就是程序22.在计算机的启动过程中,执行:1.POST程序、2.操作系统、3.引导程序、4.系统自举程序,它们的先后顺序为__?__。A.1、2、3、4B.1、3、2、4C.3、2、4、1D.1、4、3、223.下列关于计算机算法的叙述中,错误的是__?__。A.算法与程序不同,它是问题求解规则的一种过程描述,总在执行有穷步的运算后终止B.算法的设计一般采用由细到粗、由具体到抽象的逐步求解的方法C.算法的每一个运算必须有确切的定义,即每一个运算应该执行何种操作必须是清楚明确的、无二义性D.分析一个算法好坏,要考虑其占用的计算机资源(如时间和空间)、算法是否易-4-理解、易调试和易测试24.一个程序中的算术表达式,如X+Y-Z,属于高级程序语言中的__?__成分。A.数据B.运算C.控制D.传输25.以下关于高级程序设计语言中的数据成分的说法中,正确的是__?__。A.数据命名可说明数据需占用存储单元的多少和存放结构B.数组是一组类型相同数据的有序集合C.指针变量中存放的是某个数据对象的值D.用户不可以自己定义新的数据类型26.PC机加电启动时,执行了BIOS中的POST程序后,若系统无致命错误,计算机将执行BIOS中的__?__。A.系统自举程序B.CMOS设置程序C.基本外围设备的驱动程序C.检测程序27.若网络中很多用户都需要安装使用同一软件时,则应购买该软件的__?__。A.许可证B.专利C.著作权D.多个拷贝28.__?__一般不作为数值计算使用的程序设计语言。A.FORTRANB.C语言C.FoxProD.MATLAB29.数据流程图一般是按__?__方式绘制的。A.自底向上B.自顶向下C.由内向外D.由外向内30.①WindowsME②WindowsXP③WindowsNT④Frontpage⑤Access97⑥Unix⑦Linux⑧MS-DOS对于以上列出的8个软件,__?__均为操作系统软件。A.①②③④B.①②③⑤⑦C.①③⑤⑥⑧D.①②③⑥⑦⑧31.下面关于程序设计语言的说法错误的是__?__。A.FORTRAN语言是一种用于数值计算的面向过程的程序设计语言B.Java是面向对象用于网络环境的程序设计语言C.C语言与运行支撑环境分离,可移植性好D.C++是面向过程的语言,VC++是面向对象的语言32.下列应用软件中主要用于数字图形图像处理的是__?__A.OutlookExpressB.PowerPointC.ExcelD.PHOTOSHOP33.下列软件属于系统软件的是__?__。①金山毒霸②SQLServer③FrontPage④CorelDraw⑤编译器⑥Linux⑦银行会计软件⑧Oracle⑨Sybase⑩民航售票软件A.①③④⑦⑩B.②⑤⑥⑧⑨C.①③⑧⑨D.①③⑥⑨⑩34.下列操作系统都具有网络通信功能,但其中不能作为网络服务器操作系统的是__?__。A.Windows98B.WindowsNTServer-5-C.Windows2000ServerD.Unix35.下面的程序设计语言中,主要用于科学计算的是__?__。A.FORTRANB.PASCALC.JAVAD.C++36.计算机完成最基本操作任务的软件和协助用户完成某项特定任务的软件分别是__?__。A.系统软件和系统软件B.系统软件和应用软件C.应用软件和系统软件D.应用软件和应用软件37.下列不属于计算机软件技术的是__?__。A.数据库技术B.系统软件技术C.程序设计技术D.单片机接口技术38.关于数据的逻辑结构与存储结构之间的关系,下述说法中正确的是__?__。A.两者没有任何关系B.逻辑结构是指数据元素间的逻辑关系,它决定了数据在计算机中的存储方式C.存储结构讨论在计算机中怎样存储数据,与逻辑结构无关D.数据的存储结构是逻辑结构在计算机存储器中的实现39.PC机上运行的Windows98操作系统属于__?__。A.单用户单任务系统B.单用户多任务系统C.多用户多任务系统D.实时系统40.在各类程序设计语言中,相比较而言,__?__程序的执行效率最高。A.机器语言B.汇编语言C.面向过程的语言D.面向对象的语言41.著名的计算机科学家尼.沃思提出了__?__。A.数据结构+算法=程序B.存储控制结构C.信息熵D.控制论42.__?__语言内置面向对象的机制,支持数据抽象,已成为当前面向对象的程序设计的主流语言之一。A.FORTRANB.ALGOLC.CD.C++43.下列关于计算机软件的说法中,正确的是__?__。A.用软件语言编写的程序都可直接在计算机上执行B.“软件危机”的出现是因为计算机硬件发展严重滞后C.利用“软件工程”的理念与方法,可以编制高效高质的软件D.操作系统是上个世纪80年代产生的44.下列关于操作系统任务管理的说法,错误的是__?__。A.Windows操作系统支持多任务处理B.分时是指将CPU时间划分成时间片,轮流为多个程序服务C.并行处理操作系统可以让多个处理器同时工作,提高计算机系统的效率D.分时处理要求计算机必须配有多个CPU45.未获得版权所有者许可就使用的软件被称为__?__软件。-6-A.共享B.盗版C.自由D.授权-7-46.下面关于虚拟存储器的说明中,正确的是__?__。A.虚拟存储器是提高计算机运算速度的设备B.虚拟存储器由RAM加上高速缓存组成C.虚拟存储器的容量等于主存加上cache的容量D.虚拟存储器由物理内存和硬盘上的虚拟内存组成47.若对一个数组S[n]进行特定要求的处理,下面列出了四种算法的时间复杂性函数,其中__?__耗时最多?A.O(log2n)B.O(n)C.O(nlog2n)D.(n2)48.高级程序设计语言的编译程序和解释程序属于下列哪一类程序?__?__。A.语言编辑B.程序连接C.文本编辑D.语言处理49.下列软件语言中不能用于数值计算的是__?__。A.FORTRANB.CC.HTMLD.MATLAB50.算法和程序的区别在于:程序不一定能满足下面哪一种特征__?__。A.每一个运算有确切定义B.具有0个或多个输入量C.至少产生一个输出量(包括状态的改变)D.在执行了有穷步的运算后终止(有穷性)51.软件工程方法研究的内容有软件开发技术和软件工程管理等,期望达到的目标是__?__。A.软件功能智能化B.软件开发工程化C.程序设计自动化D.实现软件可重用52.当一个PowerPoint程序运行时,它与Windows操作系统之间的关系是__?__。A.前者(PowerPoint)调用后者(Windows)的功能B.后者调用前者的功能C.两者互相调用D.不能互相调用,各自独立运行53.为了支持多任务处理,操作系统的处理器调度程序使用__?__技术把CPU分配给各个任务,使多个任务可以“同时”执行。A.分时B.并发C.批处理D.授权54.理论上已经,求解问题的计算机程序三种控制结构是__?__。A.转子(程序),返回,处理B.输入,输出,处理C.顺序,选择,重复D.I/O,转移,循环55.下列各项中,__?__不是引起“软件危机”的主要原因。A.对软件需求分析的重要性认识不够B.软件开发过程难于进行质量管理和进度控制C.随着问题的复杂度增加,人们开发软件的效率下降D.随着社会和生产的发展,软件无法存储和处理海量数据-8-56.如果多用户分时系统的时间片固定,那么在下列__?__情况下,CPU响应时间越长。A.用户数越少B.用户数越多C.内存容量越小D.内存容量越大57.数据结构包括三方面的内容,它们是__?__。A.数据的存储结构,数据的一致性和完备性约束B.数据的逻辑结构,数据间的联系和它们的表示C.数据的逻辑结构,数据间的联系和它们的存储结构D.数据的逻辑结构,数据的存储结构和数据的运算58.机器指令是一种命令语言,它用来CPU执行什么操作以及操作对象所在的位置。机器指令是由__?__组成的。A.运算符和寄存器号B.ASCII码和汉字码C.程序和数据D.操作码和操作数59.若对一个数组A[m]进行特定要求的处理,下图列出了四种算法的空间复杂度函数(其中c为常数),其中__?__空间开销最小。A.O(c)B.O(mlog2m)C.O(m2)D.O(2m)60.下面所列功能中,哪个功能不是操作系统所具有的__?__。A.CPU管理B.翻译转换C.文件管理D.存储管理二、填空题(30分,每小题2分)1.按照应用软件的开发方式和适用范围,应用软件分成定制应用软件和___?___应用软件两类。2.用高级语言编写的源程序要变为目标程序,必须经过___?___处理。3.高级语言种类繁多,但其基本成分可归纳为数据成分、控制成分等四种,其中算术表达式属于___?___成分。4.操作系统中的“虚拟存储器”的容量___?___实际内存。(填大于、等于、小于)5.直接运行在裸机上的最基本的系统软件是___?___。6.数据的___?___结构是数据的逻辑结构在计算机存储器上的实现。7.计算机软件指的是在计算机中运行的各种程序和相关的数据及___?___。8.C++语言运行性能高,且与C语言兼容,已成为当前主流的面向___?___的程序设计语言之一。9.Java语言是一种面向对象的、适用于___?___环境的程序设计语言。10.指令是一种用二进制数表示的命令语言,多数指令由两部分组成:___?___与操作数。11.CPU唯一“认识”的“语言”是___?___,任何程序的运行最终都是由CPU一条一条地执行它来完成的。-9-12.若有问题规模为(m,n)的算法,其主运算的时间代价为f(m,n)=4mn+n+m,则该算法的时间复杂性可表示为O(___?___)。13.计算机中承担系统软件和应用软件运行任务的部件称为___?___。14.若有问题规模为(n)的算法,其主运算的空间代价为g(n)=2n2+4n+5,则该算法的空间复杂性表示为O(___?___)。15.为了重新启动计算机,除了加电启动外,还可以用___?___启动。三、判断题(10分,每小题1分)1.有穷性是计算机软件程序的性质之一。(?)2.程序语言中的条件选择结构可以描述重复计算过程。(?)3.一般情况下,计算机加电后自动执行BIOS中的程序,将所需的操作系统软件装载到内存中,这个过程称为"自举"或"引导"。(?)4.对n个元素进行排序时,某算法需要执行2n次运算,则这个算法的时间代价为O(n)。(?)5.程序设计语言按其级别可以分为硬件描述语言、汇编语言和高级语言三大类。(?)6.计算机软件技术是指研制开发计算机软件的所有技术的总称。(?)7.安装好操作系统后,任何硬件设备都不需安装驱动程序,只要连接到计算机上就可以正常使用。(?)8.算法一定要用“伪代码”(一种介于自然语言和程序设计语言之间的文字和符号表达工具)来描述。(?)9.操作系统中的图形用户界面(GUI)使用窗口显示正在运行的应用程序的状态。(?)10.软件虽然不是物理产品而是一种逻辑产品,但通常必须使用物理载体进行存储和传输。(?)四.填空√1、算法的描述方法很多,常用的有:自然语言、类语言、流程图、N-S结构图等。2、常用流程图符号:起止框处理框输入输出框判断框流程指示线3、程序设计的关键在于设计出一个好的算法。4、程序中/*……*/表示注释,其位置可以放在程序的任何地方。5、算法和程序的主要区别是什么?答:1、算法是有穷的,而程序是无穷的。2、算法是不可执行的,程序是可以执行的。3、算法和程序的描述方法不一样。程序是用计算机语言目来描述的。-10-6、计算机的解题基本过程。答:提出问题---构造模型---选择方法---编写程序----上机调试、运行-----分析结果7、用C语言编写的程序,计算机是直接执行的这样的程序称为源程序。8、源程序必须翻译成机器语言,这一工作由“编译系统”来完成。9、扩展名代表的文件。。C------源文件。OBJ------目标文件。EXE------执行文件10、C语言的数据结构是以数据类型的形式描述出来的。√11、三种基本的数据类型:整型、实型、字符型12、C语言中的常量有整型、实型、字符型、字符串13、整型常量一般占2字节。实型常量一般占4字节。所有的转义字符在内存中均占1字节。字符串的长度为为串中字符的个数,但在内存中所占的字节应比长度多114、实型常量的两种写形式浮点实数和定点实数。15、字符型常量有用单括号括起来的单个字符和C语言还允许以一个“\”开头的控制字符。16、转义字符有哪些,及其含义。答:\n换一行\o字符串结束\f换一页\\反斜杠字符\’单撇号字符\”双撇号字符\ddd1到3位八进制所代表的字符\xhh1到2位十六进制所代表的字符17、字符串常量是用双撇号括起来的若干字符序列。18、为了识别各个变量,每个变量都有一个名字,这个名字为标识符。19、变量名只能由字母,下划线、数字构成,只能下划线和字母开头。20、标识符的注意事项答:1、C语言中大写字母和小写字母是两个不同字符。2、标识符命名不得为C语言中称为保留字的专用名词。21、变量必须遵守先定义、后使用原则。22、变量的表示方法答:整型变量:基本整型:int长整型Long短整型short实型变量:单精度实型:float双精度实型double字符型变量:char23、表达式书写的注意事项。答:1、所有字符必须写在同一边。2、乘号“*”不能省3、所有括号为圆括号,且配对4、函数的自变量用圆括号括起来,三角函数的自变量用弧度。24、C语言提供了两种类型转换的方法:答1隐式转换2显式转换25、两整数相除其商为整数,%两边的运算对象为整数,其于数也为整数。26、=为C语言的赋值运算符。27、在定义时不能连续给变量a,b,c赋初值。28、自加、自减运算符只能用于变量,不能用于常量和表达式。-11-29、单独出现的i++或++i的作用相当于i=i+1,但和其他量进行运算时就不同。30、逗号表达式的执行过程是:从左到右计算每个表达式,逗号表达式的值为最后一个表达式值,即表达式n的值。31、程序的三种基本结构:答1、顺序结构2、循环结构3、选择结构32、;作为语句的结束标志。33、字符输入输出函数。getcharputchar34、格式输入输出函数scanfbrintf35、格式控制字符。%d整型格式%c字符型格式%f实型格式36、scanf函数使用注意事项答:1、sanf函数输入实型数据时不能规定精度2、sanf函数中,格式控制字符串后面对应的是“变量地址”,而不是变量名。3、“%c”格式输入时只能接收一个字符。37、C语言提供的关系运算符有哪些。>>=<<===!=38、关系表达式的值即真为1,假为0。39、两个实数不能用==来判断。40、C语言提供的逻辑符有!&&||。41、逻辑表达式中,优先顺序为!----*、/、%----+、----->、>=、<、<=----==、!=-----&&------||42、if语句有几种形式?答单分支语句、双分支语句、嵌套的if语句43、if与else配对,else总是与最近的if配对。44、?:是C语言中唯一一个三目运算符。45、if语句只有两个分支可供选择,swich是一种实现多分支结构。46、循环结构有三种形式答:条件循环、直到型循环、次数循环47、for语句的书写形式for(表达式1;表达式2表达式3)循环语句S48、表达式非0才循环,是三种循环的共同之处。49、break与cantinue的区别在于:continue只结束本次循环重新进行下次循环判断,而break结束整个循环。√50、if与循环结构,不得交叉可以并列,也可以内嵌。51、数组的命名规则答:1、数组名的命名规则同变量名.2、数组元素下标从0开始,最大值为长度减1。3、常量表达式可以为常量和符号常量,不得包含变量。4、数组名后面不能是圆括号。52、数组元素在引用时,下标不得超界。53、二维数组在内存中的排列顺序是按行存入的。54、在定义数组时,若给出了全部元素值,则第一维的长度可以不写。55、字符数组中的一个元素存放一个空间。26、常见的字符串函数。字符输入函数gets字符输出函数puts长度strlen字符串连接函数strcat-12-27、字符大小的比较数字字符<大写字母<小字字母28、用预编译命令“#include”将用的函数有关信息包括到用户程序中,位置应放在程序开头,且命令结尾不得有“;”。29、C语言规定,不能在一个函数内部再定义其他函数,即C语言不允许函数的嵌套定义。函数的首部结尾结有“;”。30、一个完整的C程序可由1个主函数main组成,或由1个主函数和若干个子函数构成。31、程序的执行总是从主函数开始到主函数结束。√32、C语言中数据传递方式有四种;单向值传递方式、地址传递方式、返加值传递方式、全局变量传递方式。33、一个变量的作用域是指该变量在程序中的有效范围。34、C语言中访问地址的方式有直接存取方式和间接存取方式。35、int*p说明p是一个指向整型的指针变量,在p的存储空间中可以存放一个整型变量的地址。36、C语言有两个专门的指针运算符&和*,它们都是单目运算符。37、C语言规定,数组名是数组的首地址,也即元素X[O]38、用指针表示一个字符串分两步:答:1、先定义一个指向字符型的指针。2、让该指针指向某一字符串,也就是说将一个串的首地址赋给一个指针变量。39、“。”是C语言中的成员运算符,它的优先级最高。41、结构变量所占用的存储空间是所有成员所占空间之和。42、数据——我们把计算机加工的对象叫数据。43、数据组织的三个层次——数据、数据节点、数据项。44、数据结构研究的主要内容归纳起来有三点答:1、数据的罗辑结构。2数据的物理结构3数据的逻辑结构和特理结构之间的相互运算。√45、数据的逻辑结构分两类:线性结构和非线性结构。46、数据的物理结构是数据在计算机内的存储表示也称存储结构。√47、数据的物理结构可分两类,顺序存储结构和非顺序存储结构。√48、数据的逻辑结构和物理结构之间的相互运算是通过算法来实现的。49、一个算法的时间复杂度是求解问题的算法所耗时间的程度。50、常见的时间复杂度以及它们之间的关系由小到大依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n2)、立方阶O(n3)、指数阶O(2n)等。51、同时间复杂度一样,算法的空间复杂度粗略的来讲是算法消耗空间的程度。52、空间复杂度为O(1),即所耗辅助空间与问题的规模无关。53、同一线性表中的数据节点具有相同的属性。54、线性表的存储结构有两种:顺序存储结构、链式存储结构-13-55、可以看出线性表的这种顺序存储结构使得线性表中逻辑上相邻的数据节点在物理上也相邻。56、线性表中数据节点在一连续空间中存放,所以很容易计算出各节点存储地址,其地址为:Loc(ai)=Loc(a0)+i*d(0≤i≤n-1)√57、顺序表上顺序查找成功的平均查找次数为(表长+1)/258、在线性表中插入一个数据节点的平均需移动线性表中一半节点。59、插入运算的时间复杂度与n有关。T(n)=0(n)60、线性表中删除一个节点,约平均需移动线性表中一半节点。61、单链表中每个节点有两个成员:数据域和指针域。62、单链表只能沿链从前向后访问表中节点,无法找到某节点前面的其他节点.而循环单链表可以通过任一点来访问表中的其他节点。63、若经常进行的运算为查找运算,以顺序存储为宜。64、若经常进行的运算为插入、删除运算,以链式存储为宜。65、顺序存储结构在程序执行之前必须给出空间长度,对数据量事先固定的问题用顺序存储为好。66、顺序存储空间利用率高,而链式相应少一些。67、栈是一种先进后出的线性表。68、栈也有顺序存储结构和链式存储结构,分别称为顺序栈和链栈。69、进栈和退栈的运算:答:进栈有以下步骤1)、先判断栈是否已满,若满,则进行上溢处理,否则进行2)。2)、栈顶指针上移1个节点。3)将X加入到top所指位置。退栈有以下步骤:1)、检查栈是否为空,若栈空,则进行下溢处理,否则进行2)。2)保留被删元素到变量X中。3)栈顶指针下移1个节点。70、队列是一种先进先出的线性表。71、入队和出队的远算答:入队运算:1)、先判断队列满吗?若满则退出;否则进行第二步;2)、队尾指针下移一个节点位置。3)、在队尾指针的位置加入X。出队运算:1)、判断队列为空?若空则退出;否则进行第二步。2)、保留队头元素内容到X变量中。3)、队头指针下移1个节点位置。72、计算机系统用牺牲一个空间的办法来解决当front=rear时,既是循环队列为空,又是循环队列为满这一矛盾的。73、循环队列空的条件是:front=rear满的条件是:front=(rear+1)%m74、求元素Ai,j的地址一般形式为:数组首地址+Ai,j元素前已存入元素的个数*各元素的字节数。75、所谓的压缩存储是指对零元素不分配空间,相同元素只分配一个空间。76、三对角阵公式:已知i和j,求K,k=2i+j-14-77、树的有关名词:节点的度:节点的孩子称为节点的度。树的度:树中节点最大的度为该树的度。叶子节点:度为0的点称为叶子节点。双亲节点:一个节点的双亲节点是这个节点的父亲节点。树的高度:树的层数为树的高度。78、二叉树的三种基本遍历方法:先序遍历、后序遍历和中序遍历。79、哈夫曼树的性质:答:1)、给定权值的哈夫曼树不唯一;2)权值越大的节点离根节点就越近。3)、哈夫曼树中无度为1的节点。4)、哈夫曼树节点总个数n=2x叶子节点个数-1=2x权值个数-1=2n0-1。80、一个二叉排序中序遍历的结果是一个递增序列。81、根据排序文件所处位置的不同,可将排序分为内部排序和外部排序两大类。82、内部排序的时间主要用在关键字的比较和交换上,外部排序的时间主要用在外存的访问次数。83、直接插入排序最好情况的时间复杂度为O(n)。84、螺旋模型是一种风险驱动模型。它将瀑布模型与原型模型结合起来,加入了风险分析,从而弥补了前两种模型的不足.√85、软件生存周期由软件定义、软件开发和软件维护三个时期组成。86、结构化分析方法是面向数据流进行需求分析的方法,使用数据流图DFD和数据字典DD构成系统的逻辑模型,适用于数据处理类型的软件定义。87、良好的程序设计风格需遵循以下准则:答:节俭化、模块化、简单化、结构化、文档化、格式化。88、软件测试的基本原则答:1)、尽早地、不断地进行软件测试;2)、设计测试用例时,要给出测试的预期结果。3)、开发小组和测试小组分开。4)、要设计非法输入的测试用期。5)、在对程序修改后要进行回归测试。6)、程序中尚未发现的错误的数量往往与在该段程序中已发现的错误的数量成正比。√89、软件测试的步骤答:1)单无测试2)集成测试3)确定测试4)系统测试。90、需要进行软件维护的原因答:1)、改正程序中的错误和缺陷。2)、改进设计以适应新的软、硬件环境。3)、增加新的应用范围。91、软件维护工作的分类答:1)、改正性维护;2)、适应性维护;3)、完善性维护;4)、预防性维护。1、冒泡法:#defineN4Voidbustor(intx[],intn){inti,j,m,k;for(i=1,i<=n-1;i++){k=1;for(j=1;j<=n-i;j++)if(x[j]>x[j+1])-15-{m=x[j];x[j]=x[j+1];x[j+1]=m;k=0;}If(k==1)break;}}2、直接选择排序#defineN6voidsestor(intx[],intn){inti,j,k,m;for(i=1;I<=n-1;i++){k=i;for(j=i+1;j<=n;j++)if(x[j]<x[k])k=j;if(k!=1){m=x[i];x[i]=x[k];x[k]=m;}}}main(){inta[N+1],i;for(i=1;i<=N;i++)scanf(“%d”,&a[i]);sestor(a,N);for(i=1;i<=N;i++)printf(“%d”,a[i]);printf(“\n”);}1、判断哪个错误(B)A、while(2);2;B、do2;while(0)C、for(;0;)1;D、1;2、哪个保留字不正确?B)A、ifB、CharC、floatD、default3、以下哪个结果为1。(D)A、3%5B、3/5.0C、3/5D、3<54、以下哪个表达式不正确?AA、3E1.0B、1.0E3C、.2ED、3E-25、以下哪个是字符常量?(B)A、“A”B、‘x\10’C、‘oa’D、.a6、设a,b,c,d分别为char,int,float,double问a+b*c/d最后的结果为什么类型?答:double型7、intn+i;以下哪个错误(C)A、n=(i-1)B、n=n++C、i=(n+1)++D、n=i<08、intx=8;while(--x>6)printf(“*”)的结果是多少?(*)9、for(k=2;++k<4;k++)++k;k为多少?答:k=6-16-10、for(i=0,j=10;(j>0)&&(i<4);i++,j--);循环几次?答:四次11、inti=0,j=10;printf(“%d”,“%d/n”;--i;j--),输出结果i,j为多少?答:i=9,j=1012、程序:intx=2;doprintf(“%d”,x--);while[!(--x)]输出结果是多少?答:2,013、以下程序输出结果是多少?#include<stdio.h>main(){inti=1,j=3;printf(″%d,″,i++);{inti=0;i+=j*2;printf(″%d,%d″,i,j);}printf(″%d,%d″,i,j);}答:1,6,3,2,314、以下程序段输出是多少?main(){intx=2,y=-1,z=2if(x<y)z=2if(y<o)z=0;elsez+=1;printf(“%d\n”,z)}答:输出为215、以下程序段输出是多少?main(){intx=11;while(x>10&&x<50){x++;if(x/3){x++,break;}elsecontinue;}printf(“%d\n”,x);}答:输出为1316.main(){intk,m=0;for(k=ok<2;k++){m++;if(m%2)continue;m++;}-17-printf("m=%d\n",m);}输出结果m=3√17.完形填空输出1000以内能被3整除,且个位为6的所有整数,main(){inti,m;forli=o;i<=99;i++){m=i*10+6;if(m%3!=0)continueprintf("%d;"m);}}18.键盘输入的若干个学生成绩,统计并输入最高和最低成绩,当输入负数时跳出.main(){floatx,max,min;scanf(%f",&x);max=min=xwhile(x>=0)if(x<min)min=x;if(x>max)max=x;scanf(“%f",&x);}printf(“\nmax=%f,min=%f"max,min);}19.char;a[]="123"b[]={'1''2''3'}以下哪个正确?(D)Aa[3]是不可知的任意字符B数组ab的长度相等CB[3]为”、0“D数组a长度大于b20.chars[]="123\0"的长度为521.main(){inti,x=10,a[10]b[3]for(i=0,i<10;i++)a[i]=i;for(i=2;i>=0;i--),b[i]=a[i*(i+1)]for(i=0;i<3;i++)x+=b[i]*2,printf("%d\n"x);}求输出:2622.main(){inta[2][2],i,j;for(i=0;i<2;i++)for(j=0;j<2;i++){a[i][j]=i+jprintf("%d"a[i][j]}}结果为011223.main(){chars1[]="abcdabdABCD",s2[20]intk=0,j=0;-18-while(s,[k]!='A')S2[j+1]=s1[k++];S2[j]=0pintf("%s\n",s2);24.指针main()intm,n=2,*p=&m,完成m=n功能的语句是(B)Am=*pB*p=*&n;Cm=&n;格式Dm=&p;25.intx[8]={5,4,3,2,1},*p=x;则*p+6=11.26.int*[8]{1.2.3.456}*p=x则值为5的表达式A*P+5=6B*(p+4)C*p+5=5Dp+427.以下程序为递归函数intf(intn){ifn==1)return(1);elsereturn(f(n-1)+1);}main(){inti,j=0;for(i=1;i<5;i++),j+=f(i);printf("%d\n"j);}结果为1028计算xn的程序。doublef(doublex,intn){inti;doublez=1.0;if(Y==0)return(1.0);elsefor(i=1i<=n;i++)z=z*x;return(z);}29.voidf(int*a,intb[]){b[*a]=*a+b;main(){intx=1,y[5]={1.2.3.4.5.},*p=y;f(&x,p);printf("%d/n",(p+x));}结果为b[1]=y[1]=730.intb=1intf(int*a){b+=a;return(b);}main(){inta=2,b=3;-19-a+=f(&b);printf("%d\n",a);}输出结果为631.下列程序运行后的输出结果是DCBAEFvoidfun(char*p1,intn){chart,*p2;p2=p1+n-1;while(p1<p2){t=*p1;*p1++=*p2;*p2--=t;}}main(){char*p=″ABCDEF″;fun(p,4);printf(″%s\n″,p);}√32.下列程序的运行结果是:ABCDEFFEDCBA#definesqstack_maxsize20typedefstructsqstack{chardata[sqstack_maxsize];inttop;}SqStackTp;main(){SqStackTpsq;inti;charch;InitStack(&sq)for(ch=′A′;ch<=′A′+5;ch++){Push(%sq,ch);printf(″%c″,ch);}while(!EmptyStack(sq)){Pop(&sq,&ch);printf(″%c″,ch);}printf(″\n″);}31.在n行10列的二维整数组a中按先行后列的顺序出栈第一次出现的整数x用形参返回共行列下标,若二维数位没有x,则行列下标均为-1voidfun(int[][10],intx,intn,inty,int*c){int,k;flag=0;*y=*c=-1;for(k=0;k<n;k++){for(j=0;j<10;j++)if(a[k][j]==x){*y=k;*c=j;flag=1;break;}}-20-if(flag)break;return;}32.输入一个长整型形正整数,将其转换成对应的八进制整数的字符串,然后输出main(){chars[10],*p;while(x!=0L)longx;{y=x%8;inty;*p=y+'0';p=s+8;p--;*(p+1)='\0';x=x/8;scanf("%ld"&x);}p++;printf("%s\n",p);}33.输入10整型正整数,存入一维数组中,求其中所有素数之和输出,除1和本身外不能被整除的main(){intx[10],s=0;float,k,j;for(k=0;k<10;k++)scanf("%d",&x[k]);for(k=0;k<10;k++){if(x[k]==1)continue;flag=1;for(j=2;j<x[k]/2;j++)if(x[k]%j==0){flag=0;break;)if(flag==1)s+=x[k];}printf(%d\n"s);}√34、设计结构型数组,包含学生的编号、姓名、4科成绩。编程序,输入100名学生信息存入所设计结构型数组,然后输出有成绩不及格(<60分)的学生的编号、姓名和不及格的课程数。struct{longnum;charname[10];floatscore[4];}s[100],*p;main(){intk,n;floatx;for(p=s;p<s+100;p++)-21-{scanf(″%ld,%s″,&p->num,p->name);for(k=0;k<4;k++){scanf(″%f″,&x);p->score[k]=x;}}for(p=s;p<s+100;p++){n=0;for(k=0;k<4;k++)if(p->score[k]<60.0)n++;if(n>0)printf(″%ld,%s,%d\n″,p->num,p->name,n);}}35.给定n个元素建立一个有序的单链表的时间复杂度,O(n)36.在循环链表中将头指针改设为尾指针(read)后,其头传点和尾结点的存储位置分别是read->next->next和vear37在一个具有n个始点的有序顺序表中插入一个新结点,并仍然有序的时间复杂度O(n2)38.带头结点的单链表Head为完的判点条件是Head->next==NULL39.下列程序中功能是(对顺序表进行插入运算)Voidinsert–Sqlist(SqlistL,datatypex,inti);{if(L.last==maxsize)error(‘表满‘);if((i<1)||(i>L.last+1))error(‘非法位置‘);For(j=L.last;j≥i;j--)L.data[j]=L.data[j-1];L.data[j]=l;data[j-1]=x;L.last=L.last+1;}40.以下为计算单链表的表长intlength–lklist(lklisthead){p=head;j=0;While(p->next!=NULL){p=p->next;j++;}return(j);}41.以知单链表L中的结点,是接值非递减有序排列的,试写一算法,将值为x的结点插入L中,使得L级仍然有序,VoidCR–lklist(lklist<,datatypex){q=l;p=q->next;While((p!=NULL)&&(p->data<x)){q=p!p=p->next;}S=mallo(size);s->data=x;S->next=q->next;q->next=s;}-22-42.入队列的操作VoidEnQueve(QueptrTP*lp,datatype,x){LqueueTP*P;P=(LqueueTP*P)malloc(sizeof(lqueueTP))P->data=xp->next=NULL;(lp->rear)->next=p;lp->rear=p;}43.在以下栈的运算中,不是加工运算的是,(B)Alnitstack(s)Bpush(s,x)Cpop(s)DEnpth(s)44.循环队列的队满条件为(sq.rear+1)%maxsize==sq.front45.循环队列的对空条件为Sq.rear=sq.front.46.一个栈的入栈序列是a,b,c,d则栈的不可能输出序列是dcab47.改C语言数组Date[m+1]作为循环对SQ的存储空间,frone为对头指针,rear为对尾指针,则执行出队操作的语句为front=(front+1)%(m+1)48.一个队列的输入列序1.2.34则队列的输出序列是1.2.3.449.以下运算实现在链队上的入队列,VoidEnQueve(QueptrTP*lp,datatype,x){LqueueTP*P;P=(LqueueTP*P)malloc(sizeof(lqueueTP));P->data=x;p->next=NULL;(lq->rear)->next=p;Lq->rear=p;}50.下列程序的功能是什么?借助栈将一个带头结点的单链表倒置voidlist(LinkedListTP*head){LStackTPls,p;DataTypex;InitStack(&ls);p=head->next;while(p!=NULL){Push(&ls,p->data);p=p->next;}p=head->next;While(!EmptyStack(&ls)){Pop(&ls,&x);p->data=x;p=p->next;}}√51.借助栈来实现单链表上的逆置运算,Voidinvert(lklisthead)-23-{LStackTPs;InitStack(s);p=headwhile(p<>NULL){push(s,p->data);p=p->next;}p=head;while(notEmptyStack(s)){Pop(s,p->data);p=p->next;}}52.深度为6的二叉树最多有(63)结点2k-153.以知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,交的前序遍历序列是(cedba)54树是适合用来表示元素之间具有分支层次关系的数据,55.堆(head)是线性表56试编写算法交换二叉树中所有结点上的左、右子树,voidexch_tree(hitreptr,BT){(if(BT!=NULL)){exch_tree(BT->lchild)exch_tree(BT->rchild)P=BT->lchild;BT->lchild=BT->rchild;BT->rchild=p;}}57以二叉链表作为存储结构,试编写求二叉树中叶子树的算法intleafcount(bitreptrT){if(T==NULL)leaf=0;elseif((T->lchild==NULL)&&(T->rchild==NULL))leaf=1;else{L=leafcount(T->lchild);R=leafcount(T->rchild;)leaf=L+R;}return(leaf);}58.以下程序是实现图的深度优先搜索算法Dfs(GraphTPg,intv){ArcNodeTP*p;printf("%d"v)visited[v]=1p=g.adjlist[v].firstarc;-24-while(p!=NULL){if(!lvisited[p->adjvex])Dfs(g,p->adjvex);p=p->nextarc;}}59.二分查找法适用于存储结构为顺序存储的且接关键自排好序的线性表60.用顺序查找法对具有n个结点的线性表,查找的时间复杂量级为O(n)61.用二分查找法对具有n个结点的线性表,查找的时间复杂量级为O(log2h)62.以下程序是在有序表中用二分查找法,查找关键值等于K的元素intbinsearch(sqtableR,kegtypek){low=1,lrig=Rn;while(low<=vrig){mid=,lowhig)/2;switch{casek==rwtem[y]key;return(mid);casek<rwtem[y]key;hig=mid-1;break;casek>rwte
/
本文档为【河海大学《软件工程导论》考研复习题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索