C语言(基础)学习笔记11--位操作及预处理

1、位操作

1.1 按位与(&)

        跟1按位与保持不变,跟0按位与清零。

作用:在某些位保持不变的情况下,某些位清零。   ch &= mask;

        查看某一位的值:if((ch & mask) == mask)

1.2 按位或(|)

跟1按位或置1,跟0按位或保持不变

作用:在某些位保持不变的情况下,某些位置1。  ch |= mask;

1.3 按位取反(~)

用于间接构造某些数据,如(~0)。

1.4 按位异或(^)

跟1按位异或取反,跟0按位异或保持不变。

作用:在某些位保持不变的情况下,某些位取反。  ch ^= mask;

          自身异或,清零。

1.5 左移(<<)

规则:高位溢出,低位补零。

对int_32的数据,移位大于32位会出现什么情况?

答:先默认对32求余,后高位溢出,低位补零。

作用:在不溢出的情况下, 每左移1位相当于数乘以2

1.6 右移(>>)

规则:右移,低位舍弃。先默认对32求余。

           高位:无符号的数、有符号的正数, 高位补零。

                      有符号数的负数,取决于所用的系统:补0的称为“逻辑右移”,补1的称为“算术右移”。

1.7 运算顺序

()  >   成员运算   >  (^/!)  >   算术   >   关系    >  (>> <<) 位逻辑 (&|^)   >   逻辑   >   赋值    >   ,

2、预处理

2.1 宏定义

        #define 定义的宏,只能在 一行内 表达 ( 换行符表示结束而非空格 ) ,如果想多行表达,则需要加续行符\

2.2 条件编译

1、单双路

 #ifdef /#ifndef

 #else

 #endif

2、单双多路

#if

#elif

#endif

3.头文件包含

3.1 包含方式

<  > :#include<stdio.h> ,从系统指定路径中搜索包含头文件。
"  "  :#include"myString.h" ,从工程当前路径中搜索包含头文件,如果当前工程路径下
没有的话,则到系统路径下搜索包含。

3.2 多文件编程

1、谁用谁包含

2、自包含:.c 文件中存在相互调用的关系,自包含可以免去了多余的前向声明。

3、避免头文件重复包含

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值