概述
2个byte的最大值为65535
当数据的宽度有明显的限制时,必须是2个byte时,采用short
char a = -1,a即为0xff,a>>1后,前面始终有符号“-”
unsigned char a = -1,前面的“-”会当作数据位处理,当a>>1后,可能最后a就为0了
无符号代表的是数据,有符号代表的是数字
当表达的的数据更倾向于数据时,使用无符号
union是共用体,共用起始地址,修改1个值,其他的值可能改变,一般用于技巧性代码
enum定义的是整型常量的集合,enum的size只是一个int的大小
xxx_t 在linux中一般是通过typedef定义了一下
switch后不能跟浮点数,求模也不能跟浮点数
for用到的场合是需要次数,while用到的场合是需要条件;goto常用在同一个函数中
默认情况下,也就是auto变量,用在可读可写的区域,区域如果有{},表示是栈空间
register常用来定义快速访问的变量,&(取地址符)对register变量不起作用
volatile修饰的变量不仅仅可以通过软件修改,也可以通过硬件修改,比如用户按下键盘
乘法对于cpu不是一步指令就能实现的,可能需要多个周期,或软件模拟来实现
给一个任意的数字,得到1到100之间的数,解决:设任意的数为m,m%100可以得到0到99之间的数,再加1,即m%100+1
求模的3个使用场景:
1.求某个范围的数;2.求M进制的一个个位数;3.求循环结构的数组下标
c语言中,0代表假,非0代表真
int b *32,cpu会处理成b左移5位,即b<<5
-1为11111111,为全高电平,是一种特殊的状态
int a = xxx;
while(a)
{
a>>1;
}
printf("xxx");
如果a为负数,那么a右移时,左边填充的就是1,所以while部分是死循环,执行不到printf
对第n位清0:a&(~(0x1<<n))
对第n位置1:a| (0x1<<n)
异或^经常用在算法中,比如AES、sha1等
最后
以上就是魁梧咖啡豆为你收集整理的c语言的学习day02的全部内容,希望文章能够帮你解决c语言的学习day02所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复