理解运算符的操作
来源:互联网 发布:永恒之柱 知乎 编辑:程序博客网 时间:2024/06/05 02:43
在数学中,运算是一种数学运算,它包含零或多个输入值(称为操作数),以产生输出值。常用操作(如加法)使用表示操作的特殊符号(如+)。这些符号称为运算符。编程人员的工作方式相同,但名称可能并不总是符号。运营商的工作类似于函数,输入参数并返回一个值,但它们更简明。例如,4 + 2 * 3是读比添加更容易(4,多(2, 3))!
为了正确地评估表达式,如4 + 2 * 3,我们必须理解运算符的操作,以及正确地应用它们的顺序。运算符在复合表达式中计算的顺序称为运算符优先级。使用正常的数学优先规则(在乘法之前,先解决乘法),我们知道上面的表达式应该求值为4 +(2×3),生成值10。
如果您还不了解这个函数的所有部分,请不要担心。只要小心溢出整数结果,如果两个参数都很大,可能会很快发生。
测验
1)从日常数学中知道,括号内的表达式首先得到求值。例如,在表达式(2 + 3)* 4中,首先对(2 + 3)部分求值。
对于这个练习,你将得到一组没有括号的表达式。使用运算符的优先级和结合性上面表中的规则,添加括号每个表达清楚编译器如何将计算表达式。
提示:使用上面表中的模式列来确定操作符是一元(有一个操作数)还是二进制(有两个操作数)。复习第1.5部分——如果你需要复习一下一元运算符和二进制运算符,请先看一下运算符。
为了正确地评估表达式,如4 + 2 * 3,我们必须理解运算符的操作,以及正确地应用它们的顺序。运算符在复合表达式中计算的顺序称为运算符优先级。使用正常的数学优先规则(在乘法之前,先解决乘法),我们知道上面的表达式应该求值为4 +(2×3),生成值10。
在C++中,当编译器遇到一个表达式,它必须分析和确定的表达应该如何进行评估。为了帮助这一点,所有操作符都被赋予了优先级。那些优先级最高的人首先被评估。您可以在下面的表中看到乘法和除法(优先级5)比加法和减法具有更高的优先级(优先级6)。编译器使用这些级别决定如何评估它遇到的表达式。
234567891011121314// note: exp must be non-negativeint pow(int base, int exp){ int result = 1; while (exp) { if (exp & 1) result *= base; exp >>= 1; base *= base; } return result;}
如果您还不了解这个函数的所有部分,请不要担心。只要小心溢出整数结果,如果两个参数都很大,可能会很快发生。
测验
1)从日常数学中知道,括号内的表达式首先得到求值。例如,在表达式(2 + 3)* 4中,首先对(2 + 3)部分求值。
对于这个练习,你将得到一组没有括号的表达式。使用运算符的优先级和结合性上面表中的规则,添加括号每个表达清楚编译器如何将计算表达式。
提示:使用上面表中的模式列来确定操作符是一元(有一个操作数)还是二进制(有两个操作数)。复习第1.5部分——如果你需要复习一下一元运算符和二进制运算符,请先看一下运算符。
阅读全文
0 0
- 理解运算符的操作
- 为了理解的位操作运算符
- 运算符的理解
- 二元运算符<<的理解
- JS按位非(~)运算符与~~运算符的理解分析
- C#的基本位运算符理解
- 移位运算符例子的理解
- 关于sizeof运算符的一些理解
- sql 表运算符的理解
- 关于++和--运算符的理解
- 重载输入输出运算符引用的理解
- reinterpret_cast类型转换运算符的理解
- 自己对于 “位运算符” 的理解
- 对于java中运算符‘%’的理解
- &&运算符的三个层次理解
- 一些特殊运算符的理解
- 三目运算符的理解
- 卷积运算的理解
- [知了堂学习笔记] java_入门
- 《看透springMVC源码》之Connector分析
- linux下tomcat开机自启
- crontab 计划任务
- 卷积神经网络CNN讲解
- 理解运算符的操作
- 监控Java对象回收的原理与实现
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)【solved:10 / 10】
- Python系列干货之Python与设计模式!
- c++并发编程实战(C++11)pdf 高清
- java9的REPL环境--JShell
- linux最大文件句柄数量总结
- Linux VIM编辑器常用命令
- navicat 连接不上数据库(一台机器 访问 另外一台机器)