一、算术运算:
正号(+);负号(-);加(+);减(-);乘(*);除(/);求余(%);自增(++);自减(--)
二、赋值运算:
赋值(=);加等于(+=);减等于(-=);乘等于(*=);除等于(/*);求余等于(%=)
三、比较运算:
等于(==);不等于(!=);大于(>);小于(<);大于等于(>=);小于等于(<=)
四、逻辑运算:
非(!);与(&&);或(||);
五、运算符的优先级:从上到下从到到低排列:
除了2,13和14种的结合方向是从右向左,其他的都是从左向右结合。
| 优先级 | 名 称 | 符号 |
|---|---|---|
| 1、 | ||
| 数组下标: | [] | |
| 圆括号: | () | |
| 成员选择(对象): | . | |
| 成员选择(指针): | -> | |
| 2、 | ||
| 负号: | - | |
| 按位取反 | ~ | |
| 自增: | ++ | |
| 自减 | -- | |
| 取指针的值运算 | * | |
| 取变量地址运算 | & | |
| 逻辑非 | ! | |
| (类型)转换 | (类型)数据 | |
| 长度运算 | sizeof | |
| 3、 | ||
| 乘法 | * | |
| 除法 | / | |
| 求余 | % | |
| 4、 | ||
| 加法 | + | |
| 减法 | - | |
| 5、 | ||
| 左移 | << | |
| 右移 | >> | |
| 6、 | ||
| 大于 | > | |
| 大于等于 | >= | |
| 小于 | < | |
| 小于等于 | <= | |
| 7、 | ||
| 等于 | == | |
| 不等于 | != | |
| 8、 | 按位与 | & |
| 9、 | 按位异或 | ^ |
| 10、 | 按位或 | | |
| 11、 | 逻辑与 | && |
| 12、 | 逻辑或 | || |
| 13、 | 条件运算符 | ?: 三目运算符 |
| 14、 | ||
| 赋值 | = | |
| 除后赋值 | /= | |
| 乘后赋值 | /*= | |
| 求余赋值 | %= | |
| 加后赋值 | += | |
| 减后赋值 | -= | |
| 左移赋值 | <<= | |
| 右移赋值 | >>= | |
| 按位与后赋值 | &= | |
| 按位异或后赋值 | ^= | |
| 按位或后赋值 | |= | |
| 15、 | 逗号运算符 | , |
六、类型转换: 有隐式转换和强制转换
1、隐式转行:结果自动转换为相应的类型
2、强制转换: (类型) 表达式
七、流程控制
if(){
}
if(){
}else{
}
if(){
}else if(){
}
三目: 逻辑运算 ? true时候的值 : false时候的值
switch(整型变量) { case : 语句;break; default: 语句;break; }
循环语句:
while(){ }
do{ }while();
for(int a = 0;i<10;i++){ }
跳转语句:
break:跳出当前循环
continue:结束当前循环的本次循环,继续执行下一次循环
goto 标志 调到标志的代码(少用)
End: 代码;
八、数组和字符串
定义数组:int 数组名[长度] = {初始化数据}
数组内的类型都式样的:要想知道数组的长度: 可以这么写:sizeof(数组名) / sizeof(第一个元素)
定义一维数组时候可以:
指定长度的时候同时初始化
指定长度不初始化
不指定长度初始化
二维数组中,定义的时候,内部数组的长度必须指定,不管有没有初始化。
不初始化的时候,两个参数都必须要的,初始化的时候第一个参数可以不指定。
初始化的时候可以分组初始化,但是也可以按照一维数组初始化。这种情况下,自动按照第二个参数长度去依次初始化每个二维数组,不够的情况,就是默认值:
比如[2][3] = {1,2,3,4} 初始化后就是{{1,2,3},{4,0,0}}
多维数组:了解就行
字符串:前面已经了解过。