速成班c学习笔记 一周学完c系列第一天笔记 第一天
本帖最后由 代号3 于 2018-4-30 15:07 编辑之前开的帖子 鉴于查看体验太差 重新开贴记录,一帖一天的形式 一周学完夸张了 但进程足够快是肯定的
认识计算机
引言
电与电信号
1·系统组成
进制运算
逻辑与逻辑电路 布尔逻辑 ×——与+——或 !——非
x-y 并且电路 x+y 或者电路 非电路 ?电流对磁性的影响 -无影响 高热消磁
复合表达式
2·计算机硬件
指令就是有含义的数字?信号
存储器 输入输出设备 cpu中央处理器
计算机是一种能够按照事先储存的程序,自动,高速的对数据进行输入,处理,输出和存储的系统
输入输出设备 运算器 控制器 存储器 五部分 冯诺依曼体系
只读存储器 ROM(主板程序 只能外读不能随意写入 断电不损数据) 随机存储器 RAM(断电数据不存储 内存条)
cpu:运算器 控制器
外存储器:硬盘 软盘 光盘
3·程序与程序语言
程序:一组计算机能识别和执行的指令
机器指令
计算机提供最原始工具系统
目标程序 计算机可以直接执行 机器语言程序
不同机器 指令系统不同
汇编语言
英文字母+符号 表示指令操作码,寄存器,数据和存储地址等,在程序中代替二进制编码数。
大多数 一条汇编指令对应一条机器指令,少数对应几条机器指令
缺点:抽象层次低,针对某一种机器编写,可移植性性差
助记符量大 难记
高级语言
高度屏蔽机器指令
提高了语言的抽象性
语法和结构更近似人类交流语言 减少助记符采用关键字
远离对硬件的直接操作,容易普及
高级语言分类
编译型语言:C,C++ 有编译器
高级语言→目标语言(机器语言)
修改先修改源代码
编译慢 运行快
解释型语言:python,java
不产生目标机器代码
产生易于执行的中间代码
解释器:中间代码执行时,由“编译器”把中间代码翻译成二进制代码,运行效率低
解释器即各大语言的虚拟机,解释型语言写的程序都是跨平台的,平台安装虚拟环境即可。跨平台性好
代码跨平台
机器语言,汇编语言与特定cpu挂钩
标准c语言,不用太大修改在不同平台都可以编译
程序跨平台 编译完的程序是否和平台相关
解释型语言一般跨平台性比编译型语言好
计算机中的数据
进制
二进制 0,1 表示符号“B” 每一位都是2的整数次幂
1.2.4.8. 16.32.64.128. 256.512.1024.2048. 4096.8192
八进制 0-7表示符号“0.”
1.8.64.512.4096
十进制 0-9 逢十进一 每一位都是10的整数次幂 表示符号 “D”
十六进制 0-9 A-F 表示符号“H” 16的整数次幂
1.16.256.4096
进制转换
十进制→二进制
整数部分:逆向取余 辗转除二取余 逆向读
小数部分:正向去整 乘二凑整 正向读
二进制→八进制
整数部分 低位向高位每三位用一个等值的八进制数来替换
不足三位时在高位补0凑满3位
小数部分 三位替换 低位补〇凑满三位
二进制→十六进制
四位一组 整数高位凑0 小数低位补0
八进制→十六进制
八→二→十六
原码反码补码
原码 第一位表示符号 其余位表示值1负0正
反码 负数的原码基础上 符号位不变 其余位取反 正数反码即自身
反码表示负数时先转换为原码再计算
补码
负数的补码是在原码基础上,符号位不变,其余各位去反,最后加一
正数 三码合一
负数
原码:最高位不变,后面数据和其绝对值相同
反码:原码除最高位,其余取反
补码:反码加一
计算机内都是补码存储 加法运算
页:
[1]