学习C++ – C++算术运算符
C++具有五个基本算术运算的运算符:加法,减法,乘法,除法和取模。
这些运算符中的每一个使用两个称为操作数的值来计算最终答案。
一起,运算符及其操作数构成一个表达式。
例如,考虑以下语句:
int result = 4 + 2;
值4和2是操作数,+符号是加法运算符,4 + 2是一个值为6的表达式。
这里是C++的五个基本算术运算符:
- + 运算符添加其操作数。
- – 运算符从第一个运算符中减去第二个操作数。
- * 运算符乘以其操作数。
- / 运算符将其第一个操作数除以第二个。
- % 运算符产生将第一个除以第二个的余数。
% 运算符仅使用整数。
例子
以下代码执行一些C ++算术。
#include <iostream>
using namespace std;
int main()
{
float hats, my_head;
cout.setf(ios_base::fixed, ios_base::floatfield); // fixed-point
cout << "Enter a number: ";
cin >> hats;
cout << "Enter another number: ";
cin >> my_head;
cout << "hats = " << hats << "; my_head = " << my_head << endl;
cout << "hats + my_head = " << hats + my_head << endl;
cout << "hats - my_head = " << hats - my_head << endl;
cout << "hats * my_head = " << hats * my_head << endl;
cout << "hats / my_head = " << hats / my_head << endl;
return 0;
}
上面的代码生成以下结果。
除法运算符
除法运算符(/)的行为取决于操作数的类型。
如果两个操作数都是整数,则C++执行整数除法。
这意味着答案的任何小数部分被丢弃,使结果成为整数。
如果一个或两个运算符数是浮点值,则保留小数部分,使结果浮点。
以下代码说明了C++部分如何与不同类型的值一起使用。
#include <iostream>
int main()
{
using namespace std;
cout.setf(ios_base::fixed, ios_base::floatfield);
cout << "Integer division: 9/4 = " << 9 / 4 << endl;
cout << "Floating-point division: 9.0/4.0 = ";
cout << 9.0 / 4.0 << endl;
cout << "Mixed division: 9.0/4 = " << 9.0 / 4 << endl;
cout << "double constants: 1e7/9.0 = ";
cout << 1.e7 / 9.0 << endl;
cout << "float constants: 1e7f/9.0f = ";
cout << 1.e7f / 9.0f << endl;
return 0;
}
上面的代码生成以下结果。
模运算符
模运算符返回整数除法的余数。
以下代码使用%操作符将lbs转换为stone。
#include <iostream>
int main()
{
using namespace std;
const int Lbs_per_stn = 14;
int lbs;
cout << "Enter your weight in pounds: ";
cin >> lbs;
int stone = lbs / Lbs_per_stn; // whole stone
int pounds = lbs % Lbs_per_stn; // remainder in pounds
cout << lbs << " pounds are " << stone
<< " stone, " << pounds << " pound(s).\n";
return 0;
}
上面的代码生成以下结果。
递增(++)和递减( — )运算符
你已经看到两个:增量运算符(++),和减量运算符(–)。
每个运算符有两个种类。
前缀版本在运算符之前,如在++x中。
后缀版本在运算符之后,如在x++中。
这两个版本对运算符具有相同的效果,但它们在何时发生时有所不同。
以下代码演示了增量运算符的这种差异。
#include <iostream>
using std::cout;
int main(){
int a = 20;
int b = 20;
cout << "a = " << a << ": b = " << b << "\n";
cout << "a++ = " << a++ << ": ++b = " << ++b << "\n";
cout << "a = " << a << ": b = " << b << "\n";
return 0;
}
a++意味着“在评估表达式中使用当前值a,然后增加a的值”。
++b表示“首先递增b的值,然后在评估表达式时使用新值。”
上面的代码生成以下结果。