运算符优先级

逆波兰表示

心不动则不痛 提交于 2019-12-02 01:49:26
逆波兰表达式 一篇很好的文章 表达式一般由操作数(Operand)、运算符(Operator)组成,例如算术表达式中,通常把运算符放在两个操作数的中间,这称为 中缀表达式(Infix Expression) ,如A+B。 波兰数学家Jan Lukasiewicz提出了另一种数学表示法,它有两种表示形式: 把运算符写在操作数之前,称为 波兰表达式(Polish Expression)或前缀表达式(Prefix Expression) ,如+AB; 把运算符写在操作数之后,称为 逆波兰表达式(Reverse Polish Expression)或后缀表达式(Suffix Expression) ,如AB+; 其中,逆波兰表达式在编译技术中有着普遍的应用。 逆波兰表达式是一种后缀表达式,不同与我们常见的中缀表达式。 逆波兰记法中,操作符置于操作数的后面。例如表达“三加四”时,写作“3 4 +”,而不是“3 + 4”。如果有多个操作符,操作符置于第二个操作数的后面,所以常规中缀记法的“3 - 4 + 5”在逆波兰记法中写作“3 4 - 5 +”:先3减去4,再加上5。 使用逆波兰记法的一个好处是不需要使用括号 。例如中缀记法中“3 - 4 5”与“(3 - 4) 5”不相同,但后缀记法中前者写做“3 4 5 -”,无歧义地表示“3 (4 5 ) −”;后者写做“3 4 - 5 *”。

C 储存类与运算符

折月煮酒 提交于 2019-12-01 20:18:45
储存类 参考链接: https://www.runoob.com/cprogramming/c-storage-classes.html 存储类定义 C 程序中变量/函数的范围(可见性)和生命周期 auto储存类 auto 存储类是所有局部变量默认的存储类。 register 存储类 register 储存类用于定义可能储存在寄存器中的变量,这用于定义经常访问的如计数器 static储存类 即定义全局变量 static 用于定义能在程序运行过程中都有效的变量,而不必使编译器在每次进入和跳出这个变量的作用域时创建和销毁变量。 extern储存类 用于提供一个全局变量的引用 应用于两个文件中相同变量的定义 运算符 参考链接: https://www.runoob.com/cprogramming/c-operators.html int a=10; c=a++;//c的值是10,因为先赋值后运算 int a=10; c=++a;//c的值是11,先运算后赋值 关系运算符 关系运算符用来判断大小是否相等 逻辑运算符 &&与 ||或 位运算符 对值进行按位运算,结果的位数仍和原来的位数相等 &按位逻辑与 |按位逻辑或 ^按位 异或 运算符 异或(先求反,在进行或运算) ~按位取反 <<左移两位 0011 0000<< 的结果是1100 0000 右移两位 赋值运算符 形如+=、-=、*=、

从简易计算器到科学计算器

大兔子大兔子 提交于 2019-12-01 18:53:48
整体思路保持不变,先对表达式分析,将其转化为若干运算单元(运算单元表示一个广义运算符或者一个操作数),然后根据运算单元的列表对表达式求值。 变化点 一元运算符的处理 先前的简易计算器表示运算的运算符只有加减乘除、正负号,正负号虽然是一元运算符,但做了特殊处理(直接将紧跟其后的操作数的正负性做出相应的改变,当引入高于正负号优先级的乘方阶乘后就变为了错误的做法)。 科学计算器新引入了阶乘、sin、cos、tan、ln、log、sqrt这些一元运算符,也要求能够更好的处理一元运算符。 运算符数量大大增加 运算符数量增加,将会加大修改运算符优先级比较矩阵的难度,如果每新增支持一种新的运算就去修改这个矩阵,显然过于繁琐,因此采用了一种基于规则的比较方式。 代码量增加 随着代码量的增加,需要对项目重构。 项目结构 主要代码位于cn.zhikaizhang.algorithm和cn.zhikaizhang.main两个包下。前者是算法,后者是界面与交互。 package class description cn.zhikaizhang.algorithm Calculator 表达式求值 cn.zhikaizhang.algorithm ExpressionIllegalException 表达式不合法异常类 cn.zhikaizhang.algorithm ExpressionParser

