C第三章 语言函数、基本数据类型、局部变量、表达式

  1. 程序执行过程

      编译器将我们的程序编译成可执行文件,当我们运行程序的时候,操作系统会将我们的可执行文件,全部加载到内存,然后CPU从入口函数开始,在内存读一条指令,执行一条指令。
  2. 函数
      对于C语言来说,我们都是在函数里面编写我们的执行指令,函数是我们C语言的指令的载体。
      对于C语言来说,每一条指令语句,后面必须以分号结尾。
      C语言函数的要素
      y = f(x),y就是返回值,x就是参数,f就是整个函数的过程名称
          如y = f(x) = a*x+b;这是直线方程,那么a*x+b就是函数体
         C语言的函数跟数学函数类似,它有一下几个要素:
        1.返回值类型
        2.函数名称
        3.函数体
        4.函数参数
      返回值 函数名称(参数1,参数2...)
      {//函数开始

      }//函数结尾
      int main(int a,char**b){ 
      }
         函数返回 return 关键字,返回的数据要符合函数定义的返回值的类型一致。

  3. 基本数据类型

    1.内存是存储数据与代码的地方,内存里面存的是二进制数据,如100111000..,二进制一位数据,我们称为bit,8个bit 位1Byte,16个bit位一个WORD(字),32个Bit位一个DWORD(双字)....  

  4. 2.存储空间秒速
       单位为字节(8bit)
     1KB = 1024Byte
        1MB = 1024KB
         1GB = 1024MB
         1TB = 1024GB
      在计算机里面,K为1024,不是1000
    3.基本数据类型
      字符数据类型:存储英文数字符号的类型 char,1个字节(8bit);
           存储16bit整数的数据类型:short 占 2 个字节 16bit;
           存储32bit整数的数据类型:int 占 4 个字节 32 bit;
           存储64bit整数的数据类型:long 占 8 个字节 64bit;
           存储32bit浮点数数据类型:float 占 4 个字节 32 bit;
           存储64bit浮点数数据类型:double占 8 个字节 64 bit;
          不是任何数据类型 为void;void 不占内存,没有存储内存,void* 占内存,有内存
    4.计算机的数据正负表示,又叫有符号数据类型
        例如:+4,-4
       例如用16bit,也就是用short来存储,-4,+4;
       1:用最高位的一个bit表示正、负,1(负),0(正);
       2:剩下15bit表示我们的数据,4 = 1 * 2^1 + 0*2^0;
             所以4的二进制为100,15个bit表示4就是0000 0000 0000 100,接下来用最高的第16bit     来表示正负,0位正,1为负
            +4 = 00000 0000 0000 100
         如果是负数,那么要将剩下的15bit取反以后再加1
           取反:0000 0000 0000 100 -> 1111 1111 1111 011
            加1:1111 1111 1111 011 +1-> 1111 1111 1111 100   
            -4 : 1111 1111 1111 1100
    5.无符号数据类型
        对于有符号的数据,浪费一个bit来存储符号为,如果我们本身存的都是正数,没有负数,那么就没有必要浪费一个bit来存储符号,那么这种我们叫做无符号数据类型,在数据类型前面加上unsigned 就可以了 ;
      如  unsigned char;
       unsigned int; 
             unsigned long long;
  5.    局部变量
    1). 什么是变量   
         程序的执行过程中,实际上就是大量的数据运算,那么必然我们要存储这些数据,在C语程序设计里面的存储数据,我们称之为 “ 变量”
    a. 用来存放数据的内存,我们把它叫做  变量
        变量的本质是一块内存,那么这块内存看可以存储数据,我们还可以修改我们的数据,
         变量就像是仓库一样,可以存放我们的货物,至于存放什么货物,由我们自己决定
       int a = 4;// 存自己决定的
       int a = 8; //数据是可变化的
       常量:就是4、8,而变量就是存放指定的数据类型的存储空间;
       这个空间存什么数据,都是由编程人员决定;
      编译器把我们定义的数据(如 4)转换成二进制写到可执行文件里面
    2). C语言定义变量
        变量类型  变量名称  分号 
    3). 局部变量
        在函数中定义的变量,称为局部变量,只在函数内部有效。
  6. 表达式
    1). 赋值表达式,给一个变量赋值,往变量所在的内存里面存数据;
       如:int a = 3;
               float a = 3.0f;
               double a = 3.0;
    2). 加、减、乘、除、括号
          int a = 3;
          int b = 4;
           int c = 6;
           b = (a+b) * c/4;
    3).逻辑运算
        如果符合逻辑,条件成立,那么值为1,如不符合逻辑或条件不成立,值为0;
        例如  int a = 3;  (a > 1) ,a的值为3,本身大于1,所以为真,真值为1,也就是说(a > 1)    的值为1 ,又如,int a =0;(a > 1) 那么表达式的值为0,那么(a > 1) 运算的值为0;
    逻辑运算符:
  7. ascii码表
    为什么要有ASCII码表?
          我们的计算机,只能存储二进制数据,本身没有办法存放这些字符,但是,我们的语言等需要字             符,那么程序是怎么处理字符的呢?然后就一个规定,使用[0,127]的一个数值来表示一个字符(英         文字母,符号等),这样就会有一个对应关系,那么这个就是ASCII码表。

    ASSCII码 A   65,在内存里面,‘A’,65到底有什么区别;完全没区别的,就是存放的是65的二进制,如果你把65当做数据,那么他就是65,如果你把65当做是一个字符,调用计算机图形学的编程,将我们的A的形状绘制到屏幕上,那么就是字符‘A’。
    如果程序将 65 当做了字符,那么就把 65 对应字符绘制到屏幕上,如果程序把 65 当成一个数据字符串,绘制到屏幕上。
    printf 格式化输出  
         1). 输出一串文字:printf("hello world\n");
         2). 输出整数 printf(“a = %d\n”,a);//输出的时候,如果遇到是%d,那么就把a输出成整数
         3).  输出浮点数
            float a  = 4.0f;
            printf("a = %f\n",a);
         4). 输出字符
            char a = 'a';
            printf("%c",a);

  8. 程序心中有数
      代码给CPU运行前,先在自己的脑袋里面运行一次,确保结果正确再给计算机,做到程序心中有数,不是瞎子摸象,这个是控制程序bug找出程序bug的唯一有效的方式

posted on 2017-12-21 11:40  梁锦杰  阅读(320)  评论(0编辑  收藏  举报

导航

欢迎进入我的博客!