登录 注册
当前位置:主页 > 资源下载 > 50 > 采用栈实现的表达式求值

采用栈实现的表达式求值

  • 更新:2024-11-04 09:27:38
  • 大小:3KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C/C++ - 课程资源
  • 格式:ZIP

资源介绍

利用栈实现算术表达式的求值,表达式中可包含加+、减(负) -、乘*、除/、 乘方^、括号( )运算符,操作数可以为浮点数。 可采用直接求中缀表达式的方法, 也可采用先转换成后缀表达式后再求值的方法(参看课件) 。 实现时需注意如下: ( 1)带小数点的数值生成 ( 理解整数数值的生成,小数部分的处理与之类似)。 ( 2)考虑负号的情况。负号与减号形式上一样,如何区分? • 输入的表达式串中第 1 个字符是’-’ – 可断定此’-’是负号 • 其余的’-’ – 若紧接在’(’之后的’-’可断定是负号 ( 3)负号的处理 • 方法 1:若已断定是负号,可先压入数值 0 进入操作数栈,如此,可 将负号看作减号。 • 方法 2: 若已断定是负号,则紧接其后的数字字符转换成数值后,要 将其对应的相反数(负数)压入操作数栈