加载中...

2.7 操作符


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

结果再一次被向下取整,但至少现在答案是近似正确的。为了得到一个更精确的答案,我们可以使用另外一种变量类型,称为浮点型,它可以存储浮点数。下一章我们会讨论它。


还没有评论.