目录
转义符
\a 声音警铃
\b 退格
\f 表单
\n 换行
\r 回车
\t 水平制表
\v 垂直制表
\\ 反斜杠
\" 双引号
\' 单引号
\? 问号
赋值运算符
=普通赋值运算符val = 2
+=加并赋值操作val += 2 等价于 val = val + 2
-=减并赋值操作val -= 2 等价于 val = val - 2
*=乘并赋值操作val *= 2 等价于 val = val * 2
/=除并赋值操作val /= 2 等价于 val = val / 2
%=取余并赋值操作val %= 2 等价于 val = val % 2
<<=左移并赋值操作val <<= 1 等价于 val = val << 1
>>=右移并赋值操作val >>= 1 等价于 val = val >> 1
&=按位与并赋值操作val &= 1 等价于 val = val & 1
^=按位异或并赋值操作val ^= 1 等价于 val = val ^ 1
|=按位或并赋值操作val |= 1 等价于 val = val | 1
自增自减
a++ 先运算再加一
++a 先加一再运算
--a 先减一再运算
a-- 先运算再减一
字位表达式
i & j :i和j执行按位与操作
i | j :i和j执行按位或操作
i ^ j :i和j执行按位异或操作
~i : i执行按位取反
i<<n : i左移n位
I>>n : i右移n位
条件表达式
a ? b: c 如果a成立则b,否则c
long long 的常用表达
typedef ll long long;
using ll=long long;
#define int long long (容易出错)
(在int main时要改成signed main)
数组的定义
数组一般需要定义为全局变量,main函数能开的范围太小了;
const int N=1e9+10;//科学计数法
long long int arry[N];