- C++中的基本算术运算分为如下5种:加法+和减法-,乘法*和除法/以及求模%
- C++使用运算符(operator)来完成这些算术运算
- 算术运算符都需要用到两个数值来计算结果
- 这两个数值被称作操作数
- 操作数可以是常量,也可以是变量
- C++中,=被称作赋值运算符,代表把表达式的值赋给变量的操作
- 在除法/中,
- 若两个操作数都是整数,则结果只返回商的整数部分
- 若其中至少有一个浮点数,则小数部分将被保留
- %运算符进行求模运算,得到第一个操作数除以第二个操作数后的余数,执行此操作的两个操作数必须都是整数
- 对于算术运算符,遵循的是通常的代数优先级:乘除取模在先,加减运算在后
- C++使用()圆括号对来明确计算的顺序,在()中的表达式具有最高的计算优先级
- 优先级相同的两个运算符,通过结合律来决定计算的先后顺序
- C++中的++其实也是一种运算符,称为自增运算符
- ++运算符只能作用在变量操作数上,可以使该变量的值在原来基础上递增1
- 前缀模式:++出现在其作用的变量前面,例如:++coffee
- 后缀模式:++出现在其作用的变量后面,例如:milk++
Tips:前缀模式与后缀模式的区别在于递增运算的作用时间不同
int coffee_box;
int milk_box;
int coffee = 0;
int milk = 0;
coffee_box = ++coffee; //前缀模式
milk_box = milk++; //后缀模式
printf("coffee_box = %d, coffee = %d. n", coffee_box, coffee);
printf("milk_box = %d, milk = %d. n", milk_box, milk);
运行后程序的输出为:
coffee_box = 1, coffee = 1.
milk_box = 0, milk = 1.
- ++运算符的两种模式都会将对应的变量数值增加1
变量coffee与milk的数值都由初始值0变为了1 - 前缀模式的变量将先于赋值运算符进行递增
coffee_box中的数值被赋值为递增之后的coffee变量值1 - 后缀模式时的变量将后于赋值运算符进行递增
milk_box中的数值被赋值为于递增之前的milk变量值0
- C++中与自增运算对应的是自减运算,使用自减运算符--
- --运算符同样作用在变量操作数上,可以使该变量的值在原来基础上递减1
- 前缀模式:--出现在其作用的变量前面,例如:--beer
- 后缀模式:--出现在其作用的变量后面,例如:wine--
int beer_box;
int wine_box;
int beer = 1;
int wine = 1;
beer_box = --beer; //前缀模式
wine_box = wine--; //后缀模式
printf("beer_box = %d, beer = %d. n", beer_box, beer);
printf("wine_box = %d, wine = %d. n", wine_box, wine);
运行后程序的输出为:
beer_box = 0, beer = 0.
wine_box = 1, wine = 0.
-
--运算符的两种模式都会将对应的变量数值减少1
变量beer与wine的数值都由初始值1变为了0 -
前缀模式的变量将先于赋值运算符进行递减
beer_box中的数值被赋值为递增之后的beer变量值0 -
后缀模式时的变量将后于赋值运算符进行递增
wine_box中的数值被赋值为于递增之前的wine变量值1 -
C++提供了将算术运算与赋值操作相结合的运算符,称为计算且赋值运算符:
练习:
输入两个数字A和B,要求计算A除以B后输出他们的商。
#includeusing namespace std; int main() { int a, b; cin >> a >> b; cout << a / b; return 0; }



