运算符顺序
1,需求说明:
本课件演示c 语言的运算顺序,基规则是:先高优先级后低优先级,同级别看结合性,从左向右则先处理左边的后处理右边的;反之,先右后左。在理想状态下输入任何c 语言表达式都能处理,但过于复杂,不现实。为了简化问题可以选择一些有代表的运算符,如:(、)、+、—、*、/、>、>>、!、负号等,要求级别不能单一,且至少有两个为同一级别。操作数类型暂只设整形。
2,设计:
首先滤掉空格,再辨断是否含有非法字符,然后记录每个操作符的标号、优先级、结合性、此运算符在输出字符串的位置。再根据标号找相应的处理函数(用指向函数的指针),并高亮度显示正在处理的部分。
界面和计算器类似,都是基于对话框。增加了几个控件:随机表达式、随机运算符、随机操作数、暂停、设置每步时间间隔、状态栏(实质上是一个编辑框)显示与当前运算符的有关信息。
3,测试:
随机产生一些表达式,copy到一个专门用于测试的小程序上,比较结果是否相同。
main()
{
int x;
x=;
printf("%d\n",x);
}
再用其它方式(键盘、按钮)产生一个表达式,试一试。
总结:
1,必要的话,增加运算符与操作数的种类。
2,增加一些与变量有关的运算符(如“=”)。
3,看是否可以忽略运算数。
2003正月初四