与运算
- 15 -
或运算
- 16 -
蕴含运算
等值运算
- 17 -
综合运算
带括号的综合运算
- 18 -
结果分析:
这个程序从功能上来说,达到了题目要求的各个功能,可以运算与,或,非,蕴含,等值条件组成的表达式,并且支持括号运算,所以,总体上来说,虽然还有一些不完善的部分,但是整体是比较可以的。
七. 实验总结
这个实验相对来说是一个不困难的题,一开始想用中序表达式转变为逆波兰式的方法来解决,但是总有一些零零散散的问题困扰,况且对于栈和二叉树之类的东西在学习C语言时接触很少,所以困难更大,经过多次失败后,还是最后用最简单同时也是最麻烦的方法来解决这个问题。利用函数一步步来解决,所以在个别功能上来说有一些不完美,比如纠错,因为时间有限,有个别地方没有设置出错提示。
也许是很久没看C语言了,导致很多基本的语句都已经并不熟练了,通过这次实验,让我从一定程度上找回了一点以前做课程设计时的感觉。在编程过程中,最重要的其实是对细节方面的把握。
在设计上主要有以下几个问题:
1.优先级的问题,要如何解决优先级的问题,最后我直接用先后执行来解决。
2.括号问题,对于运算来说,解决括号问题很重要,而我是从最内级括号向外层层运算,最后得出结果。
3.真值表问题,真值表利用二进制的原理,递加得到。
4.赋值问题,一开始这个问题困扰了我很久,后来发现直接用一个赋值函数,每次运行都直接运行一次就可以很好的解决了。
这些是在做题时主要遇到的问题。
其实这个题在得出真值的结果之后就可以比较简单的解决了,因为已经有真值表,只要将最后结果分类,并将其分类列出就可以了。
总的来说,本次实验总体上是比较成功的,也让我学到了很多东西。
- 19 -