2.1运算符
2.1.1运算符概述
:::作用域运算符。
new:动态分配内存单元运算符。
delete:删除动态分配的内存单元运算符
*和->:成员指针选择运算符
根据运算符需要的操作数的个数,可将其分为三种:
单目运算符(一种操作数):如取址运算符&,其操作数只有一个变量
双目运算符(两个操作数):如算数运算符
三目运算符(三个操作数):在C++中只有一个接受三个参数的运算符 ?: 例:a>b?a:b
2.1.2算数运算符
+ - * / %
2.1.3自增自减运算符
a++; //a=a-1;
2.1.4赋值运算符
<变量名>=<表达式>;
包括复合赋值运算符+=、-=、*=、/=、%=、<<=、>>=、&=、|=、^=
2.1.5关系运算符
<、<=、>、>=、==、!=
2.1.6逻辑运算符
!、&&、||
2.1.7条件运算符(?:)
expr1 ? expr2 : expr3;
2.1.8都好运算符
<表达式1>,<表达式2>,....,<表达式n>
2.1.9位运算符
运算符 | 运算符名称 |
---|---|
& | 按位与 |
竖 | 按位或 |
^ | 按位异或 |
>> | 右移位 |
<< | 左移位 |
~ | 按位取反 |
2.1.10 sizeof 运算符
sizeof(<类型名或者表达式>)
2.2 运算符的优先级和结合性
int x=1+5*6/3-2;
这几话上过小学的都会:joy:
运算符优先级表
优先级 | 运算符 | 功能说明 | 结合性 |
---|---|---|---|
1 | () :: [] .和-> .和-> | 改变优先级 作用域运算符 数组下标 成员选择 成员指针选择 | 从左到右 |
2 | ++和-- & * ! ~ +和- () sizeof new和delete | 加1减1运算符 取地址 取内容 逻辑求反 按位求反 取整数和取复数 强制类型 取所占内存字节数 动态存储分配 | 从右到左 |
3 | *、/、% | 乘、除、取余 | 从左到右 |
4 | +、- | 加、减 | |
5 | <<、>> | 左移位、右移位 | |
6 | <、<= >、>= | 小于、小于等于 大于、大于等于 | |
7 | ==、!= | 等于、不等 | |
8 | & | 按位与 | |
9 | ^ | 按位异或 | |
10 | | | 按位或 | |
11 | && | 逻辑与 | |
12 | || | 逻辑或 | |
13 | ? : | 三目运算符 | 从右到左 |
14 | =、+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>= | 赋值运算符 | 从右到左 |
15 | , | 都好运算符 | 从右到左 |
2.3 表达式
包含:算数、关系、逻辑、条件、赋值、逗号表达式。
注:1.编译系统将按尽量取大的原则来分割多个运算符,2.c++中可以使用一对()来确定运算符组合。
2.4 语句
2.4.1 空格的作用
主要起到美化的作用
2.4.2 语句块
C++里,多个连续的语句可以组成语句块(也称复合语句)。语句块的写法就是用{}包起来(可嵌套)。
double area=0;
{//语句块开始
double width = 1;
double height = 4;
area = width * height;
} //语句块结束
count<<"The area is:"<<area<<endl;
2.4.3 赋值语句
a=1;
b=2+1;
c=a+b;
e=d=1;
2.4.4 空语句
for(i=1;i<100;i++)
; //空语句,起延时作用
while(getchar()!='\n'); //功能就是子要输入的不是回车就会一直重新输入
还不快抢沙发