A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丁铭检 中级黑马   /  2015-7-13 11:08  /  633 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 丁铭检 于 2015-7-13 11:11 编辑

一、#include指令
    1.文件包含命令的格式
        #include "  " (包含的是一个用户定义的文件,可以是库文件,也可以是普通文件)
        查询循序:
l        在当前文件所在的路径下查找
l        如果上面没有找到,到编译器include路径查找
l        如果编译器include路径下没有找到,系统的include路径下查找
l        如果上面是三个都没有找到就报错
       #include<  >
         查询循序:
l        到编译器include路径查找
l        如果编译器include路径下没有找到,系统的include路径下查找
l        如果上面是两个都没有找到就报错
   
     总结:
        #include "  "与#include<   >的区别其实就在于前者包含了自己编写的文件,所以它的查找路径回比后者多一步,运行速度上回相对慢一点。
        #include    她是一个预处理指令,语句之后不需要加分号
   2.  文件包含的实质
       文件包含命令的功能是把指定的文件内容插入该命令行位置,取代该命令行,从而把文件和当前的源文件连成一个源文件。
   3.  如果修改了编译器的include 中的自定义文件后,运行后发现没有改变
        破法:  清除缓存。
  二、 多文件开发实现及注意事项
     关于文件的内容,初学者还必须注意
u      头文件中可以和C程序一样引用其他头文件,可以写预处理快,但不要写具体的语句。
u      可以声明函数,但不可以定义函数
u      可以声明常量,但不可以定义常量
u      可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数,其实还是个声明
u      结构的定义,自定义数据类型一般也要放在头文件中
u      多文件编程时,只能有一个文件包含main函数,因为一个工程只能有一个入口函数,我们包含main函数文件称为主文件
u      为了更好的组织各个文件,一般情况下一个  .C  文件对应一个  .H  文件,并且文件名要相同。
u      头文件要遵循幂等性原则,既可以多次包含相同的头文件,但效果与只包含一次相同
u      防止重复包含的措施
四、数据在计算机内部是以补码的形式储存
    1. 数据分有符号和无符号数
     2. 无符号数都是正数,由十进制直接转换到二进制直接存储(其实也是该十进制的补码)即可。
     3. 有符号数用在计算机内部是以补码的形式储存的(正数的最高位符号位是 0,负数的最高位符号位是 1 )
     4. 反码,补码的计算规则
        对于正数:   反码 == 补码  ==  原码
        对于负数:    补码 == 反码 + 1
                     反码 == 原码除符号位以外其他位逐个取反
五、位操作符的介绍
1、按位与:&   (有 0 则为 0 ,同 1 才为 1)
  主要用途:取(或保留)1个数的某(些)位,其余各位置0。获取一个数的最低位,让这个数和 1 进行按位与操作。也可以判断这个数的奇偶性。
2、按位或:|    (有 1 则为 1 ,同 0 才为 0)
  主要用途:将1个数的某(些)位置1,其余各位不变。

3、按位异或:^    (相同才为 0 ,不同则为 1)
     主要用途:使1个数的某(些)位翻转(即原来为1的位变为0,为0的
      变为1),其余各位不变。

4、按位取反:~
   主要用途:间接地构造一个数,以增强程序的可移植性。
   注意:   ~ 运算符的优先级别比算术运算符、关系运算符、逻辑运算符和其他位运算符都高,
5、按位左移:<<  (可能会改变数据的正负性)
    左移一位相当与乘以 2 ,左移 n 位相当与乘以 2的N次方
6、按位右移:>>   
      右移一位相当与除以 2 ,右移 n 位相当与除以 2的N次方
      注意:  在右移时,需要注意符号位问题。
             对无符号数,右移时左边最高位补 0 ;对于有符号数,右移时左边最高位补符号位数。
说明:
n        位运算符除 ~ 以外,均为二元运算符,既要求两侧各有一个运算量
n        运算量只能是整型(short,int,long)或字符型(char)的数据,不能为实型数据。
六、实现两个变量值的交换
方法1:
       int temp;
       temp = a;
           a = b;
           b = temp;
方法2: ( 此方法不适合过大数据之间的转换,因为可能发生数据的溢出问题)
     b = a + b;
     a = b - a;
     b = b - a;
方法 3;
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马