码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员---C基础6【#include指令】【模块化编程】【计算机的进制】【原码、反码、补码】【位运算符】

时间:2015-10-03 23:05:47      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:

 

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

【#include指令】

 

1、文件包含命令的格式:

 

    1)#include “”双引号是包含用户自己书写定义的文件(可以是头文件,也可以是普通的文件)#include是预处理指令,不是一个语句,不需要加封号

 

    2)#include<>   包含一个系统(编译器自带)的头文件

 

 

2、文件包含的实质:

 

    把指定文件内容插入该命令行位置取代该命令行,

 

    include不一定非要写在第一行;

 

 

3、include文件搜索顺序:

 

    把当前目录中a.txt文件中的内容替换到当前写include的地方;

 

    当前目录:和main。c同一个文件夹下的目录;

 

 

    #include“”用户自己对于的

 

      1)在当前文件所在的路径下查找;

 

      2)如果上面没有找到,到编译器include路径查找;

 

      3)如果编译器include路径下没有找到,系统的include路径下查找;

 

      4)如果上面三个都没有找到就报错了;

 

 

    #include<>   包含一个系统(编译器自带)的头文件

 

      1)编译器的include路径下查找;

 

      2)如果没有去系统include路径下查找;

 

      3)如果没有就报错;

【模块化编程】

 

1、模块化编程概念:

 

    所谓模块化编程(多文件开发),就是多文件(。c文件)编程,一个。c文件一个。h文件可以称为一个模块;

 

    把功能相似的函数封装到不同的文件中;

 

2、以下场景中会使用头文件:

 

    1)通过头文件来调用库功能;

 

      在很多场合,源代码不便向用户公布;

 

    2)多文件编译

 

      将稍大的项目分成几个文件实现;

 

    3)头文件能加强类型的安全检查

 

3、实现:

 

    .c  c语言的源文件:

 

    .h  (header)头文件

 

      1)方法的声明  但是不能实现方法

 

      2)声明变量  不能定义变量

 

      3)声明结构体;

 

4、好处:

 

    1)用时只需包含。h文件,对外隐藏源文件

 

    2)团队的分工合作

 

    3)可以把功能细划分若干个模块

 

 

5、多文件开发实现(模块化开发实现):

 

    列子:

 

    实现计算器:

 

      1)计算环节

 

      2)显示结果

【计算机的进制】

 

1、进制的概念:

 

    是一种计数的方式,数值的表示形式;

 

2、常见进制:

 

    十进制,二进制,八进制,十六进制;

 

3、进制数字进位方法:

 

    十进制:0.1.2.3.4.5.6.7.8.9·逢十进一;

 

    二进制:0.1 逢二进一,  

 

    书写形式:需要以0b,0B开头,0b101

 

    八进制:0.1.2.3.4.5.6.7逢八进一,以0开头,045

 

    十六进制:逢十六进一,9,A,B,C,D,E,F,, 以0x,0X开头,0x45;

 

4、进制转换的要素:

 

      1)数位

 

        数位是指数码在一个数中所处的位置;

 

        76543210

 

        01100100

 

5、转换

 

        10进制转换2进制,

 

          除二取余,小数乘2取整法,高位补0,余数倒序就是二进制

 

        2进制转换10进制

 

          位权相加,

 

        2进制转换16进制:

 

          整数部分从右向左四位并一位,小数部分从左向右四位并一位;4合1;

 

        16进制转换2进制:

 

          将16进制常量转换为2进制,每一位拆成4为二进制位,不足就补0

【原码、反码、补码】

 

1、概念:

 

    数据在计算机中的储存方法是补码形式储存的;

 

    数据分为有符号数,和无符号数;

 

    正数最高位是0,负数最高位是1;

 

    对于正数:反码==补码==原码

 

    对于负数:    反码==除符号位以外的各位取反。补码=反码+1

 

2、原码:

 

    原码就是符号位加上真值的绝对值【+1】源=0000 0001     【-1】源=1000 0001

 

    8位二进制数的取值范围是:

 

    1111 1111 ,0111 1111;正127到负128

 

 

 

3、反码:

 

    正数反码是本身,负数反码是符号位不变,其余的各位取反

 

4、补码

 

    正数补码就是本身,负数是在反码基础上加1;

 

    [+1]源=0000 0001    =0000 0001 补

 

    [-1]源=1000 0001      =1111 1110 反=  1111 1111 补;

 

5、为什么要引入反码

 

    计算机识别符号位,减法就是加一个负数;计算机无法做减法;用原码进行计算会有负0;

【位运算符】

 

1、位运算符

 

    以二进制进行的计算;只运用于整型

 

      1)&按位与:9&4=0,同1则结果为1,有0结果为0;任何基数和1与都是1;偶数与1都是0;

 

 

      2)|按位或   有1则为1,同0为0;

 

 

      3)~按位取反   1变0,0变1;

 

      4)^按位异或   相同为0,不同为1

 

      5)>>右位移   各二进制全部右移n位,低位丢弃,高位补0,相当于原数/2^n;不会改变一个数的正负性;

 

      6)<<左位移    各二进制全部左移n位,高位丢弃,低位补0,向左移动n位,相当于原数*2^n;可能改变一个数的正负性;

 

2、实用:

 

    任何基数和1与都是1;偶数与1都是0;

 

    可以用左右移再&1的方法进行10进制转换2进制;

 

 1   int a=3,b=4;
 3 //    a=a-b;
 5 //    b=b+a;
 7 //    a=b-a;
 9     a=a^b;
11     b=a^b;
13     a=a^b;

 

    两个数交换

 

 

 

 

 

 

黑马程序员---C基础6【#include指令】【模块化编程】【计算机的进制】【原码、反码、补码】【位运算符】

标签:

原文地址:http://www.cnblogs.com/snowimba/p/4853923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!