算数运算
变量、常量通过运算符组合成表达式。不同运算符对应不同的表达式,例如由算术运算符构成的成为算数表达式,由关系运算符构成的成为关系表达式。运算符按照操作数的个数分为一元运算符、二元运算符、三元运算符。
这节我们先看算数运算符与算数表达式。C++基本的算数运算有加(+),减(-),乘(*),除(/)和取余(%),这些都是二元运算符,需要前后两个操作数。还有四个运算符:取正(+),取负(-),递增(++),递减(--),是一元运算符。算数运算优先级是先乘除,后加减,有括号的,先算括号里面的。下面举例说明:
int i=5,j=2,k;
k=(i+j)*i/2-3;
k=i%2;
k=-i;
k=i++;
k=++i;
k=i--;
k=--i;
第一行定义整型变量i,j,k,并对i和j初始化。第二行,注意'/'前后是整数时商也取整数,这里'(i+j)*i/2'应该等于17,第二行执行后k=14。第三行取余数,k=1。第四行k=-5。
注意递增递减前置与后置是有区别的:前置时,先把变量值加减一,再把此时的变量值作为表达式的值,而后置时先把变量的值作为表达式的结果,再把变量值加或减一。
所以第五行是后置的递增,所以先把i的值作为表达式的结果,所以k=5,然后i再加1,i=6。
第六行是前置的递增,所以先把i的值递增,i=7,再作为表达式的结果,所以k=7。
第七行是后置的递减,所以先把i的值作为表达式的结果,所以k=7,然后i再减1,i=6。
第八行是前置的递减,所以先把i的值递减,i=5,再作为表达式的结果,所以k=5。
在右侧代码框中编写程序:做一个计算器,用户输入两个浮点数,输出两者加减乘除的结果。