5中基本的C++算术运算符:
- + 运算符对操作数执行加法运算,例如,4+20等于24。
- - 运算符从第一个数中减去第二个数,例如,12-3等于9。
- * 运算符将操作数相乘,例如,28*4等于112。
- / 运算符用第一个数除以第二个数,例如,1000/5等于200。如果两个操作数都是整数,则结果为商的整数部分,例如,17/3等于5,小数部分被丢弃。
- % 运算符求模,也就是说,它生成第一个数除以第二个数后的余数,例如19%6为1,两个操作数必须都是整型,将该运算符用于浮点数将导致编译错误。如果其中一个是负数,则结果的符号满足如下规则:(a/b)*b+a%b=a。
//arith.cpp -- some C++ arithmetic
#include <iostream>
int main()
{
using namespace std;
float num_a, num_b;
cout.setf(ios_base::fixed, ios_base::floatfield);
cout << "Enter a number:";
cin >> num_a;
cout << "Enter another number:";
cin >> num_b;
cout << "num_a = " << num_a << "; num_b = " << num_b << endl;
cout << "num_a + num_b = " << num_a + num_b << endl;
cout << "num_a - num_b = " << num_a - num_b << endl;
cout << "num_a * num_b = " << num_a * num_b << endl;
cout << "num_a / num_b = " << num_a / num_b << endl;
return 0;
}
算术运算符遵循通常的代数优先级,先乘除,后加减,也可以使用括号来执行自定义的优先级。当两个运算符的优先级相同时,C++将看操作数的结合性是从左到右,还是从右到左。注意:当且仅当另个运算符被用于同一个操作数时,优先级和结合性规则才有效。
下面的程序实例展示了求模运算符的作用:
//modulus.cpp -- uses % operator to convert lbs to 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; //利用整数除法,先求出英镑可以完整转换为stone的数
int pounds = lbs % Lbs_per_stn; //利用求模运算符,求出英镑中不足以转换为1个stone的数
cout << lbs << " pounds are " << stone
<< " stone, " << pounds << " pound(s).";
cout << endl;
return 0;
}