表达式求值是程序设计语言编译中的一个最基本的问题,就是将一个表达式转化为逆波兰表达式并求值。具体要求是以字符序列的形式从终端输入语法正确的、不含变量的整数表达式,并利用给定的优先关系实现对算术四则混合表达式的求值,并演示在求值过程中运算符栈,操作数栈,输入字符和主要操作变化过程。
这是C++基于控制台的表达式计算程序,支持括号,阶乘号,暂不支持三角函数。测试时请输入1000字符内的计算式(按'q'退出)。
源码展示:
其实如果要理清编译原理之类的东西,第一步就是要搞词法分析,有了词法分析,就可以再做语法分析,我文讨论简单的词法分析的一个小例子—算数表达式,这个是我一个网友问到我的问题,虽然脑子里有个大概的思路,要么使用栈模型,要么使用二叉树模型,但思路不是很清晰,花了一些时间来整理了一下思路并形成了代码。
当然想学习C/C++的同学小编这里有一份C/C++得学习资料,加群:1022527323即可获取啦!
声明:本文内容来源于网络,如有侵权请联系删除