枚举三例
1:众所周知,枚举类型是一个常量整数值的列表,默认里面的值会从0开始递增利用这个特性可以有以下用法:
当有一个数组,保存某个学生的每科的成绩,比如现在只有两门课程,可以把数组定义为 score[2],
并且在程序中广泛应用这个数组,如果成绩科目编程了4个等等,这时候改起来就有点麻烦。使用enum就可以方便解决。
enum score {CHINESE,MATH,ENGLISH,ALL_COURSE};
数组:score[ALL_COURSE]; 每当增加科目的时候只要增加enum score里,ALL_COURSE自动会增加,不用进行大的改动。
2:限制变量的取值范围:
enum boolean {NO,YES};
enum boolean a;
3:枚举名的值是可以自己定义的
enum something { ONE = 1,TWO = 2,THREE};
在自己定义之后那些没有定义的值将会以之前那个值为基数自增1。
const 限定词
const只限定通过这个变量名去访问。通过指针同样可以访问并修改,但是在优化的时候会有问题,慎用~!
!!a ;这个写法的含义:
1:任何一个正数通过!a都会成为0,!!a,就成为了!0,就为1了
2:如果a 是0,!a,为1,!!a还是为0
这样就可以保证,不管是真是假,经过!!a之后的值不是0就是1,方便往后的判断。
位运算:<< >>
<< 左移运算符,右边不够的位用0进行不齐
>> 右移运算符,1:如果是正数,那么左边不够的位用0不齐
2:如果是负数,有两种情况 补最高位和补0
~ & |
例:
10110010010 有这么一个一串二进制,对低3位进行置位,清零,取位,取反
置位: 10110010010 | (1<<3)
清零: 10110010010 & ~(1<<3)
取位: 10110010010 &(1<<3)
取反: 10110010010 ^(1<<3)
三目运算符:
c = a > b ? a : b ,如果a>b为真,则返回a,否则返回b
阅读(1062) | 评论(0) | 转发(0) |