重学C++
1.计算机系统简介
硬件组成 主机:CPU 内存
计算机指令系统:硬件能识别的01指令的集合,是硬件与软件的主要界面
计算机软件:应用软件、系统软件、中间件
软件=程序+文档
2.计算机语言和程序设计方法的发展历史
机器语言(简单的操作、需要把数据放到显示器端口(需要知道地址))、汇编语言(助记符、抽象层次低、需要考虑机器细节)、高级语言(屏蔽机器细节)
对面向过程的了解:步骤分解
3.面向对象的基本概念
抽象:分类依据的原则
类:抽象出同一类对象的共同属性和行为
封装:隐藏内部细节、对外形成边界、保留对外接口、使用方便、安全性好
继承:软件复用、改造、扩展现有类形成新的类
多态:同样的消息作用在不同的对象表现出不同的行为
4.程序的开发过程
源程序经过翻译程序加工成目标程序
连接目标程序以及库中的某些文件生成一个可执行文件
翻译程序:汇编程序、翻译程序(效率高)、解释程序(边翻译边执行)(java:为了跨平台)
算法和数据结构设计、源程序编辑、编译(先报错)、连接、测试、调试
5.计算机中的信息和存储单位
计算机的基本功能:算术运算、逻辑运算
计算机中的信息:控制信息、数据信息(计算机程序加工的对象)
数据信息:数值信息(定点、浮点)、非数值(字符、逻辑)
6.计算机的数字系统
二进制系统
高级语言中可以使用八进制和十六进制,不能写二进制
十进制小数->二进制小数:乘R取整(小数部分为0时,从上到下->从高位到低位)
7.数据的编码表示
原码缺点:0的表示不唯一、运算规则复杂
补码:用于负整数的表示(0表示为一、符号位能作为数值参与运算、可把减法运算转化为加法运算)
模数、补数
一个数减去一个数等同于加上他的补数:8-2=8+10(mod 12)=6
求补码利用反码、补码的运算结果是补码、再求补码得原码
定点方式表示小数:第几位表示小数
现在一般用浮点:尾数M(位数反映数据的精度)、阶码E反映数据范围
字符也是编码表示 ASCII 7个二进制数表一个字符 最多表示128个