运算符的基本概念以及常用Scanner、随机数Random、选择结构的初步了解

十年热恋 提交于 2019-12-01 17:36:55
运算符 分类 算术运算符 位运算符 关系运算符|比较运算符 逻辑运算符 条件运算符 赋值运算符 其中优先级顺序从上到下,可以记忆口诀: 单目乘除位关系,逻辑三目后赋值 操作数: 运算符左右两边的数 表达式: 运算符连接操作数整体叫做表达式 语句: 分号代表语句的结束 单目|一元运算符: 操作数为1个 +号 ++ -- 双目|二元运算符: 操作数为2个 + - * / 三目|三元运算符: 条件运算符 算术运算符 +号: 正号(可省略) 加法运算 字符串的连接 如果+左右两边有字符串的出现"",+就是作为字符串的连接符使用,把两边的内容拼接成为一整个字符串使用 -号: 符号 减法运算 此外,还有* / % % 模以,取模,求余数 ++ -- ++,--操作自己 无论++在前还是在后,自己加一 无论--在前还是在后,自己减一 ++,--操作别人 ++在前,先自己加一在参与运算 ++在后,先参与运算在自己加一 --同理 赋值运算符 基础赋值运算符 = 是java中唯一一个自右向左运算的符号优先级最低 扩展赋值运算符 += a+=b; ==> a=a+b;-=同理 a =b; ==> a=a b; /=、%=同理 推荐使用扩展赋值运算符 优点: 执行效率高 缺点: 不直观 关系运算符 符号:> < >= <= 可以参与运算的类型:byte short int long float

结对编程(java实现)

寵の児 提交于 2019-12-01 14:18:56
1、GitHub地址: https://github.com/zhongxiao136/Myapp 队友:蔡莤玲 Github地址: https://github.com/caiyouling/Myapp 2.PSP表格 PSP Personal Software Process Stages 预计耗时(分钟) 实际耗时(分钟) Planning 计划 40 30 .Estimate .估计这个任务需要多少时间 40 30 Development 开发 1320 1330 .Analysis .需求分析 100 120 .Design Spec .生成设计文档 40 30 .Design Review .设计复审 15 20 .Coding Standard .代码规范 15 20 .Design .具体设计 90 100 .Coding .具体编码 850 950 .Code Review .代码复审 90 90 .Test .测试(自我测试,修改代码,提交修改) 120 130 Reporting 报告 180 160 .Test Report .测试报告 90 80 .Size Measurement .计算工作量 30 40 .Postmortem&Process Improvement Plan .事后总结,并提出过程改进计划 60 40 合计 1540 1520

结队编程--java实现

北城余情 提交于 2019-12-01 14:13:50
1、GitHub地址: https://github.com/caiyouling/Myapp 队友:钟小敏 GitHub地址: https://github.com/zhongxiao136/Myapp 2.PSP表格 PSP Personal Software Process Stages 预计耗时(分钟) 实际耗时(分钟) Planning 计划 40 30 .Estimate .估计这个任务需要多少时间 40 30 Development 开发 1320 1330 .Analysis .需求分析 100 120 .Design Spec .生成设计文档 40 30 .Design Review .设计复审 15 20 .Coding Standard .代码规范 15 20 .Design .具体设计 90 100 .Coding .具体编码 850 950 .Code Review .代码复审 90 90 .Test .测试(自我测试,修改代码,提交修改) 120 130 Reporting 报告 180 160 .Test Report .测试报告 90 80 .Size Measurement .计算工作量 30 40 .Postmortem&Process Improvement Plan .事后总结,并提出过程改进计划 60 40 合计 1540 1520

