项目一 编程入门

项目概述
       今天我就正式步入C语言的学习,但是在步入之前我们要先讲一些关于后面学习C语言会使用到的一些计算机重要的理论和概念,其中包括要讲到冯诺依曼体系结构,计算机系统的组成,以及计算机语言的概述,这些知识虽然不是c语言的知识,这些知识设计到计算机重要知识理论,对我们后期学习C语言来说很重要。
项目目标

  1. 了解冯诺依曼体系结构。
  2. 了解IT行业三大定律。
  3. 掌握计算机的硬件组成。
  4. 掌握计算机的软件组成。
  5. 掌握计算机的软件和硬件的关系。
  6. 了解计算机信息的存储方式以及ASCLL码表。
  7. 了解计算机语言。

任务一 计算机重要的理论
任务描述

       本任务时要学习计算机重要理论,会学到冯诺依曼体系结构和IT行业三大定律在现代计算机历史上的地位和作用,也会学到计算机系统的组成,软硬件的关系,以及存储单位,通过学习计算机语言,了解人机的交互方式。计算机系统的组成,以及计算机语言的方式。
学习目标

  1. 了解冯诺依曼体系结构。
  2. 了解IT行业三大定律。
  3. 掌握冯诺依曼体系结构和IT行业三大定律历史地位。
  4. 掌握计算机的硬件组成。
  5. 掌握计算机的软件组成。
  6. 掌握计算机的软件和硬件的关系。
  7. 了解计算机语言。

相关知识
      1-1-1  冯诺依曼体系结构
冯·诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯·诺依曼 也因此被人们称为“计算机之父”。冯·诺依曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。
      1.冯·诺依曼体系结构的要点及工作流程
冯·诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。人们把冯·诺依曼的这个理论称为冯·诺依曼体系结构。
       下面就简单分析一下冯诺依曼体系结构的计算机是如何工作的,首先下面的图就是冯诺依曼体系结构图。

  图1-1所示计算机主要由五大部件组成
(1)存储器用来存放数据和程序。
(2)运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中。
(3)控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果。
(4)输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等。
(5)输出设备可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等。
   2.冯诺依曼体系结构如何工作?
      冯诺依曼体系结构的指令和数据均采用二进制码表示;指令和数据以同等地位存放于存储器中,均可按地址寻访;指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;指令在存储器中按顺序存放,通常指令是按顺序执行的,特定条件下,可以根据运算结果或者设定的条件改变执行顺序;机器以运算器为中心,输入输出设备和存储器的数据传送通过运算器。
    1-1-2  计算机系统的组成
       计算机系统由硬件和软件两大部分组成,硬件和软件是一个完整的计算机系统互相依存的两大部分,为了让读者更好的理解算机系统,接下来通过一个图例进行描述,如图1-2所示。

下面就来介绍一下两者
        1.计算机硬件
计算机硬件是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。简言之,计算机硬件的功能是输入并存储程序和数据,以及执行程序把数据加工成可以利用的形式。在用户需要的情况下,以用户要求的方式进行数据的输出。
从外观上来看,微机由主机箱和外部设备组成。主机箱内主要包括CPU、内存、主板、硬盘驱动器、光盘驱动器、各种扩展卡、连接线、电源等;外部设备包括鼠标、键盘等。
       2.计算机软件
软件是一系列按照特点顺序组织的计算机数据和指令的集合,主要指两个方面系统软件(DOS、windows、LINUX、MacOS、Windows、UNIX)和应用软件(微信、淘宝、英雄联盟游戏等)。
      3.硬件与软件之间的联系
硬件和软件是一个完整的计算机系统互相依存的两大部分,它们的关系主要体现在以下几个方面。
  (1) 硬件和软件互相依存
硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用的唯一途径。计算机系统必须要配备完善的软件系统才能正常工作,且充分发挥其硬件的各种功能。
  (2)硬件和软件无严格界线
随着计算机技术的发展,在许多情况下,计算机的某些功能既可以由硬件实现,也可以由软件来实现。因此,硬件与软件在一定意义上说没有绝对严格的界面。
   (3)硬件和软件协同发展
计算机软件随硬件技术的迅速发展而发展,而软件的不断发展与完善又促进硬件的更新,两者密切地交织发展,缺一不可。
试想一下,如果计算机只有硬件没有软件可以吗?那样的计算机是没有任何的意义的,只有软件没有硬件,软件根本就没法运行的。
  1-1-3  计算机的信息存储
    1.计算机的信息存储
