1.编译程序和解释程序:

用高级语言和汇编语言写的程序叫源程序,不能直接执行,用汇编写的需要一个汇编程序将其翻译成目标程序后才能执行。高级语言写的需要对应的解释程序或编译程序对其进行翻译 。

解释程序又叫做解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行;编译程序(编译器)是将源程序翻译成目标语言程序,然后运行目标程序。区别是:编译方式下机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;解释方式下,解释程序和源程序(或某种等价表示)要参与到程序的运行中,运行程序的控制权在解释程序。解释方式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保存的目标程序。

2.程序设计语言分类:

根据编程时的思维特点将程序设计语言大致分为命令式程序设计语言(结构化)、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

①命令式。FORTRAN,PASCAL,C;

②面向对象。C++,JAVA,Smalltalk;

③函数式。LISP

④逻辑型。PROLOG

3.汇编程序中可以有3类语句:

指令语句、伪指令语句和宏指令语句。基本的指令有ADD、SUB和AND等。伪指令语句指示汇编程序在汇编源程序时完成某些工作,例如给变量分配存储单元地址,给某一个符号赋一个值等。伪指令语句和指令语句的区别是伪指令语句经汇编后不产生机器代码,所指示的操作是在源程序被汇编时完成的,而指令语句的操作必须在程序运行时完成。允许把多次重复使用的程序段定义为宏。在程序的任意位置,若需要使用这段程序就在相应的位置使用宏名,因此宏指令语句就是宏的引用。

4.汇编程序的功能就是将用汇编语言编写的源程序翻译成机器指令程序。由于汇编指令中形成操作数地址的部分可能出现后面才有定义的符号,所以汇编程序一般需要两次扫描源程序才能完成翻译过程。

5.编译程序基本原理:

编译程序的功能是把某种高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言),可以分成六个阶段:

词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。

6.有限自动机有确定的和不确定的两种,不确定的当前状态的后继状态不是唯一的。

软件设计师学习2——程序设计语言基础知识相关推荐

  1. 软件设计师教程(四)程序设计语言基础知识

    软件设计师教程 软件设计师教程(一)计算机系统知识-计算机系统基础知识 软件设计师教程(二)计算机系统知识-计算机体系结构 软件设计师教程(三)计算机系统知识-计算机体系结构 程序设计语言知识 软件设 ...

  2. python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案

    01. Python语言基础知识等笔记: 02. Python作业答案: [例2-3]通过输入函数input()输入股票代码.股票名称.当天股票最高价和最低价,通过输出函数print()输出股票代码+ ...

  3. 软考-软件设计师 - 第2章 程序设计语言基础知识【附补充常考知识点】

    本章导图: 2.1 程序设计语言概述 2.1.1 程序设计语言的基本概念 1 低级语言与高级语言 低级语言:机器语言.汇编语言 高级语言:面向各类应用的程序设计语言,如Java,C,C++,PHP,P ...

  4. 【软件设计师07】程序设计语言与语言处理程序基础

    程序设计语言与语言处理程序基础 编译与解释.文法.正规式.有限自动机.表达式.传值与传址.多中程序语言特点 1. 编译过程 2. 文法定义 (逐渐降低考察比例,很少考察) 概念 文法类型 语法推导树 ...

  5. 软件设计师(五)——软件工程基础知识

    软件工程基础知识 软件工程基础知识部分分为五部分,如下图所示: 1. 软件工程概述 软件工程 1)含义:指使用计算机科学.数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程 2)目的:提高 ...

  6. 软件设计师(四)网络基础知识+多媒体基础知识

    网络基础知识 1.计算机网络(计算机技术+通信技术)的发展:具有通信功能的单机系统->具有通信功能的多机系统->以共享资源为目的的计算机网络->以局域网及因特网为支撑环境的分布式计算 ...

  7. 软件设计师-10.网络与信息安全基础知识

    10.1 网络概述 10.1.1 网络定义与功能 利用通信线路物理地将不同的终端连接起来,按照网络协议相互通信,以共享软件.硬件和数据资源为目标的系统. 数据通信:在计算机之间传送各种信息 资源共享: ...

  8. 第四章 程序设计语言基础知识

    一. 程序语言的基本概念 1.低级语言与高级语言 1)低级语言:汇编 2)高级语言: 常见的有Java.C.C++.PHP.Pyhton.Delphi 等. 2.编译形式:汇编.解释.编译. 3.程序 ...

  9. 【软考-软件设计师】程序设计语言基础知识框架

最新文章

  1. 手动安装K8s第三节:etcd集群部署
  2. js向php传递中文参数,JS传递参数时对中文进行编码和解码
  3. 树莓派实时(30fps)手势识别,从数据集采集开始,全部流程开源
  4. ORACLE EBS常用表及查询语句(最终整理版)
  5. Taro+react开发(96):问答模块03
  6. SAS对数据变量的处理
  7. mysql 5.7 api 中文_mysql5.7怎么解决中文
  8. 分割线不显示_90后都30岁了,为什么还不结婚
  9. 【2015年第4期】面向科技情报的互联网信息源自动发现技术
  10. 小猿圈python视频_小猿圈python学习-格式化打印
  11. 达索系统成立“大土木工程达索系统BIM技术推进联盟”深化应用、共享经验
  12. matlab中mod(10 3),matlab的rem()和mod()函数
  13. ie6下,给a添加事件,如果事件中有http请求,将会无效
  14. 简易版的等待/唤醒方法(sleep,wait,await,park区别)适合面试回答
  15. UE4 中文文档阅读
  16. 苹果手机读取html文件,教你如何解决“iTunes不能读取iPhone内容”的问题
  17. matlab 图像锐化 梯度 原理,Matlab梯度法图像锐化
  18. java new thread名字_Java的每个Thread都希望拥有自己的名称
  19. linux 网卡驱动编译安装包,CDlinux网卡驱动的编译、安装、集成
  20. 山东计算机专业的在职硕士,2019年山东科技大学在职研究生计算机技术专业关于招生方面的信息是什么...

热门文章

  1. SAP License:会计->用友->金蝶->SAP,我的工作历程
  2. SAP License:CO第一夜-成本要素会计
  3. svn:Cannot negotiate authentication mechanism
  4. Java中的数组和List
  5. ThinkPHP之add、save无法添加、修改的解决方案
  6. Elasticsearch增删改查 之 —— Delete删除
  7. php用魔术方法__call实现类函数重载
  8. 转:关于数据库压缩技术的Survey
  9. C# Post接收发送XML
  10. oracle存储过程中update不成功的一个原因