1.运算符的作用:
用于执行代码的运算
2.运算符的类型:
运算符类型 | 作用 |
算术运算符 | 用于处理四则运算 |
赋值运算符 | 将表达式的值赋给变量 |
比较运算符 | 用于表达式的比较,并返回一个真值或假值 |
逻辑运算符 | 根据表达式的值返回真值或假值 |
3.算术运算符
算术运算符 | 术语 | 示例 | 结果 |
+ | 正号 | +5 | 5 |
- | 负号 | -5 | -5 |
+ | 加号 | 1+2 | 3 |
- | 减号 | 3-5 | -2 |
* | 乘号 | 4*6 | 24 |
/ | 除号 | 10/5 | 2 |
% | 取模(取余) | 10%3 | 1 |
++ | 前置递增 | a=1;b=++a; | a=2,b=2 |
++ | 后置递增 | a=1;b=a++; | a=2,b=1 |
-- | 前置递减 | a=1;b=--a; | a=0,b=0 |
-- | 后置递减 | a=1,;b=a--; | a=0,b=1 |
两个整型数据相除时,除法得到的结果只有商,不包含余数与小数。
两个小数相除,那么结果可以是小数,并且没有余数。
两数相除,除数不能为0,否则会报错。
同理取余时除数也不能为0,否则会报错。
只有两个整型变量之间才能做取模运算。
拓展:
如何在乘除法中保留更多小数位?
C++基础算法②——高精度乘除法计算_c++乘除法_唐樽的博客-优快云博客
二进制四则运算的底层原理:
C++之不同数值类型的运算及隐式转换_c++中不同类型的数运算_addict_jun的博客-优快云博客
不同的数据类型之间做算术运算会发生什么?
C++ 算术转化 算术类型之间相互转化所遵循的规则说明_榛栗栗栗子的博客-优快云博客
取模的时候出现负数怎么办?
C++中的取模运算_c++取模_xyhGOGOGO的博客-优快云博客
前置和后置的区别:
前置是先让变量+1,再进行表达式运算;
后置是先进行表达式运算,再让变量+1.
彻底搞懂i++和++i的区别,谁的效率更高? - 知乎 (zhihu.com)
C++中,a++、a+=1、a=a+1、++a 有什么区别?以及效率问题_c++ a=a+1_知之可否的博客-优快云博客
4.赋值运算符
赋值运算符 | 术语 | 示例 | 结果 |
= | 赋值 | a=1;b=2; | a=1,b=2 |
+= | 加等于 | a=1;a+=2; | a=3 |
-= | 减等于 | a=5;a-=2; | a=3 |
*= | 乘等于 | a=6;a*=7; | a=42 |
/= | 除等于 | a=10;a/=2; | a=5 |
%= | 模等于 | a=20;a%=3; | a=2 |
5.比较运算符
比较运算符本质上是一个判断,然后根据表达式返回“真”(1)或者“假”(0)
比较运算符 | 术语 | 示例 | 结果 |
== | 相等于 | 7==4; | 0 |
!= | 不等于 | 4!=5; | 1 |
< | 小于 | 3<2; | 0 |
> | 大于 | 7>6; | 1 |
<= | 小于等于 | 9<=8; | 0 |
>= | 大于等于 | 9>=9; | 1 |
需要注意的是,如果需要在输出时调用运算符,则必须注意到<<也是运算符,存在优先级问题
此时可以将表达式用小括号括起来,赋予表达式更高的优先级,如:
cout << (4==3) << endl;
则输出结果为0。
拓展学习:
6.逻辑运算符
逻辑运算符本质上也是一个判断,然后根据表达式返回“真”(1)或者“假”(0)
逻辑运算符 | 术语 | 示例 | 结果 |
! | 非 | !a | 若a真,则!a假;若a假,则!a真 |
&& | 与 | a&&b | 若a和b都为真,a&&b为真;否则a&&b为假 |
|| | 或 | a||b | 若a和b都为假,a||b为假;否则a||b为真 |
注意,在C++中,任何非0的值都为真。
拓展学习: