首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
本系列资料由"思达网校" 授权发布,任何网站不得转载,否则追究法律责任。
1. 基础知识
1.1. 基本概念
程序设计语言的定义涉及语法、语义和语用3个方面。
语法是指由程序语言的基本符号组成程序中的各个语法成分的一组规则。包括词法规则和语法规则。由形式语言进行描述。
语义是程序语言中按语法规则构成的各个语法成分的含义,可分为静态语义和动态语义。程序运行的效果反映了该程序的语义。
语用表示了构成语言的各个记号和使用者的关系,涉及符号的来源、使用和影响。
1.2. 程序设计语言的种类和特点
可分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言。
命令式程序设计语言是基于动作的语言,计算被看成动作的序列。如Pascal、C等。
面向对象的程序设计语言主要包括几个概念:对象、类和继承。如C++、Java等。
函数式程序设计语言是一类以λ-演算为基础的语言。最显著的特点是语言中程序和数据的形式是等价的。其代表是LISP语言。
逻辑程序设计语言是以形式逻辑为基础的语言。其代表是PROLOG。
1.3. 程序设计语言的基本成分
1.3.1. 数据成分
是程序语言的数据类型。数据是程序操作的对象。包括常量和变量、全局量和局部量。数据类型有基本类型(如整型、字符型等)、特殊类型(空类型)、构造类型(数组、结构、联合)、指针类型等。
1.3.2. 运算成分
运算成分指明允许使用的运算符号及运算规则。一般包括算术运算、关系运算、逻辑运算。
1.3.3. 控制成分
控制成分指明语言允许表述的控制结构。包括顺序结构、选择结构和循环结构。参见教材中讲述的C(C++)提动的控制语句。
1.3.4. 函数
函数是程序模块的主要成分,是一段具有独立功能的程序。函数的使用涉及3个概念:函数定义、函数声明和函数调用。函数调用时实参与形参之间交换信息的方法有传值调用和引用调用两种。
2. 语言处理程序基础
2.1. 汇编语言基本原理
2.1.1. 汇编语言
汇编语言是为特定的计算机或者计算机系统设计的面向机器的语言。
汇编语言中的语句可以分成两大类:
与机器指令相对应的可执行汇编语句;
汇编控制语句,即伪指令。
[NextPage]
2.1.2. 汇编程序
汇编程序的功能是将用汇编语言编写的源程序翻译成机器指令程序。
整个汇编程序工作通常要对源程序进行两次扫描才能完成。第一次扫描主要工作是定义符号的值。第二次扫描的目的则是产生目标程序。其中,可执行汇编语句被翻译成对应的二进制代码机器指令,而伪指令会根据伪指令记忆码调用伪指令表对应元素所规定的子程序入口。
2.2. 编译程序基本原理
编译程序的功能是把用高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或者机器语言)。
编译程序的工作过程分为6个阶段:词法分析阶段、语法分析阶段、语义分析阶段、中间代码生成阶段、代码优化阶段和目标代码生成阶段。参见《程序员教程》的P278 图6-4。
2.3. 解释程序基本原理
解释程序是一种语言处理程序,它直接执行源程序或源程序的内部形式。它并不产生目标程序,这是它和编译程序的主要区别。
高级语言实现语言处理有4种方案:
源程序被直接解释执行。
先将源程序翻译成高级中间代码,然后再扫描和解释执行高级中间代码。
先将源程序转化成和机器代码十分接近的低级中间代码,再解释执行这种中间代码。
源程序被最终翻译成机器语言表示的目标程序。这类系统的目标程序执行效率最高。
翻译系统与解释系统比较:
翻译系统在执行速度上都优于建立在解释执行基础上的系统;
翻译系统的缺点是其复杂性高,这使得它的开发和维护费用都大;
解释系统比较简单,可移植性较好,适合于以交互方式执行程序;
解释系统缺点是执行速度慢;
纯粹的解释和纯粹的编译都是极端,因此一般是两种技术的结合,先将源程序编译形成中间代码,然后由解释器解释执行。
解释系统的结构可分成两个部分:
1) 包括通常的词法分析程序以及语法和语义分析程序,它的作用仍是把源程序翻译成中间代码。
2) 解释部分,用来对第一部分所产生的中间代码进行解释执行,完成真正的解释。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |