🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 2.7 操作符 **操作符**是特别的符号,用于表示简单的计算,比如加法和乘法。C++中大部分的操作符都会按照你所期望的去做,因为它们都是常用的数学符号。例如,用于两个整数相加使用的操作符是+。 以下都是合法的c++表达式,它们的含义几乎都是很明显的: ~~~ 1+1 hour-1 hour*60 + minute minute/60 ~~~ 表达式可以同时包含变量名和整型值。在所有情况下,变量在计算之前都会被它所代表的变量值所替代。 加法、减法和乘法都和你预期的相同,但是你可能会对除法感到奇怪,例如以下程序: ~~~ int hour,minute; hour = 11; minute = 59; cout << "Number of minutes since midnight: "; cout << hour*60 + minute << endl; cout << "Fraction of the hour that has passed: "; cout << minute/60 << endl; ~~~ 这段程序会得到以下输出: ~~~ Number of minutes since midnight: 719 Fraction of the hour that has passed:0 ~~~ 第一行是我们所预料的结果,但是第二行有些奇怪。变量minute的值是59,59被60除得到0.98333,而不是0。产生这种差异的原因在于C++采用的是**整型除法**。 当两个操作数都是整数时(操作数即操作符操作的对象),结果必须同样是整数,定义整数除法总是向下圆整,即便结果与上面一个整数更接近。 ~~~ cout << "Percentage of the hour that has passed: "; cout << minute*100/60 << endl; ~~~ 结果是: ~~~ Percentage of the hour that has passed: 98 ~~~ 结果再一次被向下取整,但至少现在答案是近似正确的。为了得到一个更精确的答案,我们可以使用另外一种变量类型,称为浮点型,它可以存储浮点数。下一章我们会讨论它。