程序语言基础

1.基础知识

低级语言:机器语言、汇编语言

高级语言:

  汇编程序

  编译程序:1.生成目标程序OBJ;2.执行OBJ文件   效率高,占用资源小;兼容性差

  解释程序:每个语句逐一解释执行    可移植性好,开发速度快,与用户通讯方便;效率低

 

2.编译系统基本原理(3-5分)

编译程序:

  6个阶段:

    词法分析(关键字、标识符、常量、运算符、界符……)

    语法分析(表达式、赋值、循环,是否符合语法规则),语句的语法是否逻辑正确(自上而下分析法、自下向上分析法)

    语义分析(类型分析、检查),赋值语句左右端的类型是否匹配,除数是否为0……

    中间代码生成(逆波兰式、四元式、三元式、树),代码方式与具体的机器无关,可移植性,简单且明确的记号系统

    代码优化(变换、改造),更省时间、空间

    目标代码生成(变换成特定机器上的绝对指令代码,可重定位的指令代码、汇编指令代码),与硬件系统的结构、指令的含义有关

  状态转换图:状态转换机

  

  正规表达式:正规式

  确定的有限状态机;DFA

  不确定的有限状态机:NFA

  

3.程序语言的控制结构

表达式:前缀表达式(波兰表示法,从右向左扫)、中缀表达式(中缀记法)、后缀表达式(逆波兰法,从左至右)

操作符优先级:

  (1)指针最优,单目运算优于双目运算(正负号)

  (2)先乘除,后加减

  (3)先算数运算,后移位运算,最后位运算 1<<3+2&7    (1<<(3+2))&7

  (4)逻辑运算最后运算

过程控制:

  传值调用:数据传送是单向的(实参指向形参,形参无法返回实参)

  引用调用(地址调用):数据传送是双向的

 

posted @ 2016-08-22 08:15  PanPan003  阅读(259)  评论(0编辑  收藏  举报