文件名称:表达式求值(采用栈实现)
文件大小:3KB
文件格式:ZIP
更新时间:2019-11-05 11:10:17
表示求值
利用栈实现算术表达式的求值,表达式中可包含加+、减(负) -、乘*、除/、 乘方^、括号( )运算符,操作数可以为浮点数。 可采用直接求中缀表达式的方法, 也可采用先转换成后缀表达式后再求值的方法(参看课件) 。 实现时需注意如下: ( 1)带小数点的数值生成 ( 理解整数数值的生成,小数部分的处理与之类似)。 ( 2)考虑负号的情况。负号与减号形式上一样,如何区分? • 输入的表达式串中第 1 个字符是’-’ – 可断定此’-’是负号 • 其余的’-’ – 若紧接在’(’之后的’-’可断定是负号 ( 3)负号的处理 • 方法 1:若已断定是负号,可先压入数值 0 进入操作数栈,如此,可 将负号看作减号。 • 方法 2: 若已断定是负号,则紧接其后的数字字符转换成数值后,要 将其对应的相反数(负数)压入操作数栈
【文件预览】:
表达式求值
----Sqstack.cpp(1KB)
----other.cpp(2KB)
----Sqstack.h(1KB)
----表达式求值.dsw(528B)
----ExpressionTestApp.cpp(510B)
----other.h(270B)