软件设计师——程序设计语言与程序处理基础

涉及到内容

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

一个形式文法是一个有序四元组G=(V,T,S,P),其中:
1)V:非终结符。不是语言组成部分,不是最终结果,可理解为占位符。
2)T:终结符。是语言的组成部分,是最终结果。V∩T=空集
3)S:起始符。是语言的开始符号
4)P:产生式。用终结符替代非终结符的规则。

文法的类型分类

  • 0型(短语文法)
  • 1型(上下文有关文法)
  • 2型(上下文无关文法)
  • 3型(正规文法)

语法推导树(略)

有限自动机

M=(S,∑,δ,S0 ,Z)
1)S是一个有限集,每个元素为一个状态
2)∑是一个有穷字母表,每个元素为一个输入字符
3)δ是转换函数:是一个单值对照
4)S0 属于S,是其唯一的状态
有限状态自动机可以形象地用状态转换图表示,设有限状态自动机:DFA=({S,A,B,C,f},{1,0},δ,S{f})
其中:δ(S,0)=B,δ(S,1)=A,δ(A,1)=C,δ(B,0)=C,δ(B,1)=f,δ(C,0)=f,δ(C,1)=f
在这里插入图片描述
例:
在这里插入图片描述

正规式

正规式式描述程序语言单词的表达式,对于字母∑, 其上的正规式及其表示的正规集可以递归定义如下。
① ε是一个正规式,它表示集合L(ε)={ε}。
② 若a是∑上的字符,则a是一个正规式,它所表示的正规集L(a)={a}。
③ 若正规式r和s分别表示正规集L®、L(s),则
(a)r|s是正规式,表示集合L®∪L(s);
(b)r·s是正规式,表示集合L®L(s);
(c)r是正规式,表示集合(L®)
(d)®是正规式,表示集合L®。
仅由有限次地使用上述三个步骤定义的表达式才是∑上的正规式。由此可见,正规式要么为空,要么由字母、或、连接、闭包运算符组成。其中闭包运算符”*“具有最高的优先级,连接运算具有次高优先级,或运算符”|“具有最低优先级。

根据例题就很好理解文法和正规式概念。
例:(1)D (2)C
在这里插入图片描述

程序语言基础——表达式

前缀表达式(+ab)
中缀表达式(a+b)
后缀表达式(ab+)
在这里插入图片描述

例:表达式(a-b)*(c+5)的后缀表达式是多少?a b - c 5 + *
(技巧,构造出二叉树,然后用遍历的方式)

函数调用——传值与传址

传递方式

  • 传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。
  • 引用(传址)调用:形参取的是实参的地址,即相当于实参存储 单元的地址引用,因此其值的改变同时就改变了实参的值。

例如: void swap (int a ,int b) 和 void swap(int* a,int* b )

程序语言基础——各种程序语言特点
  • Fortran语言(科学计算,执行效率高)
  • Pascal语言(为教学而研发的,表达能力强,Delphi)
  • C语言(指针操作能力强,高效)
  • Lisp语言(函数式程序语言,符号处理,人工智能)
  • C++语言(面向对象,高效)
  • Java语言(面向对象,中间代码,跨平台)
  • C#语言(面向对象,中间代码,.net)
  • Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MelanceXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值