·合法运算
-
printf标准输出
%d 有符号十进制整数
%i 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%f 浮点数
%e 用科学计数法表示的浮点数(小写字母e)
%E 用科学计数法表示的浮点数(大写字母E)
%g 根据数值的大小自动选择%f或%e格式
%G 根据数值的大小自动选择%f或%E格式
%c 单个字符
%s 字符串
%p 指针地址(输出用的是十六进制)
%% 打印一个百分号
%md 右对齐,若m比实际少时,按实际输出,不足补空格
%-md 左对齐,若m比实际少时,按实际输出,不足补空格
%.nf 保留n位小数
scanf基本上就是一样,不再赘述
-
运算顺序
引用了大佬的博客,若有侵权问题立删
逻辑运算:
! 逻辑非
&& 逻辑与(一定要注意&&有一种懒的性质,PS;x==0&&y!=0;当 x!=0使其判断为错,后面是不进行运算的)
|| 逻辑或
自增,自减:int a = 1;
printf( "%d ,%d", a++, ++a);
printf( "%d ,%d", a--, --a);
· 位运算
基本运算符:
<< 左移 PS: 2<<2 = 8
>> 右移 PS: 2>>1 = 1
& 按位与 PS: 1&1 = 1 1&0 = 0 0&0 = 1
| 按位或 PS: 1|1 = 1 1|0 = 1 0|0 = 0
^ 按位异或 PS:1^1 = 0 1^0 = 1 0^0 = 0
~ 按位取反 PS: ~10101=01010
经典运算 lowbit() 运算 ,函数实现:
Int lowbit( int n )
{
return n&(-n);
}
提示:-n = ~n + 1