十三、文件包含预处理 #include指令
1、#include" " 包含用户自己写的文件,#include< >包含一同提供的头文件;
2、 文件包含指令的功能是指把指定的文件内容插入到该命令行的位置取代命令行,把指定文件和当前文件连成一个源文件
3、 #include文件搜索顺序:#include" " 当前目录》编译器目录》系统目录》报错,#include< >编译器目录》系统目录》报错;
十四、 多文件开发模块化编程
1、所谓模块化编程,就是多文件编程,一个.c文件和一个.h文件可以称作一个模块。
2、 注意事项
1)头文件可以和从程序一样引用其他文件,可以写预处理块,不要写具体语句;
2)可以声明函数,不要定义函数;
3)可以声明常量,不可以定义变量;
4 )可以定义一个宏函数,宏函数不是函数而是声明;
5)结构的定义、自定义数据类型一般也放在头文件中;
6)多文件编程,只能有一个文件包含main()函数;
7)为了更好的组织各文件,一般一个.c对应一个.h,且文件名相同;
8)头文件要遵守幂等性原则,多次包含相同文件效果等同一次;
9)防止重复包含的措施。
十五、计算机中的进制
1、是一种计数的方式,数值表示形式,几进制就是逢几进一;
2、常见的进制十、二前面加0B、八前面加0、十六前面加0X并用A、B、C、D、E、F表示11、12、13、14、15、16。
3、进制转换三要素:数位、基数和位权,位权=数码*基数^数位,位权和就等于这个数的十进制值;
4、 进制间转换方法:
A:十进制》二进制:整数部分除2取余,余数倒叙高位补0;小数部分乘2取整,整数顺序按精度高补低舍;
B:二进制》十六进制:四合一法,把二进制数整数部分从右向左,小数部分从左向右,四位合一位不足补0;
C:十六进制》二进制:一拆四法,把十六进制数的每一位拆成4位二进制,高位补0。
5、 机器数和真值
1)机器数指一个数在计算机中的二进制表示形式, 是带符号的,最高位存放符号正0负1;
2)将带符号的机器数对应的真正数值 称为真值。
6、原码、反码和补码
1)计算机存储数值的形式是二进制反码形式;
2)原码就是符号位加真值的绝对值;
3)反码的表示方法 :正数的反码=原码,负数的反码符号位不变其余位取反;
4)补码的表示方法:正数的补码=原码=反码,负数的补码= 反码+1;
5) 计算机做只加法计算,引入补码为了方便计算减法;
7、位运算符
1)位运算是指按二进制进行的运算 ;
2)C语言提供6个位操作运算符,这些运算符只能用于整形操作数,即带符号和无符号的char、short、int、long类型;
A、&按位与 :同1为1,有0为0;
B、 | 按位或:有1为1,同0为0;
C、~按位取反 :0变1,1变0;
D、^按位异或: 相同为0,不同为1;(变量交换:1、a=a+b b=a-b a=a-b 2、a=a^b b=a^b a=a^b)
E、 >>右移:各二进制全部右移N位,低位去N位高位补符号位和N-1个0,等同于原值/2^N;
F、<< 左移:各二进制全部左移N位,高位去N位低位补N个0,等同于原值*2^N,可能改变正负;
G、任何数和1&运算得到这个的最低位。
十六、变量地址获取及存储
1、 %p输出一个地址printf(“&a=%p\n”,&a)
2、计算机存储变量分配内存地址从高到低,不一定连续 ;
3、变量的首地址是所占孙处空间字节地址最小的那个地址;
4、变量存储低字节存在低地址。 |
|