C++绪论

1.1计算机程序设计语言的发展
计算机程序:
计算机的工作是用程序来控制的
程序是指令的集合
指令是计算机可以识别的命令

机器语言:由计算机硬件系统可以识别的二进制指令组成的语言
汇编语言将机器指令映射为一些可以被人读懂的助记符,如ADD(加)和sub(减)
高级程序语言:C
面向对象的语言:是高级程序语言,将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性和行为,形成类,通过类的继承与多态
实现代码重用

面向对象方法的由来:由面向过程的程序设计方法来的
封装:把对象的属性和服务结合成一个独立的系统单元,尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口始之与外部发生联系

继承对于软件复用有着重要的意义
定义:特殊类的对象拥有一般类的全部属性与服务,称作特殊类对一般类的继承

多态性:使得同一个属性和行为在一般类及其各个特殊类中具有不同的语义

测试和维护时软件工程中的重中之重

基本术语:
源程序:用源语言写的,有待翻译的程序(.cpp)
目标程序:也成为“结果程序”,是源程序通过翻译程序加工以后生成的程序
翻译程序:是指一个把源程序翻译成等价的目标程序的程序
三种不同类型的翻译程序:
汇编程序:把汇编语言写成的源程序,翻译成机器语言形式的目标程序
编译程序:若源程序使用高级程序设计语言所写,经翻译程序加工成莫表程序,那么,该翻译程序就成为“编译程序”
翻译完再执行
解释程序:也是一种翻译程序,边翻译边执行

程序的开发过程:
编辑:将源程序输入计算机中,生成后缀名为cpp的磁盘文件
编译:将程序的源代码转换为机器语言代码
连接:将对个源程序文件以及库中的某些文件连在一起,生成一个后缀名为exe的可执行文件
运行调试:
C++程序开发过程

信息的表示和存储:
信息分类
1.R 进制→十进制
各位数字与它的权相乘,其积相加。
例如:
(11111111.11)2=1×27+1×26+1×25+1×24
+1×23+1×22+1×21+1×20+1×2-1+1×2-2
=(255.75)10
(3506.2)8=3×83+5×82+0×81+6×80+2×8-1
=(1862.25)10
(0.2A)16=2×16-1+10×16-2=(0.1640625)10
2.十进制→ R 进制
十进制整数转换成R进制的整数
“除R取余”法,例如:
2 68 余 数
2 34 ┄┄┄┄┄┄┄┄┄┄┄ 0 低位
2 17 ┄┄┄┄┄┄┄┄┄┄┄ 0
2 8 ┄┄┄┄┄┄┄┄┄┄┄ 1
2 4 ┄┄┄┄┄┄┄┄┄┄ 0
2 2 ┄┄┄┄┄┄┄┄┄┄ 0
2 1 ┄┄┄┄┄┄┄┄┄ 0
0 ┄┄┄┄┄┄┄┄┄ 1 高位
所以 6810
=10001002
3.十进制→ R 进制(续)
十进制小数转换成R进制小数
“乘 R 取整”法,例如:
高位
0.3125 ×2 = 0 .625
0.625 ×2 = 1 .25
0.25 ×2 = 0 .5
0.5 ×2 = 1 .0
所以 0.312510
= 0.01012
需要注意的是,十进制小数常常不能准确地换算为等值的二进制小数(或其他R进制数),有换算误差存在。

4、十六进制的相互转换
• 每位八进制数相当于三位二进制数
• 每位十六进制数相当于四位二进制数
(1011010.10)2=(001 011 010 .100)2
=(132.4)8
(1011010.10)2=(0101 1010 .1000)2
=(5A.8)16
(F7)16
=(1111 0111)2=(11110111)2

信息的存储单位
• 位(bit,b):度量数据的最小单位,表示一位二
进制信息。
• 字节(byte,B):由八位二进制数字组成(1 byte
= 8 bit)。
千字节 1 KB = 1024 B
兆字节 1 MB = 1024 K
吉字节 1 GB = 1024 M
•字(Word):字是位的组合,并作为一个独立的信息单位处理。字又称为计算机字,它的含义取决于机器的类型、字长以及使用者的要求。常用的固定字长有8位、16位、32位等。
信息单位用来描述机器内部数据格式,即数据(包括指令)在机器内的排列形式,如单字节数据、可变长数据(以字节为单位组成几种不同长度的数据格式)等。
•机器字长:在讨论信息单位时,还有一个与机器硬件指标有关的单位,这就是机器字长。机器字长一般是指参加运算的寄存器所含有的二进制数的位数,它代表了机器的精度,如32’位、64位等。

二进制数的编码表示:原码
• "符号──绝对值表示"的编码
例如:
X=+0101011 [X]原= 0 0101011
X=-0101011 [X]原= 1 0101011
符号位
• 缺点:
▫ 零的表示不惟一:
[+0]原 =000…0 [-0]原 =100…0
▫ 进行四则运算时,符号位须单独处理,且运算规则
复杂

二进制数的编码表示:反码
• 正数的反码与原码表示相同。
• 负数的反码与原码有如下关系:
符号位相同(仍用1表示),其余各位取反(0变1,1变
0)。例如:
X=-1100110 [X]原 =11100110 [X]反 =10011001
X=+0000000 [X]原 =00000000 [X]反 =00000000
• 反码中零的表示也不惟一
X=-0000000 [X]原 =10000000 [X]反 =11111111
• 反码只是求补码的中间码

二进制数的编码表示:补码(续)
• 计算机中的补码表示法
▫ 负数的补码由该数反码的末位加 1 求得
▫ 对补码再求补即得到原码
▫ 正数的原码、反码、补码形式相同
例: X =-1010101 X =-0.1011
[X]原=11010101 [X]原= 1.1011
[X]反=10101010 [X]反= 1.0100
[X]补=10101011 [X]补= 1.0101
验证补码求补是否得到原码
当X为纯小数时,反码表示如下:
X=0. 1011 [X】原=0. 1011 [X】反 =0. 1011
x=-0.1011 [X]原= 1.1011 [X]反=1.0100

• 补码运算规则
▫ 符号位可作为数值参加运算
▫ 减法运算可转换为加法运算:
加上一个负数等于加上该数的补码
▫ 补码运算的结果仍为补码
▫ 运算结果溢出:
负数之和得正数,或正数之和得负数

非数值信息的表示
• 西文字符:
▫ ASCII码:用7位二进制数表示一个字符,最多可以
表示27=128个字符
▫ EBCDIC码:用8位二进制数表示一个字符,最多可
以表示28=256个字符
• 汉字:
▫ 应用较为广泛的是"国家标准信息交换用汉字编码
"(GB2312-80标准),简称国标码。是二字节码,用
二个七位二进制数编码表示一个汉字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值