基础知识

机器语言:计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令,而这种指令称为机器指令;基于二进制表示的语言就是机器语言。

用法    :在机器语言的规则中规定各种机器指令的表示形式以及它的作用。(人为规定具体机器指令的具体作用

缺点    :机器语言与我们习惯的语言相差太大,难以从容使用,必须记和翻阅指令表才可以。

优点  :机器语言占内存较高级语言少、运行效率也比高级语言高,且能直接操作计算机的各种硬件设备资源。


发展    :为了克服机器语言的缺点,我们创造出了符号语言(symbolic language)

符号语言用一些英文字母和数字表示一个指令,例如用ADD代表'加',MOV代表'移动',LD代表'传送'.....(其实就是我们日常说的汇编语言)

用法    :比如 ADD A,B 表示的是A加上B...

缺点    :前面我们说过计算机只能识别和接受0和1,而符号语言必须翻译成机器语言才可被计算机识别。翻译符号语言需要用到一种称为汇编程序的软件,把符号语言的指令转换为机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程或者说是翻译的过程称为'汇编',因此,符号语言又称为符号汇编语言汇编语言(assembler language)虽然汇编语言比机器语言简单好记一些,但仍然比较复杂,也需要记忆基本指令集和翻阅指令集。不同型号的计算机的机器语言和汇编语言是互不相通的,因为硬件不一样了。

低级语言 :机器语言可以直接被计算机识别和接受,汇编语言也非常接近计算机,所以两者统称为计算机低级语言。

发展     :为了克服低级语言的缺点,20世纪50年代创造创造出了第一个计算机高级语言-----fortran语言。它很接近我们习惯使用的自然语言和数学语言。程序中用到的语句和指令是用英文单词表示的,程序中所用的运算符和运算表达式和我们日常所用的数学式子差不多,很容易理解。(例如:计算和输出3.5 × 6sin(∏/3)------PRINT*,3.5*6*SIN(3.1415926/3)

这种语言功能很强大,且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用(或只需作很少的修改),它与具体机器距离较远,故称为计算机高级语言(high level language)。

当然,计算机也是不能直接识别高级语言程序的,也要进行翻译。用一种称为编译程序的软件把用高级语言编写的程序(源程序,source program)转换为机器指令的程序(目标程序,object program),然后让计算机执行机器指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令。


  高级语言经历了不同的发展阶段:

1.非结构化的语言。无规范,程序可以随意写,可以随意跳转,从而使得程序难以阅读和维护。(早期的basic,fortran,algol....)

2.结构化语言。规范:程序必须由具有良好特性的基本结构(顺序结构,分支结构,循环结构)构成,程序中的流程不允许随意跳转,程序总是由上而下顺序执行各个基本结构。(C语言...)

面向过程:上面两种都是。

面向对象:例如c++,python,java....语言

两者区别请自行百度详细了解。

开发C语言的目的在于尽可能降低用它所写的软件对硬件平台的依赖程度,使之具有可移植性。

 

C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

目前C的主要用途之一是编写'嵌入式系统程序'。

posted on 2019-09-19 10:34  iBoundary  阅读(474)  评论(0编辑  收藏  举报

导航