讨论区讨论详情

【暑期班】C++程序设计基础
2016-08-05 16:16:52

            第一章.绪论

一、计算机系统

l  计算机系统由硬件、软件组成;

l  指令系统是硬件和软件的界面。

二、计算机语言和程序设计方法

l  计算机语言                                   

n  程序员与计算机沟通的语言;

n  描述解决问题的方法和相关数据。

l  计算机语言的级别

n  二进制代码构成的机器语言;

n  使用助记符的汇编语言;

n  使用类似英语单词和语句的高级语言;

n  C++是面向对象的高级语言

l  C++支持的程序设计方法

n  面向过程的程序设计方法;

n  面向对象的程序设计方法;

n  泛型程序设计方法。

三、C++程序的开发过程

l  算法设计

l  源程序编辑

l  编译

l  连接

l  运行调试

四、信息在计算机中的表示与存储

l  计算机中的数据用二进制表示;

l  逻辑数据、字符数据用二进制编码表示。

 

计算机系统基本概念

计算程序语言

l  计算机解决问题是程序控制的;

l  程序就是操作步骤;

l  程序要使用语言来表达。

机器语言

l  计算机能识别的是机器语言;

l  机器语言指令是由01编码的;

l  例如:

加法指令可能是0001

计算机指令系统

l  机器硬件能够识别的语言(机器语言)的集合;

l  它是软件和硬件的主要界面。

计算软件

l  是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件;

l  软件包括程序和文档。

计算机程序

l  指令的序列;

l  描述解决问题的方法和数据。

 

计算机语言和程序设计方法

最初的计算机语言——机器语言

l  由二进制代码构成

l  计算机硬件可以识别

l  可以表示简单的操作

l  例如:加法、减法、数据移动等等

汇编语言

l  将机器指令映射为助记符

n  ADDSUBmov等;

l  抽象层次低,需要考虑机器细节。

高级语言

l  关键字、语句容易理解;

l  有含义的数据命名和算式;

l  抽象层次较高;

n  例如,算式:a+b+c/d

l  屏蔽了机器的细节;

例如,这样显示计算结果:cout<<a+b+c/d

C++语言

l  是高级语言

l  支持面向对象的观点和方法

n  将客观事物看做对象

n  对象间通过消息传送进行沟通

n  支持分类和抽象

面向过程的程序设计方法:

l  机器语言、汇编语言、高级语言都支持;

l  最初的目的:用于数学计算;

l  主要工作:设计求解问题的过程。

l  大型复杂的软件难以用面向过程的方式编写

面向对象的程序设计方法:

l  由面向对象的高级语言支持;

l  一个系统由对象构成;

l  对象之间通过消息进行通信

 

面向对象的基本概念

对象

l  一般意义上的对象:现实世界中实际存在的事物。

l  面向对象方法中的对象:程序中用来描述客观事物的实体。

抽象与分类

l  分类依据的原则——抽象;

l  抽象出同一类对象的共同属性和行为形成类;

l  类与对象是类型与实例的关系。

封装

l  隐蔽对象的内部细节;

l  对外形成一个边界;

l  只保留有限的对外接口;

l  使用方便、安全性好。

继承

l  意义在于软件复用;

l  改造、扩展已有类形成新的类。

多态

l  同样的消息作用在不同对象上,可以引起不同的行为。

 

程序的开发过程

程序

l  源程序:

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

l  目标程序:

n  源程序通过翻译程序加工以后生成的机器语言程序;

l  可执行程序:

n  连接目标程序以及库中的某些文件,生成的一个可执行文件;

n  例如:Windows系统平台上的.EXE文件。

三种不同类型的翻译程序

l  汇编程序:

n  将汇编语言源程序翻译成目标程序;

l  编译程序:

n  将高级语言源程序翻译成目标程序;

l  解释程序:

n  将高级语言源程序翻译成机器指令,边翻译边执行。

C++程序的开发过程

l  算法与数据结构设计;

l  源程序编辑;

l  编译;

l  连接;

l  测试;

l  调试

 

计算机中的信息与存储单位

计算机的基本功能

l  算术运算;

l  逻辑运算。

计算机中信息:

l  控制信息——指挥计算机操作;

l  数据信息——计算机程序加工的对象。

 

 

信息的存储单位

l  (bitb):数据的最小单位,表示一位二进制信息;

l  字节(byteB):八位二进制数字组成(1 byte = 8 bit)

l  千字节    1 KB = 1024 B

l  兆字节    1 MB = 1024 K

l  吉字节    1 GB = 1024 M

 

数据在计算机中的编码表示

二进制数的编码表示

l  需要解决的问题:负数如何表示?

l  最容易想到的方案:

0:表示“+”号;

1:表示“-”号。

l  原码

n  "符号──绝对值"表示的编码

例如:

n  原码的缺点:

u  零的表示不惟一

[+0] =000...0

[-0] =100...0

u  进行四则运算时,符号位须单独处理,运算规则复杂。

l  补码

n  符号位可作为数值参加运算;

n  减法运算可转换为加法运算;

n  0的表示唯一。

l  补码的原理

n  模数:

n位二进制整数的模数为 2n

n位二进制小数的模数为 2

n  补数:

u  一个数减去另一个数(加一个负数),等于第一个数加第二个数的补数,例(时钟指针): 8+(-2)=8+10 ( mod  12 )=6

u  一个二进制负数可用其模数与真值做加法 (模减去该数的绝对值) 求得其补码,例(时钟指针):-2+12=10

l  补码的计算

n  借助于“反码”作为中间码;

n  负数的反码与原码有如下关系:

符号位不变(仍用1表示),其余各位取反(0110),例如:

X=-1100110    [X] =1 1100110    [X] =1 0011001

n  正数的反码与原码表示相同,正数的补码与原码相同;

n  反码只是求补码时的中间码;

n  负数的补码由该数反码的末位加 1 求得。

n  对补码再求补即得到原码。

l  补码的优点:

n  0的表示唯一;

n  符号位可作为数值参加运算;

n  补码运算的结果仍为补码。

实数的浮点表示

l  计算机中通常采用浮点方式表示小数;

l  实数 N 用浮点形式可表示为: N=M×2E

E2的幂,N:阶码;

MN的尾数。

字符在计算机中的表示

l  字符在计算机中是通过编码表示的;

l  例如:

ASCII码是一种常用的西文字符编码:用7位二进制数表示一个字符,最多可以表示27=128个字符;

l  GB 18030-2005 信息技术 中文编码字符集》是中国国家标准。

回复:

还没有人发言哦,来抢沙发吧~

请先登录

说点什么吧~

学堂公告

各位MOOCer大家好 (^-^)V

欢迎来到学堂在线广场~

在这里你可以玩活动,看资讯,晒笔记。

还可以交学友、发心情、聊人生。

在学堂的每一天,就从这里开始吧!

点击 广场指南 了解更多

推荐活动

我要举报
提交