您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件基础基本概念问答2012
软件基础基本概念问答1.一个完整的计算机系统由那几个基本组成部分。由计算机硬件子系统和计算机软件子系统组成2.什么是计算机软件。计算机软件:包含与数据处理系统操作有关的程序、规程、规则以及相关文档。3.从应用的角度出发,将软件分为那几类。从应用的角度出发,将软件分为:系统软件;支撑软件;应用软件。系统软件:给其他程序提供服务的程序集合(如各种操作系统、编译程序)。系统软件的主要特征:与具体的应用领域无关而与计算机硬件系统有很强的交互性,要对硬件共享资源进行调度管理。系统软件中的数据结构复杂,外部接口多样化,用户能够对它反复使用。支撑软件:用于支持软件开发与维护的软件。人们常把1970年代中、后期发展起来的软件开发环境作为支撑软件的代表,它主要包括数据库管理系统、各种接口软件、网络软件和工具组件,这些软件形成一个整体,协同支持各类软件的开发与维护。应用软件:针对多种应用需求出现的用于解决各种不同具体应用问题的专门软件。4.计算机软件的发展大致经历了那几个主要阶段。软件的发展大致经历了三个主要阶段:(1)第一阶段(1940年代到1950年代中期):从第一台计算机上的第一个程序开始到实用的高级语言程序出现以前,是计算机软件发展初期。(2)第二阶段(1950年代中期到1960年代后期):出现了高级程序语言、操作系统、数据库管理系统、“软件”术语等。(3)第三阶段(1960年代迄今):软件工程:软件领域工作新的特点:随着应用领域的不断拓广,出现了嵌入式应用软件、网络软件及分布式应用软件。5.什么是软件工程。软件工程:软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,这就是软件工程。6.软件生命周期由那几个时期组成,每个时期又划分为那几个阶段。软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又划分若干个阶段。1.软件定义:问题定义,可行性研究,需求分析。2.软件开发:总体设计,详细设计,编码和单元测试,综合测试。3.软件维护:维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。通常有四类维护活动:7.什么是操作系统,操作系统的作用是什么。操作系统(OperatingSystem,简称OS):用于控制、管理、调配计算机的所有资源。是给计算机配置的一种必不可少的系统软件。操作系统的作用:(1)管理系统中的各种(软、硬件)资源。(2)为用户提供各种服务界面。用户界面:也称用户接口或人机界面,是计算机系统实现用户与计算机通信的软、硬件部分的总称。图形用户界面(GUI):采用窗口、图符、菜单及指点设备技术和多窗口系统等软件,并以直接操纵为主要使用方法,使得用户能够灵活、方便、有效地使用计算机。(3)为应用程序的开发和运行提供一个高效的平台。8.操作系统提供那五种主要功能。操作系统通过内部命令和外部命令提供五种主要功能:任务管理存储管理文件管理设备管理作业管理9.什么是多进程技术。计算机中同时有多个进程,如果一个进程因等待某一条件而不能运行下去时,就将处理机占用权转给另一个可运行进程。或者,当出现了一个比当前运行进程更重要的可运行进程时,后者应能抢占CPU资源。操作系统按照一定的调度策略,通过进程管理来协调多道程序之间的关系,解决CPU资源的分配和回收等问题,以使CPU资源得到最充分利用。10.常用的操作系统有那几种。Windows操作系统,UNIX操作系统,Linux操作系统等。11.Linux操作系统有那些特点。具有与UNIX相似的可移植操作系统服务功能。Linux操作系统的优势反映在网络服务器方面,其内核中包含许多网络协议,已成为网络上最普遍的服务器架构模式。Linux操作系统作为一个多用户、多任务的操作系统,支持多工作平台和多处理器。它不仅可提供多达4TB的文件系统,同时还可支持多种其他的文件系统。Linux系统是一种“自由软件”。或者说,它属于一种GPL(GeneralPublicLicense)软件。其源代码向世人公开,吸引对该系统感兴趣的人们共同工作。12.计算机语言是如何分类的,各类语言的特点是什么。程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。机器语言:使用计算机指令系统的程序语言。用机器语言编写的程序,全部都是二进制代码形式,可以被计算机直接执行。机器语言直接依赖机器的指令系统,不同类型甚至不同型号的计算机,其机器语言是不同的。机器语言不易记忆和理解,所编写的程序也难于修改和维护。汇编语言:用助记符来代替机器指令的操作码和操作数,如用ADD表示加法,用SUB表示减法等。这样就能使它的每条指令都有明显的符号标识。用汇编语言编写程序与编写机器语言程序相比,比较直观和易记忆,但汇编语言仍然是面向机器指令系统的,还保留了机器语言的各项缺点。高级语言:又称算法语言,其表示方法接近解决问题的表示方法,而且具有通用性,在一定程度上与机器无关。高级语言的特点:易学、易用,易维护。人们可以更有效、更方便地用它来编制各种用途的计算机程序。13.语言处理系统包括那些程序,各自的作用是什么。语言处理系统包括:翻译程序;对源程序进行翻译正文编辑程序:用于建立和修改源程序文件;联接编辑程序:将多个分别编译或汇编过的目标程序和库文件进行组合装入程序:将目标程序装入内存并启动执行14.什么是编译程序,编译程序有何优点。编译程序:编译程序对源程序进行翻译的方法相当于“笔译”。在编译程序的执行过程中,要对源程序扫描一遍或几遍,最终形成一个可在具体计算机上执行的目标程序。优点:通过编译程序的处理可以一次性地产生高效运行的目标程序,并把它保存在磁盘上,以备多次执行。15.主要的程序语言有那几种。FORTRAN语言:ALGOL语言:PASCAL语言:Java语言:C语言:C++语言:等16.C语言有什么特点。C语言:1972年至1973间由AT&T公司Bell实验室的D.M.Ritchie在BCPL语言基础上设计而成的,著名的UNIX操作系统就是用C语言编写的。特点:语言与运行支撑环境分离、可移植性好、语言规模小因而相对简单、具有指针类型等,C语言本身简洁、高度灵活、程序运行效率高。此外,在C语言中,有不少操作直接对应实际机器所执行的动作,并在许多场合可以代替汇编语言。17.C++语言和C语言有何关系。C++语言:以C语言为基础发展起来的通用程序设计语言。C++语言是对C语言的扩充,扩充的内容绝大部分来自其他著名语言(如Simula、ALGOL68、Ada等)的最佳特性。由于C++语言既有数据抽象和面向对象能力,运行性能高,又能与C语言相兼容,使得数量巨大的C语言程序能方便地在C++语言环境中重用。因而近年来C++语言迅速流行,成为当前面向对象程序设计的主流语言。18.FORTRAN语言有什么特点。接近数学公式、简单易用。在处理功能上,允许复数与双精度实数运算,由于具有程序定义机制、I/O的格式说明,允许布尔表达式,函数和子例程名作参数传递,扩充的字符处理等功能,使之也能应用于非数值运算领域。FORTRAN语言还具有块IF结构,DO循环结构等,使写出的程序趋于结构化,是进行大型科学和工程计算的有力工具。19.数据结构研究的问题是什么,研究的内容可分为那几方面的问题。获得用计算机处理数据的有效方法是数据结构研究的问题。其研究的对象是包括非数值信息在内的数据,研究的内容是对数据的计算机处理,具体可分为如下四个方面的问题:数据本身的结构和数据间存在的逻辑关系,即数据的逻辑结构。对在各种具有不同逻辑结构的数据上可能进行的处理操作,提供相应的处理方式和方法,即算法设计与分析。根据数据的逻辑结构和可能进行的处理操作,设计有利于处理操作的、在计算机中存储这些数据的存储方式,即数据的物理结构。最后,把与数据的逻辑结构和物理结构相关的处理算法转化为高级程序设计语言的相应代码。20.叙述基本概念:数据、数据项、数据元素、关键字、数据对象、数据结构。数据:是信息的载体,可以用文字、字符、声音、图象等形式加以表示,通过编码可以被计算机所识别、存储和处理。数据项:是构成数据的基本单位,具有相对独立的含义而且是不可再分。数据元素:是在数据处理的过程中作为整体看待和处理的一部分数据,通常由一个或多个数据项构成,与一个客观事物相对应。根据不同情况,有时也称数据元素为记录或结点。关键字:是构成数据元素的满足下列条件的数据项:若该数据项的内容(或称为值)能唯一标识一个数据元素,则称其为关键字或主关键字;若该数据项的内容(或称为值)不能唯一标识一个数据元素,则称其为次关键字。数据对象:是数据元素的集合,其中的每一个数据元素都有相同的结构(如多个人对应的数据元素构成的集合就是一个数据对象)。数据结构:是指数据对象中数据元素间存在的一种或多种关系,可分为逻辑结构和物理结构(也称存储结构)分别讨论。21.常用的逻辑结构有哪几种,在计算机中存储数据的常用方法有哪几种。常用的逻辑结构有:(1)集合结构,数据元素间只有同属一个集合这样一种关系。(2)线性结构,元素间存在严格的次序关系。(3)树形结构,元素间存在特定的层次关系。(4)图形逻辑结构,元素间存在相对复杂的关系。数据在计算机中的存储方法有顺序存储、链式存储、索引存储和散列存储等方法。22.什么是顺序存储,顺序存储结构的主要特点有那些。顺序存储:是把逻辑上相邻的元素存储在物理位置相邻的存储单元中,称此存储表示为顺序存储结构。程序设计中常用数组实现顺序存储。顺序存储结构的主要特点是:存储密度大,存储空间利用率高。可以通过计算直接确定数据对象中第i个数据元素的存储地址Li,计算公式为:Li=L0+(i-1)*m。其中L0为第一个数据元素的存储地址,m为一个数据元素占用的存储单元的个数。插入和删除数据时,会引起大量的数据移动。23.什么是算法,一个算法应该具有的特性是什么。算法(Algorithm)是求解问题的方法的步骤序列。一个算法应该具有下列特性:⑴有穷性:一个算法必须在有穷步之后结束。⑵确定性:算法的每一步必须有确切的定义。⑶可行性:算法中的每一步都可以通过基本运算得以实现。⑷输入:一个算法具有零个或多个输入。⑸输出:一个算法具有一个或多个输出,输出同输入之间存在某种特定的关系。24.对一个算法要求有那些。设计一个算法通常要考虑以下的要求。⑴正确:算法的执行结果应当满足预先规定的功能和性能要求。⑵可读:一个算法应当思路清晰、层次分明、简单明了、易读易懂。⑶健壮:当输入不合法数据时,应能作适当处理,不至引起严重后果。⑷高效:有效使用存储空间和有较高的时间效率。25.什么是算法的时间复杂度和空间复杂度。算法的时间复杂度:指执行算法时所需的时间(与问题的规模有关)。算法的空间复杂度:指在实现算法时所需的存储量。26.叙述线性表的定义及其逻辑特征。线性表:由n(n≥0)个相同类型的数据元素a1,a2,...,an组成的有限序列,记作:L=(a1,a2,…an)线性表的逻辑特征为:有且仅有一个开始数据元素a1,它没有直接前驱,y有且仅有一个直接后继a2;有且仅有一个最后数据元素an,它没有直接后继,仅有一个直接前驱an-1;其余的数据元素ai(1in)有且仅有一个直接前驱ai-1和一个直接后继ai+1。对于仅有一个数据元素的线性表(n=1),数据元素a1既是开始数据元素又是最后数据元素,它没有直接前驱,也没有直接后继。27.什么是顺序表、链表。线性表中各元素依次存储在连续的一块存储空间中,用这种存储形式存储的线性表称其为顺序表。即逻辑结构上相邻的数据元素,其在物理位置上也是相邻的。线性表的链式存储结构是把线性表的数据元素存放在结点中,结点(node)由数据元素域和一个或若干个指针域组成,指针域存放其他结点的存储地址。用链式存储方式存储的线性表称线性链表,简称链表。28.描述在顺序表和链表上进行插入和删除操作的实现算法。1)在顺序表上完成插入元素的操作步骤和在设计算法时注意的问题。在
本文标题:软件基础基本概念问答2012
链接地址:https://www.777doc.com/doc-1990630 .html