ImageVerifierCode 换一换
格式:DOC , 页数:2 ,大小:27.50KB ,
资源ID:7659826      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7659826.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vc-表达式编译过程:自增自减连用的问题,复杂表达式求解与表达式计算器.doc)为本站会员(yjrm16270)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

vc-表达式编译过程:自增自减连用的问题,复杂表达式求解与表达式计算器.doc

1、vc-表达式编译过程:自增自减连用的问题,复杂表达式求解与表达式计算器(很多 c /c+教材或者考试中都出现过自增自减连用的复杂表达式,很多时候这种表达式的结果往往和我们锁预料的大相径庭。所以我花了一些时间去了解了 vc 平台下的表达式编译过程,成功求出了我所遇到的任何表达式的值,从此不怕此类问题的刁难。)vc 对表达式的求解过程是递归的,求解过程如下:一、它按照优先级表,从低到高地查找表达式中的运算符。二、每找到一个运算符(比如+号),则按照结合方向和目数(单目,双目,三目)将表达式分为几个部分并准备计算(因为+是双目运算符,所以以+为分界分开左右两个部分,接下来必须先求出左右两个值之后才能

2、求+),如果没有,转四。三、计算时如果一个运算符的操作数又是一个表达式,则转向第一步,按从低到高顺序查找运算符,这样直到所有操作数都求解完毕后计算运算符的值,也就是在此递归。如果运算符的操作数都已得到具体值,那就求出这个运算符的结果。四、然后查找更高优先级的运算符,转二。注:vc 在第一次查找时就把有先使用再自增(自减)地方直接去掉自增(自减)符号了,也就是说比如 a+,a-这样的符号出现在表达式中时,直接当成 a 进行计算,直到整个表达式的值都求出后,再计算自增自减。例 1:int a=5,b;b=+a*+a*+a;首先找到有最低优先级的*号,两个*把表达式分成 3 个部分,其中第一部分与第

3、二部分就是第一个*的操作数(因为*的结合性自左向右),现在需要将这两个操作数都计算完才能计算*的值,所以+a 又+a 得到 a=7,现在 a*a=49 了。对于第二个*,因为左边的操作数已知,所以求右边的操作数:+a 得到 a=8所以 49*a=392。例 2:int a=5 b;b=a+*a+*a+;因为 a+要先使用再自增,所以先剔除+。也就是 b=a*a*a 得 125,然后算a+,a+,a+得 a=8。例 3:b=a+*-a+a-*+a;剔除后置的+-后得到等价表达式:b=a*-a+a*+a; a+; a-;于是第一次运算以+为分界表达式被分成(a*-a)与(a*+a)两段(a*-a)中以*为分界把表达式分成 a 与-a 两段左侧已知 a=5,右侧-a 得到 a=4于是上式变为 a*a=16。这里很多人仍然不明白为什么不是 5*4=20 而是 4*4。原因是要计算*就必须知道*两边的具体值,当两边的值都求出时,a 已经变为 4 了,而左边曾经的 5 并没有被 vc 寄存,所以左边的 a 同样是 4。同理(a*+a)中以*为分界把表达式分成 a 与+a 两段左侧已知 a=4,右侧+a 得到 a=5于是上式变为 a*a=16现在 16+25=41利用类似的原理我们就可以编写表达式计算器了,也就是按照一定语法输入表达式进行计算的计算器,根本思想是递归地求解每一个运算符。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报