结对编程作业(JAVA实现)

流过昼夜 提交于 2019-12-01 14:11:07
github地址: https://github.com/IMFatDragon/sizeyunsuan.git 完成者: 周惠龙 3117004638 陈浩峰 3117004603 一、项目相关要求 使用 -n 参数控制生成题目的个数,例如 SiZeYunSuan.exe -n 10 将生成10个题目。 (完成) 使用 -r 参数控制题目中数值(自然数、真分数和真分数分母)的范围,例如 SiZeYunSuan.exe -r 10 将生成10以内(不包括10)的四则运算题目。 (完成) 生成的题目中计算过程不能产生负数,即算术表达式中如果存在形如e 1 − e 2 的子表达式,必须e 1 ≥ e 2 。 (完成) 生成的题目中如果存在形如e 1 ÷ e 2 的子表达式,那么其结果应是真分数。 (完成) 每道题目中出现的运算符个数不超过3个。 (完成) 程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。 (完成) 生成的题目存入执行程序的当前目录下的Exercises.txt文件,格式如下: (完成)       1. 四则运算题目1       2. 四则运算题目2       ……      其中真分数在输入输出时采用如下格式,真分数五分之三表示为3/5,真分数二又八分之三表示为2'3/8。 在生成题目的同时

结对项目

半世苍凉 提交于 2019-12-01 14:08:10
一,Github项目地址: https://github.com/candy07213/MyAPP https://github.com/Moyjing/Myapp 结对成员:3217004686 莫怡静 3217004687 唐小艳 二,PSP表格: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 50 65 · Estimate · 估计这个任务需要多少时间 50 65 Development 开发 1770 2045 · Analysis · 需求分析 (包括学习新技术) 150 130 · Design Spec · 生成设计文档 60 55 · Design Review · 设计复审 (和同事审核设计文档) 40 60 · Coding Standard · 代码规范(为目前的开发制定合适的规范) 40 50 · Design · 具体设计 120 100 · Coding · 具体编码 1200 1450 · Code Review · 代码复审 70 90 · Test · 测试(自我测试,修改代码,提交修改) 90 110 Reporting 报告 160 140 · Test Report · 测试报告 90 80 · Size Measurement · 计算工作量

Myapp

对着背影说爱祢 提交于 2019-12-01 14:05:40
一、github地址:https://github.com/jianghailing/rjgcsecondwork 二、PSP表格: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 40 · Estimate · 估计这个任务需要多少时间 30 35 Development 开发 1000 1130 · Analysis · 需求分析 (包括学习新技术) 60 60 · Design Spec · 生成设计文档 40 40 · Design Review · 设计复审 (和同事审核设计文档) 20 20 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 30 · Design · 具体设计 60 80 · Coding · 具体编码 1000 1350 · Code Review · 代码复审 30 40 · Test · 测试(自我测试,修改代码,提交修改) 60 90 Reporting 报告 40 40 · Test Report · 测试报告 30 30 · Size Measurement · 计算工作量 20 20 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30

结对编程

非 Y 不嫁゛ 提交于 2019-12-01 14:05:04
作者:蒋权 陈庆生 一,Github地址: https://github.com/Cercis-chinensis/PTESSM 二,PSP2.1表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 150 120 · Estimate · 估计这个任务需要多少时间 150 120 Development 开发 1680 2280 · Analysis · 需求分析 (包括学习新技术) 60 60 · Design Spec · 生成设计文档 150 250 · Design Review · 设计复审 (和同事审核设计文档) 30 130 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 30 · Design · 具体设计 120 150 · Coding · 具体编码 1200 1500 · Code Review · 代码复审 60 80 · Test · 测试(自我测试,修改代码,提交修改) 40 80 Reporting 报告 90 120 · Test Report · 测试报告 50 80 · Size Measurement · 计算工作量 20 20 · Postmortem & Process Improvement Plan ·