//----------------#include指令 #include " " 包含的是一个用户定义的文件,可以是头文件,也可是普通文件 1、在当前文件所在的路径下查找 2、如果上面没有找,到编译器include路径查找 3、如果编译器include路径下没有找到,系统的include路径下查找 4、如果上面三个都没有找到就报错了。 当前文件夹 ----->编译器include ---->系统include----->(如果找不到)报错 #include <> 包含一个系统(编译器自带)的头文件 1、编译器的include路径下查找 2、如果没有找到就系统include路径下查找 3、如果都没有找到就报错 编译器include---> 系统include--> (如果找不到)报错 include 不一定非要写在第一行 //--------------C语言模块化编程思想 所谓模块化编程(多文件开发),就是多文件(.c文件)编程,一个 .c 文件和一个 .h 文件可以被称为一个模块。 概念:把相同功能相似的函数封装到不同的文件中 好处: a.只需要包含.h文件,对外隐藏源文件的实现。 b.方便团队分工和协作 c.可以将不同的功能分装在不同的模块中,方便调用。 1)通过头文件来调用库功能。 2)多文件编译。 3)头文件能加强类型安全检查。 声明在 .h中, 实现在 .c 中 .h .c名字必须一样 使用条件编译指令可以防止头文件的重复包含 #ifndef C7________xxx_h #define C7________xxx_h #endif //---------------多文件开发注意事项 1)头文件中可以和C程序一样引用其它头文件,可以写预处理块,但不要写具体的语句。 2)可以声明函数,但是不可以定义函数 3)可以声明常量,但不可以定义变量 4)可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数。其实还是一个申明。 5)结构的定义、自定义数据类型一般也放在头文件中。 6)多文件编程时,只能有一个文件包含main() 函数,因为一个工程只能有一个入口函数。我们 把包含 main() 函数的文件称为主文件。 7)为了更好的组织各个文件,一般情况下一个 .c 文件对应一个 .h 文件,并且文件名要相同, 例如 fun.c 和 fun.h。 8)头文件要遵守幂等性原则,即可以多次包含相同的头文件,但效果与只包含一次相同 9)防止重复包含的措施 自定义的方法和系统方法的xcode字体颜色不一样 长按cmd点方法,可以跳到头文件查看声明(学习方法) //--------------进制 是一种计数的方式,数值的表示形式 十进制、二进制、八进制、十六进制 二进制 0、1 逢二进一 书写形式:需要以0b或者0B开头,比如0b101 八进制 0、1、2、3、4、5、6、7 逢八进一 书写形式:在前面加个0,比如045 十六进制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 逢十六进一 书写形式:在前面加个0x或者0X,比如0x45 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 要素--->数位、基数和位权 数位: 数位是指数码在一个数中所处的位置 76543210 01100100 数码*基数^数位 1*2^0 1*2^1 基数:每个数位上所能使用的数码的个数 (二进制取值0、1基数为2,十进制取值0-9基数为10) 045; //基数8 0b00101101; //基数2 0x520A ; //基数16 位权:位权是指一个固定值如367 3*10^2 6*10^1 7*10^0 //-------------------------转换 10 -> 2 : 除2取余法,把10进制数除以2,然后取得余数的序列,再倒序 整数部分采取”除2取余法”,小数部分采取“乘2取整法”,高位补0,将得到的余数倒序输出。 2 -> 10 : 所有位的位权相加 101 = 1*2^0+0*2^1+1*2^2 2 --> 16 : 4合1法, 整数部分从右向左 4位结合成一位,小数部分从左向右4位结合1位, 不足部分补0 16 --> 2: 1拆4法, 16进制的1位拆成二进制的4位 //-------------------------------机器数和真值 机器数: 一个数在计算机中的二进制表示形式,叫做这个数的机器数。 机器数是带符号的, 在计算机 用一个数的最高位存放符号,正数为0, 负数为1. 真值: //将带符号位的机器数对应的真正数值称为机器数的真值。 因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于 131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。 ----------------------------------- 华丽的分割线 ---------------------------------------- 持续更新 敬请期待
|