若有括号,则应从里层向外层展开),最后列出所给公式的真值。Р五源程序清单;РA题部分源代码:РB题部分源代码:РC题部分源代码:РD题部分源代码:Р六. 其他收获和体会。Р这个实验分4个题,A类题其实是很简单的,而C类题如果是在B类题的基础上构建,相对来说也是一个不困难的题,所以主要在B类题上花费了大量时间,一开始想用中序表达式转变为逆波兰式的方法来解决,但是总有一些零零散散的问题困扰,况且对于栈和二叉树之类的东西在学习C语言时接触很少,所以困难更大,经过多次失败后,还是最后用最简单同时也是最麻烦的方法来解决这个问题。利用函数一步步来解决,所以在个别功能上来说有一些不完美,比如纠错,因为时间有限,有个别地方没有设置出错提示。Р也许是很久没看C语言了,导致很多基本的语句都已经并不熟练了,通过这次实验,让我从一定程度上找回了一点以前做课程设计时的感觉。在编程过程中,最重要的其实是对细节方面的把握。РA类题的逻辑抽象和编程语言的表达都非常基础,所以能不能把程序的细节考虑完善是非常重要的,有没有输入提示,错误提示等等,这些东西是考验一个人考虑问题的全面性的一个方式,我们应该从现在就养成这样良好的习惯。РB类题,在设计上主要有以下几个问题:Р1.优先级的问题,要如何解决优先级的问题,最后我直接用先后执行来解决。Р2.括号问题,对于运算来说,解决括号问题很重要,而我是从最内级括号向外层层运算,最后得出结果。Р3.真值表问题,真值表利用二进制的原理,递加得到。Р4.赋值问题,一开始这个问题困扰了我很久,后来发现直接用一个赋值函数,每次运行都直接运行一次就可以很好的解决了。Р这些是在做B类题时主要遇到的问题。РC类题,其实这个题在B类题得出结果之后可以比较简单的解决,因为已经有真值表,只要将最后结果分类,并将其分类列出就可以了。Р总的来说,本次实验总体上是比较成功的,也让我学到了很多东西。