我是靠谱客的博主 魁梧咖啡豆,最近开发中收集的这篇文章主要介绍c语言的学习day02,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部