• C学习笔记-预备知识


    计算机结构组成

    • CPU(中央处理器)(控制器+运算器)
    • 存储器(内存+外存)
    • 输出设备
    • 输入设备

    计算机系统组成

    • 硬件系统
      • 主机
        • 中央处理器
          • 运算器
          • 控制器
        • 内存储器
          • 只读存储器
          • 随机存储器
      • 外部设备
        • 输入设备
        • 输出设备
        • 外存储器
    • 软件系统
      • 系统软件
        • 操作系统
        • 语言处理系统
        • 系统服务程序
        • 数据库管理系统
      • 应用软件
        • 文字处理软件
        • 表格处理软件
        • 辅助设计软件
        • 实时控制软件

    CPU结构

    CPU结构

    • 8位寄存器:AL 28
    • 16位寄存器:AX 216
    • 32位寄存器:EAX 232
    • 64位寄存器:REAX 264

    程序和指令

    • 指令是对计算机进行程序控制的最小单位
    • 所有的指令的集合称为计算机的指令系统
      • 机器指令格式
        操作码 + 操作数
    • 程序是为完成一项特定任务而用某种语言编写的一组指令序列

    位,字节的概念

    位:计算机中是以二进制来存储数据的,也就是0和1,一个二进制位(表示0或1),叫做一位,记为1bit。
    字节:8个位(bit)代表一个字节

    进制

    二进制:逢二进一,只有0和1,用0b前缀标识
    八进制:逢八进一,0~7,用0前缀标识
    十六进制:逢十六进一,09,AF,用0x前缀标识

    二进制转八进制:三个一组,相加连接
    二进制转十六进制:四个一组,相加连接

    其他进制转十进制(如abcde(每个字母代表一个数))
    a * 进制4 + b * 进制3 + c * 进制2 + d * 进制1 + e * 进制0
    用相应的位乘以进制的权重次幂,然后相加。

    整数在计算机内部的存储方式

    所有整数按补码存放

    原码

    将最高位做为符号位(0代表正,1代表负),其余各位代表数值本身的绝对值
    +7的原码是00000111
    -7的原码是10000111
    +0的原码是00000000
    -0的原码是10000000

    反码

    一个数如果值为正,那么反码和原码相同
    一个数如果为负,那么符号位为1,其他各位与原码相反
    +7的反码00000111
    -7的反码11111000
    -0的反码11111111

    补码

    原码和反码都不利于计算机的运算,如:原码表示的7和-7相加,还需要判断符号位。
    正数:原码,反码补码都相同
    负数:最高位为1,其余各位原码取反,最后对整个数 + 1
    -7的补码:=
    10000111(原码)
    11111000(反码)
    11111001(补码)
    +0的补码为00000000
    -0的补码也是00000000

    计算机中的运算

    用补码进行运算,减法可以通过加法实现
    7-6=1
    7的补码和-6的补码相加:00000111 + 11111010 = 100000001
    进位舍弃后,剩下的00000001就是1的补码
    -7+6 = -1
    -7的补码和6的补码相加:11111001 + 00000110 = 11111111
    11111111是-1的补码

    语言的层次划分

    • 高级语言:A + B
    • 汇编语言:ADD AX BX
    • 机器语言:0000 0001 1101 1000

    主流语言发展历程

    机器语言 -> 汇编语言 -> C语言 -> ObjectiveC语言 & C/C++语言 -> Java/C#/PHP/Lua/Python/VB···

    C语言的特点

    • 优点
      • 代码量小
      • 执行速度快
      • 功能强大
      • 编程自由
    • 缺点
      • 编写代码实现周期长
      • 可移植性较差
      • 过于自由,经验不足容易出错
      • 对平台库依赖较多

    C的32个关键字

    auto break case char const continue default do
    double else enum extern float for goto if
    int long register return short signed sizeof static
    struct switch typedef unsigned union void volatile while

    C语言32个关键字

    C的9种控制语句

    if( )else for( )~ while( )~
    do~while( ) continue break
    switch goto return

    C的34种运算符

    算术运算符: + - * / % ++ –
    关系运算符: < <= == > >= !=
    逻辑运算符: ! && ||
    位运算符: << >> ~ | ^ &
    赋值运算符: = 及其扩展
    条件运算符: ?:
    逗号运算符: ,
    指针运算符: * &
    求字节数: sizeof
    强制类型转换: (类型)
    分量运算符: **. -> **
    下标运算符: []
    其它: ( ) -
  • 相关阅读:
    v-bind绑定属性
    vue 第二次学习笔记 v-once v-html
    P4428-[BJOI2018]二进制【树状数组,set】
    P5180-[模板]支配树
    《架构之美》阅读笔记一
    Python基础04----条件控制
    Tensorflow2.0笔记33——Keras 来搭建神经网络的“八股”套路
    每周总结
    架构漫谈阅读笔记01
    Tensorflow2.0笔记32——卷积神经网络
  • 原文地址:https://www.cnblogs.com/cj5785/p/10664824.html
Copyright © 2020-2023  润新知