理解运算符的操作

在数学中,运算是一种数学运算,它包含零或多个输入值(称为操作数),以产生输出值。常用操作(如加法)使用表示操作的特殊符号(如+)。这些符号称为运算符。编程人员的工作方式相同,但名称可能并不总是符号。运营商的工作类似于函数,输入参数并返回一个值,但它们更简明。例如,4 + 2 * 3是读比添加更容易(4,多(2, 3))!


为了正确地评估表达式,如4 + 2 * 3,我们必须理解运算符的操作,以及正确地应用它们的顺序。运算符在复合表达式中计算的顺序称为运算符优先级。使用正常的数学优先规则(在乘法之前,先解决乘法),我们知道上面的表达式应该求值为4 +(2×3),生成值10。


在C++中,当编译器遇到一个表达式,它必须分析和确定的表达应该如何进行评估。为了帮助这一点,所有操作符都被赋予了优先级。那些优先级最高的人首先被评估。您可以在下面的表中看到乘法和除法(优先级5)比加法和减法具有更高的优先级(优先级6)。编译器使用这些级别决定如何评估它遇到的表达式。

2
3
4
5
6
7
8
9
10
11
12
13
14
// note: exp must be non-negative
int 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部分——如果你需要复习一下一元运算符和二进制运算符,请先看一下运算符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值