计算机内所有的信息(无论是程序还是数据)都是以二进制形式存放的。其中,一个二进制是数据的最小单位,称为位用bit来表示。在计算机中一般用字节(Byte)作为基本存储单位,一个字节由8个bit组成。
在计算机存储中,一个字节表示一个数据,一个英文单词或是一个字符都是一个字节,汉字则是两个字节。
    2.计算机进率的转换
计算机有关存储的单位及换算关系如下。
   1 Byte = 8 bit    
   1 KB= 1024 B    
   1 MB = 1024 KB    
   1 GB = 1024 MB    
   1 TB = 1024 GB
其中,K、M、G、T分别称为千、兆、吉、太。
     1-1-4  ASCLL码表
在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态, 因此 8 个二进制位就可以组合出 256 种状态,这被称为一个字节(byte)。一个字节一共 可以用来表示 256 种不同的状态,每一个状态对应一个符号,就是 256 个符号,从 0000000 到 11111111。
上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。
ASCII码一共规定了127个字符的编码,比如空格“SPACE” 是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32 个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。下表为完整的ASCII码表,如表1-1所示。

1.ASCLL不能表示所有字符。
2.0-31 及 127(共 33 个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)。
3.32-126(共95个)是字符(32 是空格),其中 48~57 为 0 到 9 十个阿拉伯数字。
 65-90 为 26 个大写英文字母,97~122 号为 26 个小写英文字母,其余为一些标点符号、 运算符号等。

    1-1-5  IT行业三大定律
IT行业的飞速发展,让电子产品充斥着我们的生活,当今的一切似乎都被打上了“电子”的标签。
更换手机、电脑,进行系统升级,下载各式各样的app或软件,工作记事玩游戏……这些似乎已经成了现代人的日常。
——你有没有想过,在这样的市场营销背后,有着怎样的IT行业规律呢?
IT三大定律指是摩尔定律、安迪—比尔定律以及反摩尔定律。
下面我们一起来学习这三大定律:
       1.摩尔定律
该定律由Inter公司创始人戈登摩尔提出,摩尔定律指出:每一年半计算机等IT产品的性能会翻一番:或者说相同性能的产品在一年半后价格会降一半。
表现为:为适应摩尔定律,IT公司必须在较短的时间内完成下一代产品的开发;摩尔定律使得各个IT公司研发上必须具备长远的战略目光。
      2.安迪—比尔定律
安迪指inter前任CEO安迪格罗夫,比尔指比尔盖茨,比尔在安迪的基础上给出的定律,安迪-比尔定律指出:计算机工业是由软件更新带动硬件更新的。软件的开发和发展,令使用软件的设备需要更高的性能和速度,从而推动了硬件技术的不断更新和升级。
      3.反摩尔定律
反摩尔定律由Google前CEO埃里克史密斯提出:一个IT公司如果今天和一年半以前卖掉同样多的、相同的产品,它的营业额就要降低一半。
掌握规律才能更好跟上IT行业的步伐。
   1-1-6  计算机语言
1.计算机语言的概念
在揭开c语言的神秘面纱之前,我们先认识计算机语言。
计算机语言指的是人与计算机之间通讯的语言,主要是我们通过硬件设备给计算机发一些指令,这些指令包括数字、符号,我们可以通过这些指令指挥计算机来我们服务。
2.计算机语言的分类
计算机的语言大致可以分为3类,机器语言、汇编语言和高级语言,接下来我们具体来介绍一下这三种语言。
(1)机器语言
机器语言是计算机直接能识别的语言(二进制语言),是由二进制数0和1组成的指令,对于编程人来时很难记忆。
(2)汇编语言
为了解决二进制难与编程,汇编语言就此诞生汇编语言是用英文字母或符号来实现的编程语言。这样一来汇编语言就比机器语言更加方便理解。
(3)高级语言
汇编语言因为依赖硬件,使得程序的可移植性差,在不同的计算机上还要学习新的汇编指令,大大的提高编程人员的工作量,为此计算机的高级语言就此诞生了。高级语言不是一门语言而是一类语言的统称。它的语言和形式更贴近人类语言,并且可移植性好。
高级语言使用非常广泛,常见的有C、Java、Python等,现在我们学习的c语言就是目前流行、应用广泛的语言。

猜你喜欢

转载自blog.csdn.net/qq_27248989/article/details/106022624