这一阶段的课程主要给初学者和零基础的同学准备,让大家快速入门并熟悉C++为后序学习《C++ Primer》做准备,如果您已经具备一定的C++基础,请先忽略这阶段课程,直接等待《C++ Primer》。
C++使用数学运算符创建数学表达式执行计算。常用的数学运算符有+,-,*,/,%。
运算符左右两侧的值称为操作符,数学表达式中可以使用变量也可以使用常量。用数学表达式计算结果时,一般都希望将该值存储到内存,以便在程序中重新使用它,这个就是用赋值语句实现的。
如下所示的一个例子:
/*
Thisprogram gets the user's num1 & num2,
andthen do the calculation.
+- * / %
*/
#include
usingnamespacestd;
intmain(void)
{
//define two var,num1 and num2
intnum1, num2;
intsum;
intsub;
intmul;
intdiv;
intrem;
cout
cin >> num1;
cin >> num2;
sum = num1 + num2;
sub = num1 - num2;
mul = num1 * num2;
div = num1 / num2;
rem = num1 % num2;
cout
cout
cout
cout
cout
return0;
}
加+,减-的运算符很好理解。
要特别注意整数除法,在C++中,整数除法的结果肯定也是整数,例如上述代码中,如果num1 = 17, num2 = 3,赋值语句将17除以3的结果赋给div变量,div的值到底是什么,或许以为是5.6666667,但事实并非如此,由于17和3都是int类型,所以结果中的小数部分会被丢弃。最终将5赋给div变量。
在上述代码中,将div声明为double类型也无济于事,因为结果的小数部分是在赋值前丢弃的。除法运算要保留小数,至少一个操作数必须是浮点数据类型,例如将上述代码修改为:
double div;
div = 17.0 / 3;
17.0被解释成double,所以除法运算正确返回double类型,最终将5.66667赋给div变量。
在C++中,%符号是取余运算符,也称为求模运算符,它执行除法运算,但不是返回商而是返回余。17 % 3的结果是2,就是相当于商5余2,取余运算符在转换时间或距离,检测奇偶等其他操作中非常有用,例如下面代码,要求用户输入秒数,将其转换成小时,分钟和秒。
#include
usingnamespacestd;
intmain(void)
{
intsec;
inthours, minutes, seconds;
cout
cin >> sec;
cout
hours = sec / 3600;
minutes = (sec % 3600) / 60;
seconds = sec % 60;
cout
cout
cout
return0;
}
领取专属 10元无门槛券
私享最新 技术干货