第3章 计算机软件
考点
3.1.1 计算机软件及计算机软件技术
计算机系统通常由两部分组成:硬件和软件。
软件:人们把程序、与程序相关的数据和文档统称为软件。
1.版权
授予软件作者的某种独占权利的一种合法的保护形式,版权所有者唯一地享有软件的复制、发布、修改、署名、出售等权利。
2.软件许可证
确定了用户对软件的使用方式,扩大了版权法给用户的权利。例如:用户购买一款软件可以安装在家中的不同计算机上。
3.软件分类
(1)系统软件:为应用软件开发与运行提供支持、为用户管理与使用计算机提供方便。
例如:BIOS、操作系统、程序设计语言处理系统、数据库管理系统、编译器、常用的实用程序(如磁盘清理程序、备份程序)等。
(2)应用软件:泛指那些专门用于解决各种具体应用问题的软件。
①通用应用软件:可以在多个行业和部门使用。例如:Word、Excel、AutoCAD、Photoshop、Outlook Express等。
②定制应用软件:按照不同领域用户的特定要求专门设计的软件。
4.自由软件
倡导非版权原则:用户可共享自由软件,允许随意复制、修改其源代码,允许销售和自由传播,但对软件源代码的任何修改都必须向所有用户公开,还必须允许此后的用户享有进一步复制和修改的自由。
TCP/IP协议、Apache服务器软件和Linux操作系统都是自由软件的精品。
3.1.2 操作系统
1.操作系统的作用
(1)为计算机中运行的程序管理和分配各种软硬件资源。主要功能包括处理器管理、存储器管理、文件管理、I/O设备管理。
(2)为用户提供友善的人机界面。图形用户界面(GUI):通过多个窗口显示正在运行的程序状态,采用图表来形象地表示系统中的文件、程序、设备等对象。
(3)为应用程序的开发和运行提供一个高效率的平台。
裸机:没有安装任何软件的计算机(裸机可以运行程序,但难度大、效率低)。
虚计算机:只安装了操作系统的计算机。
2.操作系统的启动
安装了操作系统的计算机,操作系统大多驻留在硬盘存储器中,当加电启动计算机工作时,CPU首先执行ROM BIOS中的自检程序,测试计算机中各部件的工作状态是否正常。若无异常情况,CPU将执行BIOS中的引导装入程序,它从硬盘中读出主引导记录并装入到内存,然后将控制权交给其中的引导程序,由引导程序继续装入操作系统。
3.处理器管理
(1)多任务处理:操作系统支持若干个程序同时运行,以提高效率。
(2)并发多任务:不管是前台任务还是后台任务,都能分配到CPU的使用权。
(3)处理器调度程序:负责把CPU时间分配给各个任务,从宏观上看,这些任务是在“同时”执行,而微观上,任何时刻只有一个任务正在被CPU执行,即CPU按时间片来执行这些任务。
4.存储管理
(1)操作系统一般都采用虚拟存储技术进行存储管理。
(2)虚拟存储技术(简称“虚存”):由计算机中的物理内存(主板上的RAM)和硬盘上的虚拟内存(“交换文件”)组成,采用“最近最少使用”(LRU)算法。
5.文件管理
文件夹采用多级层次式结构(树状结构)管理,不同文件夹中的文件可以使用相同的名字。不能使用某些特殊字符作为文件名,如?*/\ < >:,等。
6.设备管理
操作系统中的设备管理程序负责对系统中的各种输入/输出设备进行管理,处理用户(或应用程序)的输入/输出请求,方便、有效、安全地完成输入/输出操作。
7.常用操作系统
(1)Windows操作系统:在个人计算机上广泛使用,提供了多任务处理能力。
(2)UNIX操作系统:通用多用户交互式分时操作系统,是目前使用最广泛、影响最大的主流操作系统之一,90%以上的代码都是用C语言编写的。
(3)Linux操作系统:芬兰一名青年学者创造,该系统优势主要体现在网络服务器方面,其代码向全世界公开。
3.1.3 程序设计语言及其处理系统
程序设计语言按照级别可分为机器语言、汇编语言、高级语言,其分类及特点如表3-1所示。
表3-1 程序设计语言的分类及特点
程序设计语言中的成分:数据成分、运算成分、传输成分、控制成分。
(1)数据成分:程序所处理的数据对象,如对数据类型和数据结构进行说明。
①算术数据类型;②枚举数据类型;③数组数据类型:数组是一组类型相同的数据的有序集合;④指针数据类型:指针是数据对象的地址,指针变量是存放某个数据对象地址的变量;⑤用户定义类型:程序员可按要求自行定义数据类型。
(2)运算成分:程序多包含的运算,如算术表达式和逻辑表达式。
(3)传输成分:表达程序中的数据的传输,如I/O语句。
(4)控制成分:用以表达程序中的控制构造。
主要包括3种控制:顺序结构、条件选择结构、重复结构。
程序设计语言处理系统:
作用:把程序语言(汇编语言和高级语言)编写的程序变换成可在计算机上执行的程序。负责完成这些功能的软件是解释程序、编译程序和汇编程序。
(1)解释程序:按源程序中语句的顺序,逐条翻译并立即执行相应功能的处理程序。
特点:不形成机器语言形式的目标程序、实现算法简单、运行效率低。
(2)编译程序:从高级语言到汇编语言(或机器语言)的翻译程序。
特点:形成可在具体计算机上执行的目标程序,一次产生高效运行的目标程序,保存在磁盘以备多次执行。
(3)汇编程序:从汇编语言到机器语言的翻译程序,称为汇编程序。
常用程序设计语言:常用程序设计语言如表3-2所示。
表3-2 常用程序设计语言
3.1.4 算法和计算机软件理论基础
1.算法
算法是程序的核心;算法和数据结构是编写程序的两个重要方面。
算法性质(要称为一个算法,必须满足4个基本要求):
(1)确定性:每一步运算必须有确切的定义,无二义性。
(2)可终结性(有穷性):算法能在执行有限步骤后终止。
(3)能行性:算法中有待实现的操作都是可执行的,即在计算机的能力范围内,且在有限时间内能够完成。
(4)输出:至少产生一个输出。
算法的设计一般采用由粗到细,由抽象到具体的逐步求精的方法。
算法与程序区别:算法满足有穷性,而程序不一定。
算法分析:算法的好坏,除考虑其正确性外,还应考虑以下因素:
①执行算法所要占用的计算机资源,包括时间资源和空间资源。
②算法是否容易理解,是否调试和测试。
注意:根据时间特性,求时间复杂度。
例如:时间特性T(n)=2n3+3n2+2n+1;时间复杂度T(n)=O(n3)。
2.数据结构
研究内容:数据的抽象(逻辑)结构、数据的物理(存储)结构、数据的运算。
(1)数据逻辑结构:例如,线性表、树、二叉树、森林、多重表、图。
(2)数据运算:检索、插入、删除、更新、排序。
习题
1.对C语言中语句“while(P)S;”的含义,下述解释正确的是_______。
A.先执行语句S,然后根据P的值决定是否再执行语句S
B.若条件P的值为真,则执行语句S,如此反复,直到P的值为假
C.语句S至少会被执行一次
D.语句S不会被执行两次以上
2.高级语言的控制结构主要包含_______。
①顺序结构②自顶向下结构③条件选择结构④重复结构
A.①②③ B.①③④ C.①②④ D.②③④
3.(是非题)C++语言是对C语言的扩充。
4.(是非题)“引导程序”的功能是把操作系统的一部分程序从内存写入磁盘。
5.算法和_______的设计是程序设计的主要内容。
6.下列应用软件中_______属于网络通信软件。
A.Word B.Excel C.Outlook Express D.Frontpage
7.下列不属于计算机软件技术的是_______。
A.数据库技术 B.系统软件技术
C.程序设计技术 D.单片机接口技术
8.(是非题)当一个PowerPoint程序运行时,它与Windows操作系统的关系是:前者PowerPoint调用后者Windows操作系统的功能。
9.程序设计语言的语言处理程序属于_______。
A.系统软件 B.应用软件 C.实时系统 D.分布式系统
10.下列软件中不具备文本阅读器功能的是_______。
A.微软Word B.微软Media Player
C.微软Internet Explorer D.Adobe公司的Acrobat Reader
11.若有问题规模为n的算法,其主运算的时间代价为f(n)=f(n)=n2+5n+c(c为常数),则该算法的时间复杂性可表示为O(_______)。
12.(是非题)源程序通过编译程序的处理可以一次性地产生高效运行的目的程序,并把它保存在磁盘上,以备多次执行。
13.下列说法中错误的是_______。
A.操作系统出现在高级语言及其编译系统之前
B.为解决软件危机,人们提出了结构程序设计方法和用工程方法开发软件的思想
C.数据库软件技术、软件工具环境技术都属于计算机软件技术
D.设计和编制程序的工作方式是由个体发展到合作方式,再到现在的工程方式
14.能管理计算机的硬件和软件资源,为应用程序开发和运行提供高效率平台的是_______。
A.操作系统 B.数据库管理系统
C.CPU D.专用软件
15.高级语言种类繁多,但其基本成分可归纳为4种,其中对处理对象的类型说明属于高级语言中的_______成分。
A.数据 B.运算 C.控制 D.传输
16.(是非题)Windows桌面也是Windows系统中的一个文件夹。
17.若求解某个问题的程序要反复多次执行,则在设计求解算法时,应重点从_______代价上考虑。
18.以下关于计算机软件的叙述中,错误的是_______。
A.数学是计算机软件的理论基础之一
B.数据结构研究程序设计中操作对象及它们之间的关系和运算
C.任何程序设计语言的语言处理系统都是相同的
D.操作系统是计算机必不可少的系统软件
19.分析一个算法的好坏,主要考虑算法的时间代价和_______代价。
20.一个算法至少有_______个输出。
21.CPU唯一能够执行的程序是用_______语言编写的。
A.命令语言 B.机器语言 C.汇编语言 D.高级语言
22.一个用户若需在一台计算机上同时运行多个程序,必须使用具有_______功能的操作系统。
A.多用户 B.多任务 C.分布式 D.单用户
23.如果你购买了一个软件,通常就意味着得到了它的_______。
24.针对不同具体应用问题而专门开发的软件属于_______。
A.系统软件 B.应用软件 C.财务软件 D.文字处理软件
25.解决某一问题的算法也许有多种,但它们都必须满足确定性、有穷性、能行性、输入和输出。其中输出的个数n应大于等于_______。(填一个数字)
26.(是非题)MATLAB也是一种能用于数值计算的高级程序设计语言。
27.理论上已经证明,有了_______3种控制结构,就可以编写任何复杂的计算机程序。
A.转子(程序),返回,处理 B.输入,输出,处理
C.顺序,选择,重复 D.I/O,转移,循环
28.以下关于高级程序设计语言中的数据成分的说法中,正确的是_______。
A.数据名称命名说明数据需要占用存储单元的多少和存放形式
B.数组是一组相同类型数据元素的有序集合
C.指针变量中存放的是某个数据对象的值
D.用户不可以自己定义新的数据类型
29.虚拟存储系统能够为用户程序提供一个容量很大的虚拟地址空间,但其大小有一定的范围,它受到_______的限制。
A.内存容量大小 B.外存空间及CPU地址表示范围
C.交换信息量大小 D.CPU时钟频率
30.算法是对问题求解过程的一种描述,“算法中描述的操作都是可以通过已经实现的基本操作在限定的时间内执行有限次来实现的”,这句话所描述的性质被称为算法的_______。
31.下列软件属于系统软件的是_______。
①金山毒霸②SQL Server③Frontpage ④CorelDRAW ⑤编译器
⑥Linux⑦银行会计软件⑧Oracle ⑨Sybase ⑩民航售票软件
A.①③④⑦⑩ B.②⑤⑥⑧⑨ C.①③⑧⑨ D.①③⑥⑨⑩
32.以下媒体播放软件中不能用来播放DVD的是_______。
A.豪杰超级解霸 B.MediaPlayer C.金山影霸 D.ACDsee
33.下面属于文字处理软件的是_______。
A.WPS B.3DS C.SPSS D.Excel
34.未获得版权所有者许可就复制使用的软件称为_______软件。
A.共享 B.盗版 C.自由 D.授权
35.操作系统具有存储器管理功能,当内存不够用时,其存储管理程序可以自动“扩充内存”,为用户提供一个容量比实际内存大得多的_______。
A.虚拟存储器 B.脱机缓冲存储器
C.高速缓冲存储器(Cache) D.离线后备存储器
36.操作系统提供的设备管理主要是对_______的管理。
A.CPU和内存 B.I/O设备和外存储器
C.内存和I/O设备 D.总线和CPU
37.关于操作系统设备管理的叙述中,下列说法错误的是_______。
A.设备管理能隐蔽具体设备的复杂物理特性而方便应用程序使用
B.设备管理利用各种技术提高CPU与设备、设备与设备之间的并行工作能力
C.每个设备都有自己的驱动程序,它屏蔽了设备I/O操作的细节
D.操作系统负责尽量提供各种不同的I/O硬件接口
38.操作系统是一种常见的系统软件,它有许多种类,Linux是一种_______操作系统。
A.多用户单任务 B.单用户多任务
C.多用户多任务 D.单用户单任务
39.在C语言中,“if…else”属于高级语言中的_______成分。
A.数据 B.运算 C.控制 D.传输
40.高级程序设计语言的基本组成成分有_______。
A.数据、运算、控制、传输 B.外部、内部、转移、返回
C.子程序、函数、执行、注解 D.基本、派生、定义、执行
41.(是非题)MATLAB是将编程、计算和数据可视化集成在一起的一种数学软件。
42.以下高级程序设计语言中,主要应用于人工智能领域的是_______。
A.C语言 B.JAVA C.LISP D.Fortran
43.高级程序设计语言都采用结构化程序设计方法,可以用3种基本控制结构来描述,3种结构不包括_______。
A.顺序结构 B.条件选择结构 C.重复结构 D.多分支结构
44.高级程序设计语言的编译程序和解释程序属于_______。
A.通用应用软件 B.定制应用软件 C.中间软件 D.系统软件
45.以下说法中,正确的是_______。
①编译程序是为了把高级语言书写的计算机程序翻译成面向计算机的目标程序而使用
的计算机程序
②就执行速度而言,编译程序比解释程序快
③解释程序用来逐句分析执行源程序语句的计算机程序
④使用编译程序时,因为是逐句地翻译执行源的语句,所以逐条语句执行
A.①②③④ B.①②③ C.②③④ D.④
46.将高级语言编写的源程序,翻译成计算机可执行代码的软件称为_______。
A.汇编程序 B.编译程序 C.管理程序 D.服务程序
47.数据结构研究的主要内容不包括_______。
A.数据的逻辑结构 B.数据的存储结构
C.数据的运算 D.算法
48.一个好的算法,不应该包括_______。
A.正确性
B.执行算法时占用的存储空间更多
C.执行算法的每一步骤都有明确的含义
D.算法要易理解、易调试和易测试
49.(是非题)一般将使用高级语言编写的程序称为源程序,这种程序不能直接在计算机中运行,需要有相应的语言处理程序翻译成机器语言程序才能执行。
50.高级程序设计语言的编译程序和解释程序属于下列的_______类程序。
A.语言编辑 B.程序连接 C.文本编辑 D.语言处理
51.(是非题)任何高级语言程序编写的程序都必须经过转换后才能由计算机执行。
答案及解析
1.【答案】B
2.【答案】B
【解析】控制成分用以表达程序中的控制构造,主要包括3种控制:顺序结构、条件选择结构、重复结构。
3.【答案】是
4.【答案】非
【解析】“引导程序”的功能是把操作系统的一部分程序从磁盘写入内存。
5.【答案】数据结构
6.【答案】C
7.【答案】D
8.【答案】是
9.【答案】A
10.【答案】B
【解析】微软Media Player是影片播放器。
11.【答案】2n
12.【答案】是
13.【答案】A
14.【答案】A
15.【答案】A
16.【答案】是
17.【答案】时间
18.【答案】C
19.【答案】空间
【解析】算法的好坏,除考虑其正确性外,还应考虑以下因素:执行算法所要占用的计算机资源,包括时间资源和空间资源;算法是否容易理解,是否调试和测试。
20.【答案】一
21.【答案】B
22.【答案】B
23.【答案】使用权
24.【答案】B
【解析】应用软件泛指那些专门用于解决各种具体应用问题的软件。
25.【答案】1
26.【答案】是
27.【答案】C
28.【答案】B
29.【答案】B
30.【答案】有穷性
31.【答案】B
【解析】系统软件:为应用软件开发与运行提供支持、为用户管理与使用计算机提供方便。例如:BIOS、操作系统、程序设计语言处理系统、数据库管理系统、编译器、常用的实用程序(如磁盘清理程序、备份程序)等。
32.【答案】D
【解析】ACDSee是看图工具。
33.【答案】A
34.【答案】B
35.【答案】A
36.【答案】B
37.【答案】D
38.【答案】C
39.【答案】C
【解析】“if…else”属于控制成分中的条件选择结构。
40.【答案】A
41.【答案】是
42.【答案】C
43.【答案】D
44.【答案】D
【解析】系统软件:为应用软件开发与运行提供支持、为用户管理与使用计算机提供方便。例如:BIOS、操作系统、程序设计语言处理系统、数据库管理系统、编译器、常用的实用程序(如磁盘清理程序、备份程序)等。
45.【答案】B
46.【答案】B
47.【答案】D
48.【答案】B
49.【答案】是
50.【答案】D
51.【答案】是
【解析】高级语言和汇编语言编写的程序都必须经过转换后才能由计算机执行。只有机器语言编写的程序可以直接由计算机执行。