|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式程序设计语言 >
|
被考次数:2次
被考频率:低频率
总体答错率:58%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:31个
|
|
|
|
|
计算机硬件只能识别由0、1字符序列组成的机器指令,因此机器指令是最基本的计算机语言。用机器语言编制程序效率低、可读性差,也难以理解、修改和维护。因此,人们设计了汇编语言,用容易记忆的符号代替0、1序列,来表示机器指令中的操作码和操作数。例如,用ADD表示加法、SUB表示减法等。虽然使用汇编语言编写程序的效率和程序的可读性有所提高,但汇编语言是面向机器的语言,其书写格式在很大程度上取决于特定计算机的机器指令。机器语言和汇编语言被称为低级语言。
|
|
|
人们设计了功能更强、抽象级别更高的语言以支持程序设计,因此就产生了面向各类应用的程序设计语言,即高级语言,常见的有Java、C、C++、C#、Python等。这类语言与人们使用的自然语言比较接近,大大提高了程序设计的效率。
|
|
|
|
目前,尽管人们可以借助高级语言与计算机进行交互,但是计算机仍然只能理解和执行由0、1序列构成的机器语言,因此高级程序设计语言需要翻译,担负这一任务的程序称为“语言处理程序”。由于应用的不同,程序语言的翻译也是多种多样的。它们大致可分为汇编程序、解释程序和编译程序。
|
|
|
用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。
|
|
|
解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,将目标程序与库函数链接后形成可执行程序,然后在计算机上运行可执行程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。简单而言,解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。
|
|
|
|
一般地,程序设计语言的定义都涉及语法、语义和语用三个方面。
|
|
|
(1)语法。语法是指由程序设计语言基本符号组成程序中的各个语法成分(包括程序)的一组规则,其中由基本字符构成的符号(单词)书写规则称为词法规则,由符号(单词)构成语法成分的规则称为语法规则。程序设计语言的语法可通过形式语言进行描述。
|
|
|
(2)语义。语义是程序设计语言中按语法规则构成的各个语法成分的含义,可分为静态语义和动态语义。静态语义是指编译时可以确定的语法成分的含义,而运行时刻才能确定的含义是动态语义。一个程序的执行效果说明了该程序的语义,它取决于构成程序的各个组成部分的语义。
|
|
|
(3)语用。语用表示了构成语言的各个记号和使用者的关系,涉及符号的来源、使用和影响。
|
|
|
语言的实现还涉及语境问题。语境是指理解和实现程序语言的环境,包括编译环境和运行环境。
|
|
|