一.运算符
1.三目运算符 (条件)?表达式1:表达式2;
a. int a=b>5?1:0;
b. 如果结果只有两个,那么常用三目运算符,这样会简化代码。
2.位运算符 :直接对二进制数操作,效率最高
a. &:按位与
偶数的二进制最低位一定是0,奇数的二进制最低为一定是1,那么,任意一个整数与1相&,结果要么是1,要么是0;
因此,& 可以用来判断一个数的奇偶性。
b. | :按位或
c. ^: 按位异或: 相同为1,不同为0
法则:任何一个二进制数与0异或是数本身,与本身异或是0.
应用:交换两个变量;
int a=10,b=2;
a=a^b; //a^b
b=a^b; //b=a^b^b=a
a=b^a //
d.~ 取反
int a=~a;
e.<<:左移 :右边空位补0
左移一次相当于乘以2,比如
int a=2;
a=a<<1; //a=a*2
f.>>右移 :左边空位补最高位(即符号位)
右移一次相当于除2,用于取整,比如
int a=5;
a=a>>1;//a=2
3.运算符优先级
第一级 : ()
第二级: ! sizeof() ++ --
第三级: * / %
+ -
> >= < <=
== !=
&& ||
=
二.进制
a.八进制定义前面加0,输出时占位符%o
b.十六进制定义前面加0x,输出时占位符%0x
三.条件结构
1.if结构
if(条件表达式){
}
else{
}
2.switch
switch(表达式){
case 常量1:{
}break;
.........
default:
break;
}
说明:
a.if结构与switch结构都可以嵌套定义
b.else 总是跟最近的if配对。