C++程序设计基础(二)

一、面向对象的基本概念

对象:一般指现实中存在的事物,面向对象中的对象是系统中用来描述客观事物的一个实体

类:基于抽象和分类的思维形成的,分类依据原则是抽象,通过抽象出同一对象的共同属性和行为形成类

类与对象关系:类型与实例的关系,犹如模具与铸件之间的关系

封装:隐蔽对象的内部细节,对外形成一个边界,只保留有效的对外接口,使用方便、安全性好

继承:意义在于软件复用,改造扩展已有类形成新的类

多态:同样的消息作用在不同对象上可能引起不同的行为

二、程序开发过程

源程序:用源语言写的,有待翻译的程序

目标程序:源程序通过翻译程序加工以后生成的机器语言程序

可执行程序:连接目标程序和库中某些文件,生成的一个可执行文件,即所写程序和编译器带的程序库(存有常用模块,可以直接调用)里的要调用的模块合在一起构成的可以执行的程序

三种不同的翻译工具(程序):汇编程序(将汇编语言源程序翻译成目标程序)、编译程序(将高级语言源程序翻译成目标程序)、解释程序(将高级语言源程序翻译成机器指令,边翻译边执行)

java半编译半解释:目的是为了跨平台

C++程序直接翻译为本地机器语言代码

C++程序开发过程:1、算法与数据结构设计;2、源程序编辑(用程序语言将算法描述出来并输入到计算机里的过程即为编辑过程);3、编译;4、连接;5、测试;6、调试(找到bug并下修改正确)

三、信息的表示和存储

计算机基础功能:算术功能、逻辑功能

计算机中信息:控制信息(指挥计算机工作)、数据信息(计算机程序加工对象),其中数据信息包括数值信息(定点数、浮点数)、非数值信息(字符数据、逻辑数据)

信息的存储单位:1、位(bit,b,比特),数据的最小单位,表示一位二进制信息;2、字节(Byte,B),八位二进制数字组成,1 bit=8 byte;3、千字节(KB),1KB=1024B;4、兆字节(MB),1MB=1024KB;5、吉字节(GB),1GB=1024MB;

四、计算机的数字系统

二进制系统,进位原则是逢2进1,基数2,基本符号,0和1

八进制,进位原则是逢八进一,基数8,基本符号,0、1、2、3、4、5、6、7

十进制,进位原则是逢10进1,基数10,基本符号,0、1、2、3、4、5、6、7、8、9

十六进制,进位原则是逢16进1,基数16,基本符号,0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

设十进制以外的进制为R,十进制为S

  • 非十进制转换成十进制方法,即R----->S,方法是各位数字与它的权相乘,其积相加,例如,(11111111.11)2  = 1x2的7次方+1x2的6次方+1x2的5次方+1x2的4次方+1x2的3次方+1x2的2次方+1x2的1次方+1x2的0次方+1x2的-1次方+1x2的-2次方=(255.75)10
  • 十进制转换成其他进制整数,即S--------->R,方法是除以R取余法,即除R取余数,直到商为0,余数由下而上排列

  • 十进制转换成其他进制小数,即S--------->R,方法是乘以R取整法,即将纯小数部分乘以R取整数,直到小数的当前值为0或满足所要求的的精度即可,最后将得到的乘积的整数部分由上而下排列
  • 二进制转八进制,因2的3次方=8,所以二进制的3位=八进制的1位相对应,以小数点为界,将整数部分从右向左每3位一组,最高组不足3位时,最左端添0补足3位,小数部分从左向右,每3位一组,最低一组不足3位时,最右端添0补足3位
  • 二进制转16进制,因2的4次方=16,所以二进制的4位=十六进制的1位相对应,以小数点为界,将整数部分从右向左每4位一组,最高组不足4位时,最左端添0补足4位,小数部分从左向右,每4位一组,最低一组不足4位时,最右端添0补足3位

基础知识扩展

按某种进位规则进行计数称为进位计数制,简称数制,常用的数制有十进制,二进制、八进制和十六进制,一种进位计数制包含一组数码符号和三个基本因素

数码符号是指一组用来表示某种数制的符号,例如二进制的数码是0和1

基数是指该进制中允许选用的基本数码的个数,例如十进制有10个数

数位是指一个数中每一个数字所处的位置

位权为一个固定值,在某种进位计数制中,每个位数上的数码所代表的数值的大小,等于在这个数位上的数码乘上一个固定的数值,这个固定的数值就是这种进位计数制中该数位上的位权

十进制的位权是10的整数次幂,二进制的位权是2的整数次幂,八进制的位权是8的整数次幂,十六进制的位权是16的整数次幂

表示形式:二进制为B,八进制为O,十进制为D,十六进制为H

五、数据的编码表示

负数如何表示:

原码:”符号一绝对值”表示的编码,0表示“+”,1表示“-”,缺点是0的表示不唯一,且进行四则运算时,符号位需单独处理,运算规则复杂

模数:n位二进制整数的模数为2的n次方,n位小数的模数为2

补数:一个数减去另一个数(加一个负数)等于第一个数加第二个数的补数

反码:作为中间码,反码的计算规则是(负整数)原码的符号位最高位不变(仍是1),其余1变0,0变1所得到的反码,(正整数)原码就是反码、补码

补码的计算规则:负数补码=反码末尾加1

补码优点:0的表示唯一,符号位可以作为数值参与运算,减法运算可以转换为加法运算

如果负数之和得正数,正数之和得负数,说明运算结果溢出

表示实数的方法有两种,一种是定点方案(小数点不动,缺陷是无法表示特别大和特别小的数),一种是浮点方案(小数点浮动的方式,N=M*2的E次方,E是2的幂次,称数N的阶码,反映了该浮点数所表示的数据范围,M是N的尾数,其位数反映了数的精度)

字符在计算机中的表示:

字符在计算机中通过编码表示

ASCⅡ码:常用的西文字符编码,7位二进制数表示一个字符,最多可表示2的7次方=128个字符

汉字编码:中国国家标准,《GB 18030-2005 信息技术中文编码字符集》













你可能感兴趣的:(程序设计基础)