a. 如果文件路径我们使用双引号引起来.
#include "1.txt"
-> 先去当前源文件所在的目录中查找这个文件.如果有,直接包含.
-> 如果没有,就去系统自带的编译器目录中查找. 如果有直接包含.
如果没有就报错.
系统自带的编译目录. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
b. 如果文件路径我们使用件括弧引起来.
#include <1.txt>
-> 直接就去编译器目录中查找.如果有包含.如果没有报错.
%d. 将整型变量中的数据以十进制的形式输出来.
%o 将整型变量中的数据以八进制的形式输出.
%x 以十六进制的形式输出整型变量的值.
十转八:15=1*8^1+5*8^0=13
八转十:136=1*8^2+3*8^1+6*8^0=94
12.12f 这个数据的类型是float类型的. 在内存中就只会占据4个字节.
12.12 这个数据的类型是double类型的.在内存中就会占据8个字节.
这就是f和不f的区别.
char类型的变量在内存中占据1个字节.
char类型的常量在内存中占据4个字节.(比如说'a',换成ASCll就是97,相当于整型,所以占4个字节)。
1个int类型的变量.在内存中占据4个字节, 32位.
如果最高为是0 那么表示这个数是1个正数
如果最高为是1 那么表示这个数是1个负数.
所以,来表示数据的只有31位. 所以,1个int类型的变量.
最小值是: -2147483648 最大值是:2147483647
正数的反码就是其原码.
负数的反码就是在其原码的基础之上 符号位不变,其他位取反.
正数的补码就是其原码.
负数的补码就是在其反码的基础之上+1.
任何数据都是以其二进制的补码形式存储在内存中的.
位运算.
指的是1个二进制数据的每一位来参与运算.
位运算的前提: 是这个数必须是1个二进制.
注意:
1). 参与位运算的二进制数据必须是补码形式.
2). 位运算的结果也是二进制的补码形式.
按位与: &
参与按位与的两个二进制数.如果都为1 那么结果就为1 只要有1位为0 那么结果就为0.
任何数按位与1的结果是:是这个数的最低位.
10 & 1
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxx0
00000000 00000000 00000000 00000001
------------------------------------
00000000 00000000 00000000 00000000
按位或. |
参与按位或的二进制数据 只要有1位是1 那么结果就为1 只有当两位都是0的时候结果才为0
按位取反: ~
单目运算符. 将这个二进制数的每一位取反.
按位异或: ^ shift + 6
参与按位异或的二进制数据的位 如果相同则为0 不同为1.
按位左移运算. <<
参与按位左移运算的二进制数据. 向左移动指定的位数. 低位不够补0 高位溢出就丢弃.
按位右移. >>
参与按位右移的二进制数据.向右移动指定的位数. 低位溢出丢弃,高位补符号位.
1). 在为变量分配字节空间的时候,是从高地址向低地址分配的.分配连续的指定字节数的空间.
2). 存储在变量中的数据是以数据的二进制补码形式存储进去的.
存储的时候,是低位存储在低字节,高位存储在高字节.
变量的地址是组成这个变量的低字节的地址.
使用&取地址可以取出变量的地址.
&变量名; 这个表达式的结果就是这个变量的地址.
要打印地址使用 %p 占位符.
声明int变量的时候为这个int变量加1个修饰符unsigned
表示这个变量的最高位不要用来表示符号 而是参与到数据的表示之中.