C++/MFC 算术表达式求值
综合实验 1 算术表达式求值
课程名称:
《数据结构与算法(C++描述)》
实验名称:
综合实验 1 算术表达式求值
实验环境:
Visual C++ / Dev-C++等支持C++的集成开发环境。
问题描述和基本要求:
1、 从键盘上输入中缀算术表达式,包括括号,计算出表达式的值;
2、 程序能对所输入的表达式作简单的判断,如表达式有错,能给出适当的提示;
3、 能处理单目运算符:+、-;
4、 撰写实验报告。
分析与提示:
1、各种运算符优先级
运算符
优先级
1 ´=´
2 ´(´、´) ´
3 ´+´、´-´
4 ´*´、´/´、´%´
5 ´^´
2、对于中缀表达式,一般运算规则如下:
(1)先乘方,再乘除,最后加减;
(2)同级运算从左算到右;
(3)先括号内,再括号外。
3、上面讨论的+、-为双目运算符,如为单目运算符,编程实现时,可在前面加上0而转化为双目运算符。
4、测试时,应注意尽量覆盖算法的各种情况
输入表达式:
-2*(3+5)+2^3/4=
-14
是否继续(y,n)? y
输入表达式:
2^4/8-(+2+8)%3=
1
是否继续(y,n)?
输入表达式:
2 3 5+6=
提示:表达式出错
5、结语:表达式求值是编译系统中要解决的基本问题,是栈的典型应用,各位通过上机具体
实现,才能提高对软件甚至系统软件的领悟;按同样的思路,在学编译原理时,最好自己开
发一个简单的编译器,在学操作系统原理时,实现一个简化版的操作系统。
源码传送门
传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
标签:MFC,算术,C++,运算符,求值,表达式 From: https://www.cnblogs.com/codewriter/p/16954037.html