基础知识

机器语言:计算机工作基于二进制,从根本上说,计算机只能识别和接受由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的主要用途之一是编写'嵌入式系统程序'。

转载于:https://www.cnblogs.com/iBoundary/p/11546729.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中,在用户需要时再执行之。即先翻译、后执行。 2解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、信息表管理程序、错误检查处理程序组成。 3解:C语言的关键字有:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while。上述关键字在C语言中均为保留字。 4解:C语言中括号有三种:{},[],()。其中,{}用于语句括号;[]用于数组;()用于函数(定义与调用)及表达式运算(改变运算顺序)。C语言中无END关键字。逗号在C语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值