• 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 ");
           2). 输出整数 printf(“a = %d ”,a);//输出的时候,如果遇到是%d,那么就把a输出成整数
           3).  输出浮点数
              float a  = 4.0f;
              printf("a = %f ",a);
           4). 输出字符
              char a = 'a';
              printf("%c",a);

    8. 程序心中有数
        代码给CPU运行前,先在自己的脑袋里面运行一次,确保结果正确再给计算机,做到程序心中有数,不是瞎子摸象,这个是控制程序bug找出程序bug的唯一有效的方式
  • 相关阅读:
    计算数组的逆序对个数
    处理类型(typedef,uisng,auto,decltype)
    constexpr与常量表达式(c++11标准)
    const的限定
    void*类型的指针
    linux终端拖动鼠标总是产生ctrl+c
    Linux hrtimer分析(2)
    Linux hrtimer分析(一)
    Alarm(硬件时钟) init
    第十一章 Android 内核驱动——Alarm
  • 原文地址:https://www.cnblogs.com/liangjinjie/p/8079364.html
Copyright © 2020-2023  润新知