软考程序设计语言基础知识教程 (软考中级程序语言基础)

程序设计语言与语言处理程序基础

内容提要

  • 编译与解释
  • 文法
  • 正规式
  • 有限自动机
  • 表达式
  • 传值与传址
  • 多种程序语言特点

编译过程

软考系统集成和软件设计,软考程序设计

文法定义

软考系统集成和软件设计,软考程序设计

软考系统集成和软件设计,软考程序设计

语法推导树

一棵语法树应具有以下特征:

1、每个结点都有一一个标记,此标记是V的一个符号;

2、根的标记是S;

3.若一结点n至少有一个它自己除外的子孙,并且有标记A,则A肯定在VN中:

4如果结点n的直接子孙,从左到右的次序是结点n1, n2,..nk,其标记分别是:A1,A2,...,Ak那么A->A1,A2,...Ak,一定是P中的一个产生式。

例:

软考系统集成和软件设计,软考程序设计

有限自动机(重点)

软考系统集成和软件设计,软考程序设计

软考系统集成和软件设计,软考程序设计

正规式

正规式是描述程序语言单词的表达式,对于字母∑,其上的正规式及其表示的正规集可以递归定义如下。

①ε是一个正规式,它表示集合L(ε)={ε}。
②若a是∑上的字符,则a是一个正则式,它所表示的正规L(a)={a}。
③若正规式r和s分别表示正规集L(r)=L(s),则
(a)r|s是正规式,表示集合L(r)UL(s);
(b)r.s是正规式,表示集合L(r)L(s); 
(c)r*是正规式,表示集合(L(r))*;
(d)(r)是正规式,表示集合L(r)。

仅由有限次地使用上述三个步骤定义的表达式才是∑上的正规式。由此可见,正规式要么为空,要么由字母、或、连接、闭包运算符组成。其中闭包运算符“*”具有最高的优先级,连接运算具有次高优先级,或运算符“|"具有最低优先级。

文法推导与正规式例题

软考系统集成和软件设计,软考程序设计

(1):D (2):C

有限自动机例题

例题:

下图所示为一个有限自动机(其中,A是初态、C是终态),该自动机可识别(C)。

软考系统集成和软件设计,软考程序设计

A:0000 B:1111

C:0101 D:1010

程序语言基础-表达式

  • 前缀表达式(+ab)
  • 中缀表达式(a+b)
  • 后缀表达式(ab+)

软考系统集成和软件设计,软考程序设计

例题:

表达式(a-b)*(c+5)的后缀式是(D)。

A:a b c 5 + * -

B:a b - c + 5 *

C:a b c - * 5 +

D:a b - c 5 + *

软考系统集成和软件设计,软考程序设计

函数调用-传值与传址

(重点)

软考系统集成和软件设计,软考程序设计

软考系统集成和软件设计,软考程序设计

函数的调用

传值

软考系统集成和软件设计,软考程序设计

输出结果是:4 3 3 4

传址

软考系统集成和软件设计,软考程序设计

输出结果:4 3 4 3

函数的调用

软考系统集成和软件设计,软考程序设计

程序语言基础-各种程序语言特点

1.Fortran语言(科学计算,执行效率高)

2.Pascal语言(为教学而开发的,表达能力强, Delphi )

3.C语言(指针操作能力强,高效)

4.Lisp语言(函数式程序语言,符号处理,人工智能5.C++语言(面向对象,高效)

6.Java语言(面向对象,中间代码,跨平台)

7.C#语言(面向对象,中间代码,.Net)

8.Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)

9.python语言(面向对象,简单易懂,人工智能,大数据,现上升较快)

更多软考自查可在我的"文章"中查看!!!