7. 运算符
作用:用于执行代码的运算
运算符类型 | 作用 |
---|---|
算数运算符 | 用于处理算数运算 |
赋值运算符 | 用于将值或者表达式的值赋给变量 |
关系(比较)运算符 | 用于值或表达式的关系比较,返回bool 类型的值 |
逻辑运算符 | 用于测试真假值,返回bool 类型的值 |
7.1 算术运算符
作用:用于处理四则运算
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | -3 | -3 |
+ | 加 | 10+5 | 15 |
- | 减 | 10-5 | 5 |
* | 乘 | 10*5 | 50 |
/ | 除 | 10/5 | 2 |
% | 取模(取余) | 10%3 | 1 |
++ | 前置递增 | a=2;b=++a | a=3;b=3; |
++ | 后置递增 | a=2;b=a++; | a=3;b=2; |
– | 前置递减 | a=2;b=–a; | a=1;b=1 |
– | 后置递减 | a=2;b=a–; | a=1;b=2; |
//除法运算,整数相除得到的还是整数
int num1=5;
int num2=2;
result=num1/num2;
cout<<result<<endl;
//%模,取余操作
cout<<5%2<<endl;
7.2 赋值运算符
作用:用于将值或者表达式的值赋给变量
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
= | 赋值 | a=2;b=3 | a=2;b=3; |
+= | 加等于 | a=0;a+=2 | a=2; |
-= | 减等于 | a=5;a-=3 | a=2; |
*= | 乘等于 | a=2;a*=2; | a=4; |
/= | 除等于 | a=4;a/=2; | a=2; |
%= | 模等于 | a=3;a%=2; | a=1; |
7.3 关系运算符
作用:用于表达式的比较,并返回一个真值或假值
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
== | 相等于 | 4==3 | 0 |
!= | 不等于 | 4!=3 | 1 |
< | 小于 | 4<3 | 0 |
> | 大于 | 4>3 | 1 |
<= | 小于等于 | 4<=3 | 0 |
>= | 大于等于 | 4>=1 | 1 |
7.4 逻辑运算符
作用:用于根据表达式的值返回真值或假值
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
! | 非 | !a | 如果a为假,则!a为真;如果a为真,则!a为假 |
&& | 与 | a&&b | 如果a和b都为真,则结果为真,否则为假 |
|| | 或 | a||b | 如果a和b有一个为真,则结果为真,二者都为假时,结果为假 |
&&
与||
具有短路的效果
int num1=10;
int num2=20;
flag=num1>num2&&num2++>5;
cout<<"num1:"<<num1<<"num2:"<<num2<<endl;
7.5 位运算符
作用:用于处理数据的位运算
cout<<(3 & 5)<<endl;
cout<<(3 | 5)<<endl;
cout<<(-3 ^ 5)<<endl;
cout<<(~-5)<<endl;
int a=4;
int res=a<<4;//左移 相当于a乘以4的2次幂
res=a>>4;//右移,相当于除以4的2次幂
7.6 sizeof
关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型/变量)
#include<iostream>
using namespace std;
int main() {
cout << "short类型所占内存空间为:" << sizeof(short) << endl;//2
cout << "int类型所占内存空间为:" << sizeof(int) << endl;//4
cout << "long类型所占内存空间为:" << sizeof(long) << endl;//4
cout << "long long类型所占内存空间为:" << sizeof(long long) << endl;//8
// short < int <= long <= long long
short num1 = 10;
cout << "num1所占内存空间为:" << sizeof(num1) << endl;//2
return 0;
}