早教吧 育儿知识 作业答案 考试题库 百科 知识分享

编译原理中的“程序的结构通常是由递归规则表示的”是什么意思原句是:程序的结构通常是由递归规则表示的,例如,我们可以用下面的规则来定义表达式:(1)任何标识符是表达式.(2)

题目详情
编译原理中的“程序的结构通常是由递归规则表示的”是什么意思
原句是:
程序的结构通常是由递归规则表示的,例如,我们可以用下面的规则来定义表达式:
(1)任何标识符是表达式.
(2)任何常数(整常数、实常数)是表达式.
(3)若表达式1和表达式2都是表达式,那么:
表达式1+表达式2 表达式1* 表达式2
(表达式1)
都是表达式
不太懂什么是递归表示
是不是说一个表达式和另一个表达式在一起还是一个表达式嗯呢?
可是这样只符合(3)啊,(1)和(2)又说明了什么呢?
▼优质解答
答案和解析
递归都要包含两个内容,第一是初值或者初始条件的选择,第二才是递归关系的表达,也就是递推表达式.如果(1)和(2)没有,递归定义是不完整的.
你肯定学过fibonacci数列以及用递归程序编写fibonacci数列,还有阶乘的例子.如果不定义当n=1时,函数返回值是多少,那么函数递归会进入死循环.这里定义n=1的返回值,和上述的(1)和(2)是一个道理.