一、 实验内容
本程序完成了算术表达式的求值以及演示操作。集体实现功能如下:
1.算术表达式的求值,包括加、减、乘、除、乘方、单目减运算;
2.赋值运算,即给某一变量赋值或赋计算表达式;
3.函数表达式求值,即运算量为变量。
4.运算量可以为实数,也可以为整数,只需简单修改宏定义。默认为实数运算。
二、数据结构设计
1. 算符优先法数据结构设计
本程序采用了“算符优先法”,使用两个工作栈。一个称作OPTR,用以寄存运算符;另一个称作OPND,用以寄存操作数或运算结果。此处采用的顺序栈结构如下:
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef strict{
SElemType *base;
SElemType *top;
int stacksize;}SqStack;
。。。。。。。。。。。。。。。
1