计算机

顾名思义,就是能够进行数据运算的机器(台式电脑、笔记本电脑、平板电脑、智能手机)

计算机的发明者

关于电子计算机的发明者是谁这一问题,有好几种答案:


  • 1936年英国数学家图灵首先提出了一种以程序和输入数据相互作用产生输出的计算机构想后人将这种机器命名为通用图灵计算机。
  • 1938年克兰德·楚泽发明了首台采用继电器进行工作的计算机,这台计算机命名为Z1但是继电器是机械式的,并不是完全的电子器材。
  • 1942年阿坦那索夫和贝利发明了首台采用真空管的计算机,这台计算机命名为ABC
  • 1946年ENIAC诞生,它拥有了今天计算机的主要结构和功能,是通用计算机。
  • 现在世界上公认的第一台现代电子计算机是1946年在美国宾夕法尼亚大学诞生的ENIAC(Electronic Numerical Integrator And Calculator)


计算机的特点


  • 计算机是一种电器, 所以计算机只能识别两种状态一种是通电一种是断电
  • 正是因为如此, 所以最初的计算机程序是由很多开关和连线来完成的。
  • 但是这样导致改动一次程序要花很长时间(需要人工重新设置很多开关的状态和连接线)


编程语言_数据

为了提高效率, 工程师们想能不能把程序和数据都放在存储器中, 数学家冯·诺依曼提出以数学语言的方式来表示通电和断电。

那利用数学语言如何表示计算机能够识别的通电和断电两种状态呢。


  • 非常简单用0和1表示即可
  • 所以计算机能识别的所有指令都是由0和1组成的
  • 所以计算机中存储和操作的数据也都是由0和1组成的


0和1更准确的是应该是高电平和低电平, 但是这个不用了解, 只需要知道计算机只能识别0和1以及存储的数据都是由0和1组成的即可。

计算机程序

计算机程序是为了告诉计算机 "做某件事或解决某个问题" 而用 计算机语言 编写的 指令集合。

只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作, 计算机的一切操作都是由程序控制的, 离开程序, 计算机将一事无成。

现实生活中你如何告诉别人如何做某件事或者解决某个问题。


  • 通过人能听懂的语言: 张三你去楼下帮我买一瓶水, 顺便到快递柜把我的快递也带上来。
  • 其实我们通过人能听懂的语言告诉别人做某件事就是在发送一条条的指令。
  • 计算机中也一样, 我们可以通过计算机语言告诉计算机我们想做什么, 每做一件事情就是一条指令, 一条或多条指令的集合我们就称之为一个计算机程序。


计算机语言

在日常生活、工作中, 语言是人们交流的工具。


  • 中国人和中国人交流, 使用中文语言。
  • 美国人和美国人交流, 使用英文语言。
  • 人想要和计算机交流, 使用计算机语言。


可以看出在日常生活、工作中, 人们使用的语言种类很多。


  • 如果一个很牛人可能同时掌握了中文语言和英文语言, 那么想要和这个人交流既可以使用中文语言, 也可以使用英文语言。
  • 计算机其实就是一个很牛的人, 计算机同时掌握了几十门甚至上百门语言, 所以我们只要使用任何一种计算机已经掌握的语言就可以和计算机交流。


常见的计算机语言类型

机器语言


  • 所有的代码里面只有0和1, 0表示不加电,1表示加电(纸带存储时 1有孔,0没孔)
  • 优点:直接对硬件产生作用,程序的执行效率非常非常高。
  • 缺点:指令又多又难记、可读性差、无可移植性。


汇编语言


  • 符号化的机器语言,用一个符号(英文单词、数字)来代表一条机器指令。
  • 优点:直接对硬件产生作用,程序的执行效率非常高、可读性稍好。
  • 缺点:符号非常多和难记、无可移植性。


高级语言


  • 非常接近自然语言的高级语言,语法和结构类似于普通英文。
  • 优点:简单、易用、易于理解、远离对硬件的直接操作、有可移植性。
  • 缺点:有些高级语言写出的程序执行效率并不高。


对比(利用3种类型语言编写1+1)

机器语言

10111000 00000001 00000000 00000101 00000001

汇编语言

MOV AX, 1 ADD AX, 1

高级语言

1 + 1