计算机软件是什么?

前面我们说到把 CPU、存储器、输入设备、输出设备以及数据总线组装在一起就构成了计算机,但是这样的一台计算机还不够完整,它还不能做任何事情,原因是它里面还缺一样东西:软件(Software)。

我们把没有软件的计算机称之为裸机

CPU、存储器、输入设备、输出设备以及数据总线都是我们可以看得见、摸得着的一些电子元器件,比如计算机的显示器、键盘、硬盘等这些东西我们都可以用眼睛看到,用手触摸到它们。我们把这些看得见、摸得着的设备称为计算机的硬件(Hardware)(见图 1),而把那些计算机中看不到、摸不着的东西称为计算机的软件(见图 2)。

计算机的硬件
图 1:计算机的硬件

那么计算机中什么东西看不到、摸不着呢?就是我们前面曾经提到过的指令和数据。
  • 指令是控制计算机进行输入、运算、输出的各种命令;
  • 数据有我们通过键盘等输入设备输入计算机准备让计算机运算处理的,也有计算机通过运算处理以后的结果。

计算机的软件
图 2:计算机的软件

 
我们把这些控制计算机进行输入、运算、输出的命令一条条地列出来连同它们要处理的数据一起称为程序,软件也就是计算机里面的程序及各种文档。

软件的分类

计算机软件总体分为系统软件和应用软件两大类。

1) 系统软件

系统软件是各类操作系统,如 Windows、Linux、UNIX 等,是负责管理计算机系统中各种硬件相互协调工作的。系统软件使得我们可以把计算机当作一个整体而无须考虑其内部每个硬件是如何工作的。

2) 应用软件

应用软件是为了某种特定的用途而被开发的软件:
  • 它可以是一个特定的程序,比如一个图像浏览器、一个小游戏以及我们常用的 QQ 等;
  • 可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的 Office 软件;
  • 也可以是一个由众多独立程序组成的庞大的软件系统,比如银行管理系统、学生档案管理系统等。

C语言程序示例:
#include <stdio.h>                  //引入标准输入输出头文件

int main()                          //主函数
{
    int a,b,c;                      //定义 a、b、c 三个整数型变量
    a = 10; b = 20;                 //a 赋值 10,b 赋值 20
    c = a + b;                      //计算 a + b 的和,并把它赋值给 c
    printf("%d+%d=%d\n", a, b, c);  //屏幕打印 ”10+20=30”
    return 0;
}

总结

  1. 程序是指令和数据的集合。
  2. 完整的计算机是由硬件和软件构成的。
  3. 计算机软件分为系统软件和应用软件。
  4. 软件是计算机所执行的程序以及各种文档。
  5. CPU、存储器、输入设备、输出设备以及数据总线都是计算机的硬件。